bzoj1034:贪心
bzoj1036:树剖
bzoj1037:一个比较巧妙,利用连续性维护的dp。
http://www.cnblogs.com/Sdchr/p/6129496.html
bzoj1038:一题多解。
http://www.cnblogs.com/Sdchr/p/6129842.html
bzoj1040:基环树最大独立集
拆边+分类讨论+树形dp
http://www.cnblogs.com/Sdchr/p/6106172.html
bzoj1041:圆上的整点
本原勾股数公式
http://www.cnblogs.com/Sdchr/p/6059195.html
bzoj1042:
生成函数+FFT或者背包dp预处理。
容斥原理将问题进行转化。
bzoj1043:
http://www.cnblogs.com/Sdchr/p/6131981.html
bzoj1044:
第一问:二分+贪心
第二问:普通的线性dp
bzoj1045:
设数,代数变形。
得出一个初一就应该会的绝对值模型。
根据绝对值的几何意义,然后找中位数即可。
bzoj1046:
最小字典序dp,处理方法:逆序处理,正序贪心输出
http://www.cnblogs.com/Sdchr/p/6130221.html
bzoj1047:
单调队列 or 二维ST表 支持 快速矩形求最值
这里的ST表可以省略掉一维,因为n固定
http://www.cnblogs.com/Sdchr/p/6130246.html
bzoj1048:
这种每次切一刀的问题,貌似都可以用这种记忆化搜索的方法。
设\(f[a][b][c][d][k]\)表示矩形\((a,b),(c,d)\)中,分成\(k\)份的最小均方差。
bzoj1024也是类似的做法。
bzoj1049:
对于任意\(i,j,i<j\),要满足\(a_j-a_i>j-i\)
所以\(a_i-i<a_j-j\)
所以设\(a'[i]=a_i-i\)
然后求最长上升序列,剩下的一定可以构造出来。用\(n\)减去长度即可。
bzoj1050:
排序,枚举最小边,求得最大边的最小值。极大化思想。
其实数据范围开大些好像也可以做。首先把边权从小到大排序,然后二分答案,枚举最小边权,用two pointer+LCT维护连通性,可以做到\(O(n\log^2 n)\)
bzoj1051:
强连通分量,Tarjan裸题