
NOI
qpswwww
这个作者很懒,什么都没留下…
展开
-
[BZOJ 2435][NOI 2011]道路修建
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2435 大水题,无根树随便找个点当成根然后DFS出一个有根树,统计下每个子树的大小,然后扫一遍树边统计答案就OK了。本来可以做到1A的,没想到在int赋值给long long时还要加个强制转换,结果贡献2个WA,什么鬼啊,教训一定要切记!代码#include <stdio.h>#includ原创 2015-02-22 16:39:09 · 762 阅读 · 0 评论 -
[BZOJ 1564][NOI 2009]二叉查找树(DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1564思路看上去此题似乎并不好做,但是注意到,这个二叉查找树就是一个treap,而且这个treap在权值上看是个小根堆,在键值上看,键值的前序遍历是升序的。因此该二叉查找树的前序遍历显然是固定的。而且由于初始时每个结点的键值和权值互不相同,且要求修改后权值仍然互不相同,实际上我们可以认为修改后完原创 2015-04-26 20:53:41 · 1012 阅读 · 0 评论 -
[BZOJ 1415][NOI 2005]聪聪和可可(SPFA+概率DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1415思路根据题目要求,聪聪每次从旧点uu移动到新点vv,vv是uu到可可当前所在的点TT的最短路径上,与uu相邻的那个点,并且若存在多条最短路径,vv的编号一定是所有满足条件的vv中最小的。而且在一步之内,聪聪可以先跳到当前点uu的一个后继u′u'上,若u′u'不是TT,则聪聪可以再从u′u'原创 2015-04-25 15:39:57 · 875 阅读 · 0 评论 -
[BZOJ 2437][NOI 2011]兔兔与蛋蛋(二分图匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2437思路很容易发现整个游戏过程就是两个人依次移动棋盘上的唯一的那个空格。对整个棋盘进行黑白染色,假设空格是黑色格子(如下图中的被蓝色框出的’X’格子),并把空格看作’X’棋子,可以发现空格的移动轨迹是由黑格子上的’X’、白格子上的’O’交错的,如下图 我们定义黑白染色后,起点空格为黑格子原创 2015-04-29 16:42:25 · 1992 阅读 · 0 评论 -
[BZOJ 1499][NOI 2005]瑰丽华尔兹(DP+单调队列优化)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1499思路一个很显然的O(nmT)O(nmT)的做法就是令f[t][i][j]f[t][i][j]表示时刻tt时,钢琴位于(i,j)(i,j)处时,从时刻11到tt的最长滑行路程。很容易得到DP方程 f[t][i][j]=max{f[t−1][i][j],f[t−1][ilast][jlast原创 2015-04-25 11:11:33 · 1562 阅读 · 0 评论 -
[BZOJ 1494][NOI 2007]生成树计数(状压DP+最小表示法+矩阵乘法)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1494思路由于每个点ii只能和点i−Ki-K到i−1i-1连边,因此点i−K+1i-K+1和其前面的所有点一定是都在同一个联通块。因此我们只需要用一个长度为KK的序列来表示点i−K+1i-K+1到点ii的连通性,而其他的点一定是连通的,就不必表示连通性了。这个连通性的序列可以用最小表示法压缩成一原创 2015-04-29 09:54:25 · 2197 阅读 · 0 评论 -
[BZOJ 1509][NOI 2003]逃学的小孩(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1509题目大意要从一棵树中找出三个点X,Y,ZX,Y,Z,使得min(dis[A][C],dis[B][C])+dis[A][B]\min(dis[A][C],dis[B][C])+dis[A][B]最大,求这个最大值思路大部分的做法都是基于枚举分叉点的树上DP。这种做法非常好想,但是还是有些难原创 2015-04-29 20:38:10 · 1017 阅读 · 0 评论 -
[BZOJ 1407][NOI 2002]Savage(中国剩余定理+扩展欧几里得)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1407思路由于此题里n n的范围很小,因此可以直接从小到大暴力枚举洞穴个数m m(注:此题并不满足二分的性质),那么问题转变为一个判定性问题:已知m m,问所有野人在它们的有生之年里是否会出现冲突。直接暴力枚举野人i i和j j,我们要求他们俩第一次相遇的时间x x,容易构造一个同余式(step原创 2015-04-27 10:02:45 · 1865 阅读 · 2 评论 -
[BZOJ 2109/BZOJ 2535][NOI 2010]航空管制(贪心)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2109思路很容易发现其实就是给了一个有向图,在这个有向图上做拓扑序,并限制某些点ii必须在某个区间[1,Ki][1,K_i]中,第一问就是求一个合法的拓扑序,第二问则是求对于每个点ii,问ii在拓扑序中最早在什么位置出现。网上的做法很多,但是有些做法能过BZOJ 2535却过不了2109?(这些原创 2015-04-27 19:01:44 · 2168 阅读 · 0 评论 -
[BZOJ 1505][NOI 2004]小H的小屋(DP优化)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1505思路用g[i][j]g[i][j]表示南方向上,xx轴方向上长度为ii的区间,划分成jj个矩形的最小面积。f[k][i][j]f[k][i][j]表示xx轴方向上长度为kk的区间,北方向上放ii个矩形,南方向上放jj个矩形的最小面积。可以得到下面的dp方程 g[i][j]=mini′<i原创 2015-04-30 10:06:55 · 1372 阅读 · 0 评论 -
[BZOJ 1867][NOI 1999]钉子和小球(DP水题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1867思路用f[i][j]f[i][j]代表小球落到第ii行第jj个格子上的概率。很容易得到DP方程 f[i+1][j]+=12f[i][j],f[i+1][j+1]+=12f[i][j],(i,j)是钉子f[i+1][j]+=\frac 1 2 f[i][j],f[i+1][j+1]+=\f原创 2015-04-30 08:06:54 · 967 阅读 · 0 评论 -
[BZOJ 2433][NOI 2011]智能车比赛(计算几何+动态规划)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2433思路一个很显然的O(n3)O(n^3)做法:每个矩形上有四个顶点,首先暴力枚举定点对(i,j)(i,j),再枚举其他的点,叉积判断是否有矩形与矩形的连接处卡住了直线ijij,若没有被卡,那么在图中连ii到jj的无向边,边权为两点间的距离。然后随便用个什么最短路算法求出起点到终点的最短路就可原创 2015-04-28 09:11:23 · 1216 阅读 · 0 评论 -
[BZOJ 1913][APIO 2011]信号覆盖(计算几何)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1913思路很容易发现,最终的答案为 每种方案在圆上和圆中的点的个数C3n(总方案数)\frac{每种方案在圆上和圆中的点的个数}{C_n^3(总方案数)} 其实我们可以无视掉确定下圆的那三个点,那么答案可以表示为 ansC3n(总方案数)+3\frac{ans}{C_n^3(总方案数)}+原创 2015-04-28 11:55:35 · 1707 阅读 · 1 评论 -
NOI 2014简要题解
Day 1.Problem A. 起床困难综合症100分做法:把数字看成二进制数。对于初始攻击力,我们将其拆成32位,并求出每一位为0和1时经过所有防御门之后分别得到的数字。然后就是按位贪心了,我们尽量让初始攻击力的高位在经过所有防御门后变成1而不是0,根据这一贪心思想,剩下要做的就是个很简单的数位贪心问题了。#include <stdio.h>#include <stdlib.h>#inclu原创 2015-07-09 17:15:10 · 2433 阅读 · 0 评论 -
[BZOJ 2436][NOI 2011]NOI嘉年华(DP优化)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2436思路这个题做起来很复杂很繁琐。。。以下思路整理自http://blog.youkuaiyun.com/whjpji/article/details/7547159 首先将所有的区间离散化,这一步很好实现。 然后就是求三个数组num[i][j],pre[i][j],suf[i][j]num[i][j原创 2015-04-24 21:42:32 · 2153 阅读 · 0 评论 -
[BZOJ 3240][NOI 2013]矩阵游戏(数学+乘法逆元)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3240思路考虑在同一行ii,从最左边的列11到最右边的列mm递推: fi,m=am−1fi,1+b1−am−11−a(a≠1)f_{i,m}=a^{m-1}f_{i,1}+b\frac{1-a^{m-1}}{1-a}(a\neq 1) fi,m=1+(m−1)b(a=1)f_{i,m}=1+原创 2015-04-24 09:18:24 · 1158 阅读 · 0 评论 -
[省选前题目整理][BZOJ 1502]月下柠檬树(Simpson积分)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1502思路http://blog.youkuaiyun.com/qpswwww/article/details/44204425代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include原创 2015-04-08 11:53:08 · 673 阅读 · 0 评论 -
[BZOJ 1563][NOI 2009]诗人小G(四边形优化DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1563思路定义每行的标准长度为limitlimit,设f[i]=前i句诗的最小代价,则f[i]=min{f[j]+(∑ik=j+1lenk+i−j−1−limit)p}f[i]=前i句诗的最小代价,则f[i]=min\{f[j]+(\sum_{k=j+1}^{i}len_k+i-j-1-limi原创 2015-02-22 21:59:42 · 1049 阅读 · 0 评论 -
[BZOJ 1562][NOI 2009]变换序列(二分图匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1562题目大意有一个长为n的长为n的序列AA,对于任意的Ai,1<=i<=n,1<=Ai<=n,且对于任意的1<=i,j<=n,i!=j,Ai!=AjA_i,1<=i<=n,1<=A_i<=n,且对于任意的1<=i,j<=n,i!=j,A_i!=A_j。对其中每个元素进行加did_i modmo原创 2015-02-22 19:49:55 · 1351 阅读 · 0 评论 -
[BZOJ 2007][NOI 2010]海拔(平面图最小割)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2007题目大意求一个长得像网格一样的图的最小割思路显然这个网格一样的图是个平面图,此题如果裸上最大流算法的话会T掉最后2个点(网友说的,我没试过),平面图最小割=最短路,据网友说,上带堆优化的dij比较好,SPFA最后2个点很慢。 然后就是建图问题了,我强烈推荐采用不建图的方式跑最短路,大家都原创 2015-02-22 15:29:56 · 603 阅读 · 0 评论 -
[BZOJ 1491][NOI 2007]社交网络(Floyd+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1491思路题面中的定义式非常像floyd的DP方程,而且数据范围也能过O(n3)O(n^3),显然这个题可以用类似floyd的方法来搞。。。 做两遍floyd,第一遍求出多源最短路,以及任意两点间最短路的方案数,这个比较好求,然后第二遍就是枚举点kk,求出点kk的答案,枚举i到ji到j的最短路原创 2015-03-03 19:00:48 · 668 阅读 · 0 评论 -
[BZOJ 1064][NOI 2008]假面舞会(图论+BFS)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1064题目大意给一个有向图染色,一个点的后继的颜色必须全部相同,问最多多少种颜色,最少多少种思路为了便于叙述,以下面具的种类数简称类数,图中不同的颜色代表不同类别的面具,一种面具简称一种颜色。 如果这个有向图是一棵树的话,那么树上每个点的儿子颜色必须都相同,如下图 手模下可以发现这种情况原创 2015-03-03 21:49:52 · 1441 阅读 · 0 评论 -
[BZOJ 1063][NOI 2008]道路设计(树形DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1063题面大意给一个有nn个结点的有根树,树根为点1,树上有若干条不相交的链,定义一个点的不便利值为它到根节点的路径上不属于链的边的个数,定义整棵树的不便利值为树中点的最大不便利值,求这棵树的最小不便利值,以及取最小值时的方案数。思路由题目限制任意两条链不能相交,可以发现这相当于一个点最多只能和原创 2015-03-04 16:15:32 · 826 阅读 · 0 评论 -
[BZOJ 1056][NOI 2009]管道取珠(DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1566思路设上面的珠子序列是U,下面的是L,定义一个取珠子的操作序列的状态(i,j)表示上面的U取了i个,下面的L取了j个。那么∑a2i=\sum a_i^2=对于两个不同的操作序列X、YX、Y,它们最后取出的珠子序列是一样的,这样的有序对(X,Y)(X,Y)的个数。证明如下: 假如最终取出的原创 2015-03-04 20:41:26 · 1196 阅读 · 0 评论 -
[BZOJ 1502][NOI 2005]月下柠檬树(自适应Simpson积分)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1502思路首先不会自适应Simpson积分求圆并(SPOJ CIRU)的请看我的上篇文章(http://blog.youkuaiyun.com/qpswwww/article/details/44201333)这个题同样是可以用杀人越货之利器自适应Simpson积分做出来的,首先我们很容易可以发现不管光线是原创 2015-03-11 20:40:32 · 1091 阅读 · 0 评论 -
[省选前题目整理][BZOJ 1565][NOI 2009]植物大战僵尸(最小割+最大权闭合子图建模)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1565思路最大权闭合子图建模。 在最大权闭合子图问题中,整个问题可以看成一个有向图,并存在若干关系,每个关系可以表示为选择点u,则点v也必须被选。每个点都有权值,要让选出来的点的点权之和最大。那么在这个问题中,我们可以把每个植物被吃了表示为一个点被选择了,那么我们要让最终僵尸的收益最大,就是相原创 2015-03-30 11:56:31 · 1080 阅读 · 0 评论 -
[省选前衡八题目整理][BZOJ 1503]郁闷的出纳员(Splay)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1503思路嘴巴一下还是很简单的,就是个很裸的数据结构题,要求能够支持删除、加入结点以及查询第k大数。 当然Treap和Splay都能做的啦。。。。 但是还是有很多细节要注意的,刚开始写完过了样例就交了,没想到居然WA,后来随手在查询完第k大数时把第k大数splay到根节点上去,发现这样做就过原创 2015-03-23 18:38:33 · 1148 阅读 · 0 评论 -
[省选前题目整理][BZOJ 3669]魔法森林(LCT)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3669思路这个题本来是个SPFA的题。。。但是正解不好想,倒是LCT的暴力比较好想。。。 用Kruscal的方法时刻维护一个生成树,按照a升序加边,并用LCT维护这个生成树,具体做法就是把每个边看成是LCT的结点,点也看成是LCT的结点,加入一条边时,就link一个点和边,link另一个点和边原创 2015-03-24 11:58:52 · 679 阅读 · 0 评论 -
[省选前题目整理][BZOJ 2434][NOI 2011]阿狸的打字机(AC自动机+fail树+DFS序+树状数组)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2434思路将每个打印出来的串插入AC自动机后可以发现,a串在b串中的出现次数,就是在AC自动机的fail树中a串的终止结点的子树中,包含了的b串节点的个数。 这是非常显然的,根据AC自动机的fail指针定义,一个代表前缀a的点的fail指向的前缀b,b一定是a最长的后缀。 如上图就是一个原创 2015-04-02 15:55:00 · 623 阅读 · 0 评论 -
[省选前题目整理][BZOJ 3670][NOI 2014]动物园(KMP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3670思路为了方便叙述,下面所说的前缀ii就是字符串中的区间[1,i][1,i]对应的子串根据KMP定义,next[i]=jnext[i]=j表示前缀j前缀j满足既是前缀ii的前缀,又是前缀ii的后缀,且jj是最大的。(其实题目里对此也有说明)然后我们可以根据next[]next[]数组构造一个原创 2015-04-08 10:18:02 · 1306 阅读 · 0 评论 -
[NOI 2015复习][BZOJ 1509][NOI 2003]逃学的小孩(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1509题目大意要从一棵树中找出三个点X,Y,ZX,Y,Z,使得min(dis[A][C],dis[B][C])+dis[A][B]\min(dis[A][C],dis[B][C])+dis[A][B]最大,求这个最大值思路可以发现,min里头的两个东西具体取哪个并不重要,或者说点C距离A更近还是原创 2015-07-13 10:25:27 · 1743 阅读 · 0 评论