摘要:
orz教主的解法实在太神了 直接贴题解 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) for(int i=l;i>=r;i--) 4 #define link(x)
阅读全文
posted @ 2016-02-02 00:11
onlyRP
阅读(148)
推荐(0)
摘要:
记得以前是用容斥原理过的?好吧现在只记得奇加偶减了。。。 转化题目成求满足x/p和y/p互质的数对,那和上题就差不多了 先欧拉筛求出phi的前缀和a[i],依次枚举每个素数p[i],排除(1,1)答案就是sigma(a[n/p[i]]*2-1) 1 #include<bits/stdc++.h> 2
阅读全文
posted @ 2016-02-01 21:12
onlyRP
阅读(187)
推荐(0)
摘要:
开始补我不敢碰的数论QAQ 看了资料感觉还是很晕,先把结论记下吧。。 若(x,y)符合提议gcd(x-1,y-1)=1,那么先欧拉筛法求出s=sigma(phi[i]),然后注意(1,2)(2,1)(2,2)3个点,答案就是2*s+1了 1 #include<bits/stdc++.h> 2 #de
阅读全文
posted @ 2016-02-01 20:51
onlyRP
阅读(157)
推荐(0)
摘要:
flyod时顺便算出c(s,t),我的计数原理要补补。。。
阅读全文
posted @ 2016-02-01 00:31
onlyRP
阅读(89)
推荐(0)
摘要:
裸费用流,要注意的是当天供应的东西不一定要从仓库里拿,所以S限制的容量应该是i'-(i+1)的 数据那么弱,暴力或许过得去? 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,
阅读全文
posted @ 2016-01-31 23:16
onlyRP
阅读(164)
推荐(0)
摘要:
很明显是最大权封闭子图(noi挺喜欢考?),但直接跑最小割的话处理不了不能打到的plant,所以要先拓扑排序简化下图 (重建图挺烦。。) 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define de
阅读全文
posted @ 2016-01-31 16:00
onlyRP
阅读(130)
推荐(0)
摘要:
感觉总是无视拓扑排序也不太好,就来了2道模板题。。不造哪个时候又给忘了。。 codevs 1833 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) for(int i=
阅读全文
posted @ 2016-01-31 14:32
onlyRP
阅读(120)
推荐(0)
摘要:
裸最大权封闭子图 1 #include<bits/stdc++.h> 2 #define inc(i,l,r) for(int i=l;i<=r;i++) 3 #define dec(i,l,r) for(int i=l;i>=r;i--) 4 #define link(x) for(edge *j
阅读全文
posted @ 2016-01-30 15:46
onlyRP
阅读(133)
推荐(0)
摘要:
f[i]=max{f[j]+(i-j-1)*i-(b[i-1]-b[j])+a[i]}b[i]为i的前缀和 易得(f[j]+b[j]-f[k]-b[k])/(j-k)<i 同样单调队列维护凸包 longlong老是没注意,AC率就是这么刷下来的QAQ 1 #include<bits/stdc++.h
阅读全文
posted @ 2016-01-30 02:00
onlyRP
阅读(244)
推荐(0)
摘要:
居然还有奶牛题没被权限(感动QAQ) 如果有包含关系的话就可以去掉小的,所以可以先排完序后去掉逆序的 然后长和宽都是单调的,就可以出方程f[i]=max{f[j]+a[j]b[i]} 易得(f[j-1]-f[k-1])/(a[j]-a[k])<b[i](易项时注意符号问题) 单调队列维护凸包即可 1
阅读全文
posted @ 2016-01-30 01:15
onlyRP
阅读(254)
推荐(0)