首页 > TAG信息列表 > HNOI
HNOI 2014-2017 泛做
可以催更,但是不保证更 2017 大佬 题目描述 点此看题 解法 《关于虽然评分是黑但是我还是感觉好水并且还是要写题解这件事》 观察发现存活和攻击是两件独立的事,所以对于最优方案我们只需要求出在保证存活的情况下能拿去攻击的最大天数,这可以用一个简单的背包解决。 在判断能否击败Solution -「HNOI」EVACUATE
Sol. 可以发现人的移动除了不能穿墙以外没有别的限制。也就是说人的移动多半不是解题的突破口。 接下来会发现出口的限制很强,即出口每个时刻只能允许一个人出去。 每个时刻? 不难想到对于每一个时刻每一个门,我们单独考虑。也就是说每一个门具有三个属性,横坐标、纵坐标、时间坐标。洛谷 P4426 - [HNOI/AHOI2018]毒瘤(虚树+dp)
题面传送门 神仙虚树题。 首先考虑最 trival 的情况:\(m=n-1\),也就是一棵树的情况。这个我相信刚学树形 \(dp\) 的都能够秒掉罢(确信)。直接设 \(dp_{i,0/1}\) 在表示 \(i\) 的子树内选择,\(i\) 选/不选的方案数。转移就 \(dp_{u,0}=\prod\limits_{v\in son_u}(dp_{v,0}+dp_{v,1}),dp_HNOI 选做
[HNOI2016] 大数 考虑设 \(s[i]\) 表示 \(i\) 的后缀所代表的数膜 \(p\) 意义下的取值,那么一段区间 \([l, r]\) 膜 \(p\) 意义下的取值就是 \(\dfrac{s[l]-s[r+1]}{10^{r-l+1}}\),如果 \(p\ne 2, 5\),那么我们只需要求出有多少对 \([l, r]\) 满足 \(s[l] = s[r + 1]\) 即可,这个可以[ AHOI 2017 / HNOI 2017 ] 大佬
题目 Luogu LOJ Acwing 思路 代码 #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; const int N = 110, M = 10000010, mod = 3587201; int n, m, mc, f[N][N]; int a[N], w[N], c[N]; struct PI[ AHOI 2017 / HNOI 2017 ] 队长快跑
题目 Luogu LOJ Acwing 思路 代码 #include <iostream> #include <algorithm> #include <cmath> using namespace std; const int N = 1e6 + 10; struct PDD { double x, y; } S, T; PDD operator-(PDD a, PDD b) { return (PDD){ a.x - b.x, a.y - b.y }; }洛谷 P4437 [HNOI/AHOI2018]排列(贪心+堆,思维题)
题面传送门 开始 WA ycx 的遗产(bushi 首先可以将题目转化为图论模型:\(\forall i\) 连边 \(a_i\to i\),然后求图的一个拓扑序 \(b_1,b_2,\dots b_n\) 使得 \(\sum\limits_{i=1}^niw_{b_i}\) 最小。显然如果原图出现环就 \(-1\) 了。否则原图一定是一棵森林。 然后我就在那儿想各种乱HNOI 2016 解题报告
HNOI 2016 解题报告 Tuifei_oier 不得不说 HNOI 2016 不愧为数据结构场,几乎每道题都沾点数据结构,出现最多的算法还是莫队和分块这类根号科技。 6 题做完下来还是颇有收获的。 T1 网络 这道题还是偏重于应用,没有太套路的东西,但是用到了一个可能容易被遗忘的小 trick。 考察点:线段树HNOI 2009 无归岛 题解
题目传送门 题目大意: 求一棵仙人掌的最大独立集。 题解 这个题面真的骚……总之就是想告诉你这张图是一个大环上面套着若干个小三元环,也就是仙人掌。 那么就是一个裸的仙人掌最大独立集了,甚至不用考虑非环边,因为整张图没有一条边不在环里。 这个可以利用 dpdpdp 解决:设 f[x]【洛谷4424】[HNOI_AHOI2018]寻宝游戏(我也不知道括号里该写啥)
题目 洛谷 4424 分析 感觉思路比较神仙。 对于按位与和按位或两种运算,显然每一位是独立的,可以分开考虑。 对于某一位,「与 \(0\)」会将这一位变成 \(0\),「或 \(1\)」会将这一位变成 \(1\) ,「与 \(1\)」和「或 \(0\)」不会改变这一位的值。前两种操作会改变这一位的值,而后两种不会。HNOI 2009 有趣的数列
洛谷 P3200 [HNOI2009]有趣的数列 洛谷传送门 JDOJ 2130: [HNOI2009]有趣的数列 D1 T3 JDOJ传送门 Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}; (2)所有的奇数项满足a1<a3<…<a2n-1,所有的偶数项满【[HNOI/AHOI2018]毒瘤】
思路非常精妙的一道虚树题 简单题意:给一张图,求这张图上的独立集数量 对于一棵树的情况,可以设\(dp_{u,0/1}\)表示节点\(u\)选/不选的方案数 显然有: \[dp_{u,0}=\prod (dp_{v,1}+dp_{v,0})\] \[dp_{u,1}=\prod dp_{v,0}\] 接下来考虑非树边 正常\(dp\)的话那么转移应该是\(O(n)\)的luogu P4437 [HNOI/AHOI2018]排列
luogu 问题本质是把\(a_i\)作为\(i\)的父亲,然后如果有环就不合法,否则每次要取数,要满足取之前他的父亲都被取过(父亲为0可以直接取),求最大价值 贪心想法显然是要把权值大的尽量放在后面,这等价于把权值小的尽量放在前面.所以如果当前最小的数没有父亲,显然直接取出来最优;如果【HNOI 2019】JOJO
Problem Description JOJO 的奇幻冒险是一部非常火的漫画。漫画中的男主角经常喜欢连续喊很多的「欧拉」或者「木大」。 为了防止字太多挡住漫画内容,现在打算在新的漫画中用 \(x\) 欧拉或者 \(x\) 木大表示有 \(x\) 个欧拉或者木大。 为了简化内容我们现在用字母表示喊出的话。 我[HNOI/AHOI2018]转盘 题解
题目链接 题意: 给你一个\(n\)元环,你可以在0时刻从任意一个位置出发,每一秒可以选择往后或者留在原地 每个点有个参数\(T_i\),当你走到\(i\)的时间\(t>=T_i\)时你就可以把i标记 问你把整个环上的点都标记最小需要多长时间,带修改\(T_i\),强制在线 好难的题。 首先,有等待操作不太好弄。HNOI 排队
某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 只有一行且为用空格隔开的两个非负整数 n 和 m,其含义如上所述。对于 30%的数据 n≤100,m≤100对于 100%的「HNOI 2019」白兔之舞
一道清真的数论题 LOJ #3058 Luogu P5293 题解 考虑$ n=1$的时候怎么做 设$ s$为转移的方案数 设答案多项式为$\sum\limits_{i=0}^L (sx)^i\binom{L}{i}=(sx+1)^L$ 答案相当于这个多项式模$ k$的各项系数的和 发现这和LJJ学二项式定理几乎一模一样 我上一题的题解 然而直接搞是$ kAFO
Farewell OI 关于失败的总结(看起来似乎毫无意义): 1、会的东西太少了,有什么东西不会最好还是趁着年轻去学一学吧。 2、弄错了竞赛的本质,竞赛终究还是比智商的,然而我竟然用智商去换知识储备了,如果NOIP到HNOI这五个月我都有好好睡觉的话我觉得我也不至于会如此狼狈。 3、说到的东西就一[HNOI/AHOI2018]毒瘤
[Luogu4426] [LOJ2496] 题解 #include<cstdio> #include<cstring> #define debug(...) fprintf(stderr,__VA_ARGS__) #define Debug(x) cout<<#x<<"="<<x<<endl using namespace std; typedef long long LL; const int INF=1e9+7HNOI 2017 礼物
我的室友最近喜欢上了一个可爱的小女生。马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她。每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度。但是在她生日的前一天,我的室友突 然发现他好像拿错了一个手环,而且已经没时间去更换它了!他只能使用一种特殊的HNOI 世界树 虚树
//virtual tree/*Huyyt*/#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof(a))#define TS cout<<"!!!"<<endlusing namespace std;typedef long long ll;typedef unsigned long long ull;const double eps = 1e-8;const int dir[8][2][HNOI/AHOI2018]排列
[Luogu4437] 如果\(a[i]=j\)则序列\(p[]\)中\(j\)必须排在\(i\)前面,如果\(j\)不在范围内则不管,求一个式子\(\sum_{i=1}^n iw_{p[i]}\)的最大值 考虑建出一个图,连边\(k=a_j\to j\)方向表示顺序,这样\([1,n]\)每个点的入度都会是\(1\) 如果有环那么就无解,否则这个图就是一棵以\(0【HNOI 2018】排列
Problem Description 给定 \(n\) 个整数 \(a_1, a_2, \ldots , a_n(0 \le a_i \le n)\),以及 \(n\) 个整数 \(w_1, w_2, …, w_n\)。称 \(a_1, a_2, \ldots , a_n\) 的一个排列 \(a_{p[1]}, a_{p[2]}, \ldots , a_{p[n]}\) 为 \(a_1, a_2, \ldots , a_n\) 的一个合法排列,当且仅当该【HNOI 2018】游戏
Problem Description 一次小 \(G\) 和小 \(H\) 在玩寻宝游戏,有 \(n\) 个房间排成一列,编号为 \(1,2,…,n\),相邻房间之间都有 \(1\) 道门。其中一部分门上有锁(因此需要对应的钥匙才能开门),其余的门都能直接打开。 现在小 \(G\) 告诉了小 \(H\) 每把锁的钥匙在哪个房间里(每把锁有且只有[HNOI 2011] 数学作业
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2326 [算法] .矩阵乘法即可 时间复杂度 : O(logN) [代码] #include<bits/stdc++.h>using namespace std;typedef long long ll;typedef long double ld