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。。。