寒假总结2

bzoj1079: [SCOI2008]着色方案

DP,记录每一种颜色的个数和上一个染得什么颜色……

记忆化搜索比较好写……

http://ideone.com/iYMu9


bzoj1050: [HAOI2006]旅行comf

将边从小到大排序,然后答案就相当于是对于边的一个区间……

枚举左端点,然后不断加边直到s,t联通,并查集维护

对于得到的每个区间取最优值……

问题是不知道哪里写疵了……

还有一种做法是SPFA维护最大最小边权


bzoj1336: [Balkan2002]Alien最小圆覆盖

这道题的做法和时间复杂度的计算都十分巧妙……

今年wc钟诚也讲了这道经典问题的时间复杂度计算

做法不太好写出来……

http://ideone.com/Jikk6


bzoj1978: [BeiJing2010]取数游戏 game

DP,f[i][j]表示当前为i,gcd为j时的最优解

把每个i暴力分解质因数……

http://ideone.com/0mIG1


bzoj2190: [SDOI2008]仪仗队

计算下三角,一个点能被看见则他的x,y一定互质

欧拉函数搞定……

然后ans*2+1

http://ideone.com/XoTDL


bzoj1611: [Usaco2008 Feb]Meteor Shower流星雨

暴力bfs,先预处理出安全点

然后从0,0开始bfs,直到到达安全点

http://ideone.com/OC4hR


bzoj1296: [SCOI2009]粉刷匠

有一个条件是每个格子只能粉刷一次

所以可以对每一行进行dp,计算出这一行粉刷1...m次的最优值

然后对所有行进行一个背包dp

http://ideone.com/gTTv5


bzoj1430: 小猴打架

prufer code的入门题……

n个点的生成树有n^(n-2)棵

然后因为加边顺序不同,所以在乘(n-1)!


bzoj1491: [NOI2007]社交网络

floyd的扩展……

先把每对点间的最短路求出来,然后枚举每个点是否在某对点的最短路上

然后更新答案

http://ideone.com/zVSWQ


bzoj1084: [SCOI2005]最大子矩阵

我一开始被这题吓到了,以为是oil的超超超级加强版……

然后一看m<=2

随便DP……

http://ideone.com/uBgO7


bzoj2245: [SDOI2011]工作安排

有个很重要的条件被忽略了

就是随着工作的增加,单位费用会越来越高

那么就可以用费用流解决

http://ideone.com/c7fEj


bzoj1293: [SCOI2009]生日礼物

嗯……首先答案肯定是被某种颜色的某一个和某种颜色的某一个夹住,的这个区间

那么首先是所有颜色的第一个,找到最早的那个,和最晚的那个,更新答案

然后把最早的那个去掉,加入下一个,然后重复上面那一步

每次找最早的需要用堆维护,而最晚的因为单调,用变量记就可以了

http://ideone.com/zbmUD


over。。。

阅读更多
换一批

没有更多推荐了,返回首页