OI本月刷水记录

bzoj 1042 硬币购物 如果没有每个硬币的个数限制,这就是一个完全背包计数问题,现在我们注意到硬币个数很少,于是我们分别考虑一下每个硬币不符合条件的情况,容斥一下即可
bzoj 1225假如不考虑高精度的情况,那么转移还是好考虑的
f[i][j] 表示前 i 个质数有 j 的约数最小数字

f[i][j]=minprime[i]k|jf[i1][j/(k+1)]prime[i]k

但万恶的高精度啊= =,于是改成搜索,然后用对数来表示,就好了
bzoj 2440 一道很神的数论题,二分+容斥+莫比乌斯函数,我们考虑不符合情况的数,就是在原数中减去有一个质数的平方因子的数,再加上两个,再减去三个,这与莫比乌斯函数的符号刚好相同,于是就可以做了
bzoj 1057 悬线法,记录一下每个数所能到达的最大高度,当能到达的左侧的高度大于自身高度时,就可以把能到达左侧的高度更新为此处的值即可,右侧亦然
bzoj 1898 有点像HH去散步,考虑到所有食人鱼的运动周期至多为12,就对12步以内暴力DP,然后构造矩阵,快速幂即可
bzoj 2783 mapsb题,存一下之前的点到根的元素和,每到一个点时查询一下是否存在当前距离 s 即可
bzoj 1922 带限制的最短路,在最短路中记录一下理论到达时间(忽略结界)和实际到达时间,取个 max 即可
bzoj 2463 (我能说我没看题直接猜的分奇偶么233)考虑1*2骨牌覆盖,偶数可以,奇数则不行
bzoj 1432 找规律 ans=min(2k,2(nk+1))
bzoj 1800 看一下是否存在两点之间距离为圆周长一半即可
bzoj 1406 对于一个 n=pk11pk22pk33...pknn ,
x2=1(modn) 等价于 x2=1(modpk11) x2=1(modpknn)
对于 x2=1(modpknn) , x=1pknn1 特别的当 pn=2 时,还存在两个解, x=2kn112kn1+1 中国剩余定理合并即可
bzoj 1025 问题可以转化为有几个数和为n,最小公倍数的个数,于是我们可以dp一下每个质数选多少个即可
f[i][j]=f[i1][jprime[i]k]
bzoj 1022 我YY了一下发现和Nim游戏基本一样,在全是一的情况下考虑一下即可
bzoj 1607 筛法注意按数筛,别按序列来筛,按数筛!!!
bzoj 1037 很神的DP,考虑一个区间中男女最大差.
f[i][j][k][p] 表示有 i 个男的, j 个女的,男的比女的最多多 k 个,女的比男的最多多 p 个,转移如下:
f[i+1][j][k+1][max(0,p1)]=f[i][j][k][p]
f[i+1][j][max(0,k1)][p+1]=f[i][j][k][p]
bzoj 4001 找规律(其实要推出来需要微积分,Catalan数,但我不会233) ans=n(n+1)4n2
bzoj 1089 找规律 f[i]=f[i1]n+1
bzoj 1969 考试题,傻逼没想出来,考虑逆序加边,加边之后相当于原来点对之间不存在桥,于是我们就可以先dfs出来一棵树,然后树链剖分一下即可
bzoj 1965 正着递推很好想,上一次的位置 j ,下一次是在 2jmod(n+1) ,反着也就退出来了,乘2的逆元即可
bzoj 1006 弦图与区间图,膜拜了CDQ的ppt
bzoj 1040 环套树DP,考虑环上相邻的点,其中一个做根,他贡献答案时强制相邻点不选,就可以做了,注意有多个联通块的情况。
bzoj 1088 确定的一个点就可以向后推了,验证是否合法即可
bzoj 1054 爆搜,注意有可能不用移动就到达状态,蒟蒻因为这个贡献了好几发WA
bzoj 2049 LCT模板题
bzoj 1007 半平面交弱化版,单调栈维护一下该条线与上条线交点即可
bzoj 2956
i=1nj=1,jimnmodimodj

=i=1n(nnii)j=1m(mmjj)

i=1min(n,m)(nnii)(mmjj)

然后开心的分块统计即可
bzoj 3629 约数和定理,请自行百度,然后搜索质因子即可
bzoj 1043 计算几何,维护一下每个圆交的角度即可
bzoj 1041 最简勾股数其实有公式 a=m2n2,b=2mn,c=m2+n2 ,枚举 m,n 即可
bzoj 1876 python水过2333
bzoj 1072 爆搜+验证
bzoj 1258 感受一下,就可以了,这题解法应该不少
bzoj 1257 2956弱化版,分块统计
bzoj 2743 离线,线段树维护一下区间中有两个及以上的第一个出现的位置
bzoj 1303 随便YY感受一下
bzoj 1024 爆搜
bzoj 1083 最小瓶颈生成树,Kruskal即可
bzoj 4066 替罪KD树,蒟蒻在win下跑的还算快,交上去就呵呵了
bzoj 3674&&3673 用可持久化线段树维护可持久化数组,实现可持久化并查集
bzoj 2460&&3105 线性基+贪心
bzoj 1833&&1026 数位DP
bzoj 3555 hash,然后穷举哪一位不同即可
bzoj 1060 树型DP,统计使每棵子树相同的代价
bzoj 2337 高斯消元求概率问题,注意子自环问题,再者高斯消元一般从终点考虑
bzoj 3670 扩展KMP,不知为何一个循环拆成两个就快的飞起
bzoj 1082 爆搜+神减枝
bzoj 4195~4199 NOI系列,请左转另一篇题解
bzoj 1015 离线加边,并查集处理
bzoj 3173 由于是顺序插入,这题就变成平衡树水题了233
bzoj 4144 先处理出每个点到最近的加油站的距离 disi ,更新边权为 wu,v=wu,v+disu+disv ,然后里先处理并查集维护即可
bzoj 1044 第一问二分+贪心,第二问DP,蛮好想的
bzoj 2809 本来正解是各种可并堆,但可以平衡树水过
bzoj 1207 O(n2) DP,随便写写就可以了
bzoj 1260 区间DP f[i][j] 表示i~j涂好颜色的最少步数。转移如下
col[i]==col[j]
f[i][j]=min(f[i+1][j],f[i][j1],f[i+1]j1]+1)
否则
f[i][j]=minj1k=i,f[i][k]+f[k+1][j]
bzoj 2705 ni=1gcd(i,n)=ni=1d|i,d|nϕ(d)=d|nϕ(d)nd
穷举 n 的约数即可
bzoj 1143 暴力出奇迹,正解可能是最大反链什么的,加个卡时就过了233
bzoj 4010 位置字典序最小等于反向字典序最大,倒向拓扑即可
bzoj 2326 分段矩阵乘法
bzoj 2875&&3231 直接矩阵乘法
bzoj 2151 好像是个堆,好久之前的题了
bzoj 1045 贪心白书例题
bzoj 2748 对音量进行DP
bzoj 2154 详细看左转题解

你可能感兴趣的:(OI本月刷水记录)