
传统题
qpswwww
这个作者很懒,什么都没留下…
展开
-
[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 1006][HNOI2008]神奇的国度(弦图染色、最大势算法)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1006题目大意给一个弦图染色,要求每个点与其所有邻居颜色不一样,求染色的最少色数。题目思路一个很裸的求弦图染色色数的题,根据CDQ论文中的证明(见http://wenku.baidu.com/view/07f4be196c175f0e7cd13784.html Page 69),可知一个弦图染色原创 2015-02-21 21:45:51 · 1357 阅读 · 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 2338][HNOI 2011]数矩形(计算几何)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2338思路代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#include <cmath>#define MAXN 1520using namespace std;typedef原创 2015-02-22 10:54:55 · 665 阅读 · 0 评论 -
[POJ 3694]Network(Tarjan+并查集+LCA 动态加边求图中桥的个数)
题目链接http://poj.org/problem?id=3694题目来源2008 Asia Hefei Regional Contest Online,by USTC题目大意维护一张图中桥的个数,支持动态加边(加边次数为qq次)。 1≤|V|≤100000,1≤|E|≤200000,1≤q≤10001≤|V|≤100000,1≤|E|≤200000,1≤q≤1000思路对于初始的图,用tarj原创 2015-02-21 11:55:39 · 1182 阅读 · 0 评论 -
[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 2004][HNOI 2010]Bus 公交线路(矩阵快速幂加速DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2004思路用f[i][S]表示最快的公交车到了第i个公交车站,当前所有站台是否停靠公交车的状态为S,\(S中第k位为1表示第k个车站上停了公交车,否则就是没停公交车)的方案数f[i][S]表示最快的公交车到了第i个公交车站,当前所有站台是否停靠公交车的状态为S,\(S中第k位为1表示第k个车站上原创 2015-02-23 20:58:56 · 2022 阅读 · 0 评论 -
[BZOJ 2339][HNOI 2011]卡农(组合数学)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2339思路深感自己的数学有多么的弱。。。。完了完了。。。赶快回去补MO去 用f[i]来表示前i段的合法方案数,g[i]=Ai2n−1=(2n−1)(2n−2)...(2n−i+1),g[i]没有实际意义,后面会对它作解释f[i]来表示前i段的合法方案数,g[i]=A_{2^n-1}^i=(2^原创 2015-02-24 21:24:25 · 1427 阅读 · 0 评论 -
[BZOJ 3675][APIO 2014]序列分割(斜率优化DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3675思路这题不是很难,但是坑了我一个下午+半个晚上才做出来,郁闷 首先设f[i][k]=长度为i的序列,划分了k次f[i][k]=长度为i的序列,划分了k次得到的分数,sum[i]=∑it=1Atsum[i]=\sum_{t=1}^i{A_t},即序列AA的前缀和 很容易推出DP方程:原创 2015-02-25 19:35:19 · 2004 阅读 · 1 评论 -
[BZOJ 1912][APIO 2010]patrol 巡逻(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1912题目大意给一棵树,求加kk条边之后,从1号点遍历每个点之后再回到1号点的最小距离和。k=1或2k=1或2思路如果不加边,那么遍历走过的距离显然是2(n−1)2(n-1)。注意到一个很有意思的限制:k=1或2k=1或2。那么可以分类讨论以下两种情况 1、k=1k=1,很显然最优的方法就是在原创 2015-02-25 11:32:07 · 2080 阅读 · 0 评论 -
[BZOJ 3576][HNOI 2014]江南乐(SG博弈)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3576思路显然是个SG博弈。 以下内容转自http://blog.youkuaiyun.com/gromah/article/details/27326991: 对于10分的数据:明显当石子数大于1时,先手胜。因为只有一堆,先手只要把石子全拆成只有1个的若干堆就赢了,但如果本来就只有1个石子,就是后手原创 2015-02-25 21:48:10 · 1353 阅读 · 0 评论 -
[BZOJ 1853][SCOI 2010]幸运数字(容斥原理+DFS)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1853思路我们可以先求出[1,r][1,r]范围内形如6…68…86…6这样符合题意的数的升序序列AA,然后对于任意的i<j,Aj=kAii<j,A_j=kA_i,删去AjA_j,那么我们就能得到一个新的升序数列BB,在这个序列中,没有一个数是另一个数的倍数。 然后很显然就是容斥了,最终的答案原创 2015-02-26 10:22:19 · 799 阅读 · 0 评论 -
[清橙A1363][THUSC 2012]水位(并查集+高精度压位)
题目链接http://www.tsinsen.com/A1363题目大意给一个n×nn×n大小的、每个格子具有高度的棋盘(姑且看作是个沙盘模型吧)灌水,求这个棋盘灌水后的状态种数。思路这个题实在太神了,我跪了半个上午+一个下午才AC,跪跪跪 首先我们可以想到,可能由于某些格子组成的“墙”的阻挡,水被分成了若干个小水池,这些水池之间是互不影响的,一个水池水位高一点、低一点不会另一个水池造成任何影响,原创 2015-02-26 18:38:26 · 1140 阅读 · 0 评论 -
[BZOJ 2728][HNOI 2012]与非(并查集+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2728思路其实这个与非真的很神奇啊,它可以覆盖与、或、非、亦或四种运算,这个可以手玩出来(本渣太懒没试过。。。)。那么这样的话,不管AiAi中某一位是0还是1,每个AiAi选了多少次,最终的答案中的这一位既有可能是1,也有可能是0,但是某个数是否能被与非出来还是有限制的,观察到如果对于任意的Ai原创 2015-02-27 16:29:33 · 959 阅读 · 0 评论 -
[BZOJ 2727][HNOI 2012]双十字(树状数组+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2727思路这个题好难啊啊啊啊啊啊啊啊啊啊啊啊啊,花了我半天的时间去研究vfk和ydc的题解才算大概搞懂 因为题目描述非常坑爹,竟然没有说R、CR、C各自的范围,只是说了R∗CR*C的大小,因此我们只能开个1e6的一维数组,把二维的东西都压到一维里,这个比较好实现(以下用array[i,j]来表原创 2015-02-27 19:56:52 · 920 阅读 · 2 评论 -
[BZOJ 2730][HNOI 2012]矿场搭建(Tarjan求割点与桥+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2730思路这篇题解是我一个月之前写的,为了凑齐HNOI 2012 Day1的题解所以又发了一遍,23333注意到点双联通分量的性质:去掉点双中任意一个点,点双中其他点仍然双联通。因此可以发现,在整个图中,一个只含有一个割点的点双联通分量中必须建一个井口,因为若这个点双的割点塌陷,那么这个点双中所原创 2015-02-27 20:02:18 · 689 阅读 · 0 评论 -
[省选前题目整理][POJ 1830]开关问题(XOR方程组高斯消元)
题目链接http://poj.org/problem?id=1830思路很好的一道题。。。 对于nn个开关,我们可以很容易地列出nn个nn元一次方程,每个方程如下: a1x1⊕a2x2⊕a3x3...⊕anxn=ca_1x_1⊕a_2x_2⊕a_3x_3...⊕a_nx_n=c 其中每个a、x、ca、x、c均为0或1,xi=1x_i=1表示第ii个开关按下,xi=0x_i=0表示第ii个开关没原创 2015-03-25 14:27:06 · 655 阅读 · 0 评论 -
[省选前题目整理][BZOJ 1009][HNOI 2008]GT考试(KMP+DP+矩阵快速幂)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1009思路考虑如何用暴力DP来做这个题。实际上就是顺着DP的过程进行了S串与T串的字符串匹配过程。 设f[i][j]=f[i][j]=DP到S串的第ii位,匹配到了危险串的第jj位,这样的不同的S串前ii位种类数。 很容易得到一个DP方程 f[i+1][t]=∑f[i][j],加入了第i+原创 2015-03-25 18:31:31 · 586 阅读 · 0 评论 -
[POJ 3683]Priest John's Busiest Day(2-SAT+拓扑排序输出可行解)
题目链接http://poj.org/problem?id=3683题目大意思路代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#define MAXE 4100000#define MAXV 2100using namespace std;st原创 2015-03-15 21:58:47 · 623 阅读 · 0 评论 -
[BZOJ 1064][NOI 2008]假面舞会(图论+BFS)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1064题目大意给一个有向图染色,一个点的后继的颜色必须全部相同,问最多多少种颜色,最少多少种思路为了便于叙述,以下面具的种类数简称类数,图中不同的颜色代表不同类别的面具,一种面具简称一种颜色。 如果这个有向图是一棵树的话,那么树上每个点的儿子颜色必须都相同,如下图 手模下可以发现这种情况原创 2015-03-03 21:49:52 · 1441 阅读 · 0 评论 -
[BZOJ 2330][SCOI 2011]糖果(差分约束系统)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2330思路代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#include <queue>#define MAXE 110000#defi原创 2015-03-19 17:19:36 · 781 阅读 · 0 评论 -
[BZOJ 1069][SCOI 2007]最大土地面积(凸包+旋转卡壳)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1069思路计算几何的题真心不好做啊。。。 显然最大的四边形的四个点肯定是在凸包上的,因此第一步就是用Graham算法把凸包求出来,这个很简单就不罗嗦了。 然后就是旋转卡壳了,很多人的题解里都说了是枚举四边形的一条对角线,然后卡出对角线两边的那两个点,更新面积最大值,复杂度是O(n2)O(n^原创 2015-03-05 15:57:56 · 850 阅读 · 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 1854][SCOI 2010]游戏(二分图最大匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1854思路注意到每个属性只能对应一个武器(选择的属性必须递增),每个武器只能选择一个属性,这东西像什么?二分图! 实际上就是一个很裸的二分图匹配问题,我们把每个武器向它所属的两个属性连边,从属性1开始依次对每个属性作起点跑二分图匹配,直到某个属性ii跑不出匹配,退出循环,答案就是i−1i-1代原创 2015-03-19 19:53:35 · 540 阅读 · 0 评论 -
[BZOJ 1857][SCOI 2010]传送带(三分套三分)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1857思路三分套三分,首先三分在传送带AB上的运动时间,然后在确定了在AB上的运动时间后,三分在CD上的运动时间。 如果此题没有单峰函数的特征,我想也只能用退火套退火乱搞了。。。 当然我刚开始比较naive,真的就去三分运动时间了,这样做比较麻烦,后来翻了下hzwer的题解发现了一个很不错的原创 2015-03-19 21:12:13 · 1035 阅读 · 0 评论 -
[省选前题目整理][BZOJ 2326][HNOI 2011]数学作业(DP+矩阵快速幂)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2326思路感觉自己真的是弱到不能自理。。。这道比较基础的矩阵题居然做了大半天。。。 首先还是考虑DP怎么做这个题。。。。 假设f[i]=Concatenate(1...i)f[i]=Concatenate(1...i),很容易得到下面的递推方程 f[i]=f[i−1]∗(|i|+1)+if原创 2015-03-26 15:04:33 · 600 阅读 · 0 评论 -
[省选前题目整理][SGU 261]Discrete Roots(扩展欧几里得+中国剩余定理+原根+大步小步算法)
题目链接http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22207题目大意已知k、y、pk、y、p,求xk≡y(modp)x^k \equiv y \pmod{p}的所有可行解思路首先,我们求出modp\mod p的原根gg。 不妨设gq≡y(modp)g^q \equiv y \pmod{p},qq可以通过大步小步算法求得。原创 2015-03-26 17:08:55 · 1073 阅读 · 0 评论 -
[省选前题目整理][LA 4043]Ants(二分图最小权匹配)
题目链接http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14347题目大意有nn个白点、nn个黑点,要在平面中连nn条边,保证每条边连接的是一个白点和一个黑点,且任意两条边不相交,求出一个合法方案。思路我们可以将所有的白点看成xx侧,把所有的黑点看成yy侧,每个白点和所有的黑点连边,权值为这两点之间的欧几里得距离,然后跑KM算法原创 2015-03-27 08:43:16 · 707 阅读 · 0 评论 -
[省选前题目整理][BZOJ 3140][HNOI 2013]消毒(二分图最大匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3140思路如果这个题是二维的,也就是在一个二维矩阵中,每次操作可以任选一条行或列杀菌,求最少操作次数,这就是一个裸的最小覆盖集问题,把存在细菌的坐标(x,y)(x,y),从行号xx向列号yy连边,求出的二分图最大匹配即为答案。但是题目是三维的,设原立方体大小为(a,b,c)(a,b,c),且a≤原创 2015-03-27 10:08:47 · 1564 阅读 · 0 评论 -
[省选前题目整理][BZOJ 1189][HNOI 2007]紧急疏散(BFS+二分+最大流)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1189思路非常好的一道网络流的题。。。 首先我们对整个地图,以每道门为终点分别都BFS一遍,得到每个空地到每个门的最短距离,然后二分所有人都疏散出来的最少时间。假设我们现在已知这个时间,判断这个疏散所花费的时间是否是合法的。源点向所有空地连容量为1的边,表示初始时每个空地上都有人,然后所有门向原创 2015-03-27 14:44:19 · 562 阅读 · 0 评论 -
[省选前题目整理][SPOJ OPTM]Optimal Marks(最小割)
题目链接http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17875题目大意给定一个nn个点mm条边的无向图,定义这个图上每条边的边权为该边两个端点点权的亦或和,图中部分点的点权已经给定,要你给剩下的其他点也设定点权,使得边权之和最小。思路最小割。 我们把每个点的点权看成32位的二进制数,这些二进制数,每一位是0还是1都不会影响原创 2015-03-26 21:29:31 · 875 阅读 · 0 评论 -
[BZOJ 1185][HNOI 2007]最小矩形覆盖(凸包+旋转卡壳)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1185思路这个题真的很神奇啊。。。虽然有人说被卡精度了,不过反正我是没遇到这样的问题(三态函数大法好) 实际上这个题与我之前写的另一题(最大土地面积)的做法比较相近,也是先维护一个凸包,然后搞旋转卡壳。个人认为此题的旋转卡壳略难一些。 首先我们发现,一个最小覆盖矩形一定是与点集的凸包上的部分原创 2015-03-06 17:06:21 · 940 阅读 · 1 评论 -
[BZOJ 1090][SCOI 2003]字符串折叠(DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1090思路据七爷说此题是URAL原题,并且原题还要输出最小的折叠后的字符串? 看来以后要多刷URAL。。。一眼就能发现这是个DP题,用f[L][R]f[L][R]表示[L,R][L,R]区间折叠的最小长度,很容易得到DP方程:f[L][R]=min{R−L+1,f[L][k]+f[k+1][R原创 2015-03-20 10:35:04 · 559 阅读 · 0 评论 -
[BZOJ 1855][SCOI 2010]股票交易(单调队列优化DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1855思路很显然是个DP题,比较容易想到下面的DP做法: 用f[i][j]f[i][j]表示第ii天,手上有jj个股票的最大获利。显然最终的答案为max{f[i][0]}max\{f[i][0]\}(显然以某天交易结束后收手不干,肯定是手上没有股票是最优的),DP初始化如下: f(x)={f原创 2015-03-20 11:54:57 · 1876 阅读 · 0 评论 -
[BZOJ 1038][ZJOI 2008]瞭望塔(半平面交)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1038思路这个题在上海ACM/ICPC冬令营的比赛中也考过,不是很难,不过想要想到用半平面交来搞还是不容易的。 如上图,手模下可以发现一个点要想看到所有的山顶,肯定是要在相邻两个山顶连线的半平面交中。那么显然这个相对高度最小的点肯定是在半平面交的边界上,因此有如下两种情况: 1、这个点在原创 2015-03-06 21:39:37 · 1518 阅读 · 5 评论 -
[省选前题目整理][BZOJ 1927][SDOI 2010]星际竞速(费用流)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1927思路非常好的一道最小费用最大流的题目。 题目要求在一个有边权的有向图中,经过所有的点,并且可以花费一定代价选择顺移,求最小代价。这道题非常类似于最小路径覆盖问题,但是只是多了一个顺移。在最小路径覆盖问题中,我们把每个点拆成了入点和出点,那么对于每个点uu及其顺移代价aua_u而言,就从源原创 2015-03-27 19:26:05 · 993 阅读 · 0 评论 -
[UOJ 74][UOJ Round #6]破解密码(乘法逆元)
题目链接http://uoj.ac/problem/74思路不妨将这个字符串看成是一个26进制的数字abc...kabc...k 26n−1a+X=h026^{n-1}a+X=h_0 modmod p...(1)p...(1) 26X+a=h126X+a=h_1 modmod p...(2)p...(2)26∗(1)−(2)26*(1)-(2)得 26na−a=(26h0−h1)26^na-a原创 2015-03-09 10:05:26 · 1136 阅读 · 0 评论 -
[BZOJ 2428][HAOI 2006]均分数据(模拟退火)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2428思路模拟退火乱搞 首先随机设定每个元素所在的组,然后求出初始的方差,然后开始退火,每次退火时首先随机选一个元素tt,并得到它所在的组xx,然后需要选一组yy,把tt放入组yy中,选这个组yy也要讲究技巧,若温度高的话,此时状态不稳定,很难使最终的搜索结果尽量更优,那么就需要贪心地选当前元原创 2015-03-09 21:45:17 · 2047 阅读 · 0 评论 -
[BZOJ 1068][SCOI 2007]压缩(DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1068思路不妨设整个字符串长度为nn。根据题意,我们可以看作在区间[1,n][1,n]之前已经放有一个字母M。那么我们就是要用若干个M和R,将字符串中的循环节括起来,并使最终压缩后的字符串尽量短,显然这是个划分DP,而且用记忆化搜索写起来简单些。 实际上我们只需要DP出字符串中怎么放M就可以了原创 2015-03-10 11:35:29 · 1362 阅读 · 0 评论 -
[省选前题目整理][BZOJ 2324][ZJOI 2011]营救皮卡丘(费用流)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2324思路题目有几个非常重要的地方: 1、每个点必须经过 2、经过点ii前,11~i−1i-1这些点都必须经过为了满足2,定义i到j的最短距离就是满足路径上每个点标号均<=max(i,j)<=max(i,j)的最短路径长度。为了满足(1),我们就把每个点拆成两个点:入点和出点,每个点的入点和原创 2015-03-28 10:34:08 · 896 阅读 · 0 评论