关闭
当前搜索:

【斜率优化DP】BZOJ4518 [Sdoi2016]征途

题面在这里 把m2m^2乘进去,答案其实就是m∑a2i−S2nm\sum a_i^2-S_n^2 其中aia_i是第i天走的路程 那么就是一个最显然的平方和模型,直接斜率优化DP 示例程序: #include #include #include #define cl(x,y) memset(x,y,sizeof(x)) using namespace std; typedef long...
阅读(195) 评论(0)

【拓扑】BZOJ4010 [HNOI2015]菜肴制作

题面在这里首先要明确,题意不等价于求最小字典序例如:n=4,3→1,2→4n=4,3\rightarrow 1,2\rightarrow 4此时应输出31243124因为题目要求的是在保证1…i1\dots i先完成的情况下,再考虑i+1i+1所以求反图的最大拓扑字典序即可示例程序:...
阅读(195) 评论(0)

【组合数学】BZOJ3505 [Cqoi2014]数三角形

题面在这里首先会发现直接算很难算那么就考虑计算三点共线的方案吧由于两直角边分别为a,ba,b的三角形,斜边上整点数为gcd(a,b)+1gcd(a,b)+1然后中间点要共线就只有gcd(a,b)−1gcd(a,b)-1种可能然后把斜边遍历整个网格图(n−a+1)⋅(n−b+1)(n-a+1)\cdot(n-b+1)最后注意一下这个斜边是可以对称翻转的示例程序:...
阅读(212) 评论(0)

【二分+线段树】BZOJ4552 [Tjoi2016&Heoi2016]排序

题面在这里首先想到二分然后就可以把整个序列转化成01序列(0比mid小,1比mid大)这样排序的操作就可以用线段树区间覆盖来实现最后判断KK这个位置是0还是1,就完成了二分的验证竟然1A了,好高兴示例程序:...
阅读(240) 评论(0)

【水】BZOJ1121 [POI2008]激光发射器SZK

题面在这里由于从一个顶点出发,最后一定会到另一个顶点所以答案就是n2\frac n2 示例程序:...
阅读(143) 评论(0)

【分数规划+DFS序上DP】BZOJ4753 [Jsoi2016]最佳团体

题面在这里这个题一看就要二分吧……然后可以用DP验证其实就是树上取最大和但是如果定义不好的话会被卡常……可以DFS序上DP,常数较小fi,jf_{i,j}表示DFS序上前i-1个点,取了j个的最大值然后fi,j→fi+1,j+1 (取i) f_{i,j} \rightarrow f_{i+1,j+1} \text{ } \tag {取i} fi,j→fout(i),j (不取i) f_...
阅读(195) 评论(0)

【带限制最短路】BZOJ1922 [Sdoi2010]大陆争霸

题面在这里设摧毁x城市的时间为dst(x)dst(x),则有: dst(x)=max(Max{dst(y)},Max{dst(s)+ws,x}) dst(x)=max(Max\{ dst(y) \},Max\{ dst(s)+w_{s,x} \}) 其中yy是保护xx的点,ss是连向xx的点那么就可以直接刷DijstraDijstra了注意为了使dst(y)dst(y)在dst(x)dst(x...
阅读(40) 评论(0)

【贪心】BZOJ3668 [Noi2014]起床困难综合症

题面在这里按位贪心就好了示例程序:...
阅读(35) 评论(0)

【李超线段树】BZOJ3165 [Heoi2013]Segment

题面在这里李超线段树的裸题,不解释示例程序:...
阅读(51) 评论(0)

【莫比乌斯反演+数位DP】2017 计蒜之道 复赛 A.阿里云秘钥池

题面在这里首先容斥一下,变为求[1,n][1,n]有多少数在PP进制下相邻位互质然后就可以DPDP了:fi,jf_{i,j}表示前ii位,最高位上是jj的方案数 fi,j=∑k=1P−1 [gcd(j,k)=1]fi−1,k=∑k=1P−1fi−1,k∑d|j,d|kμ(d)=∑d|jμ(d)∑dt≤P−1fi−1,dt f_{i,j}=\sum_{k=1}^{P-1} \ [gcd(j,k)=1...
阅读(54) 评论(0)

【欧拉函数】BZOJ2705 [SDOI2012]Longge的问题

题面在这里考虑如下: ∑i=1n(i,n)=∑d|nd∑id≤n[(id,n)=d]=∑d|nd∑i=1nd[(i,nd)=1]=∑d|nd⋅φ(nd) \sum_{i=1}^n (i,n) \\ =\sum_{d|n}d\sum_{id\le n} [(id,n)=d] \\ =\sum_{d|n}d\sum_{i=1}^{\frac n d} [(i,\frac n d)=1] \\ =...
阅读(51) 评论(0)

【递推+lucas定理】BZOJ2111 [ZJOI2010]Perm 排列计数

题面在这里可以发现,此数列恰好满足堆性质可以把它看做小根堆的数组储存形式然后就可以愉快的DP了: fi=Csize lsonsize ifi∗2fi∗2+1 f_i=C_{size\ i}^{size\ lson} f_{i*2}f_{i*2+1} 注意当n>pn>p时,可能不存在(n!)−1   (mod p)(n!)^{-1}\ \ \ (mod\ p)所以lucas定理就可以了示例程序...
阅读(517) 评论(0)

【lucas定理】BZOJ2982 combination

题面在这里不说了,直接lucas示例程序:...
阅读(34) 评论(0)

【lucas定理】BZOJ4403 序列统计

题面在这里首先元素大小在[L,R][L,R]等价于[1,R−L+1][1,R-L+1]那么长度为i,元素大小[1,M][1,M]的非降序列方案数为CM−1i+M−1C_{i+M-1}^{M-1}所以答案就是: ∑i=1NCM−1i+M−1=(∑i=1NCM−1i+M−1)+CMM−1=(∑i=2NCM−1i+M−1)+CMM+1−1=(∑i=3NCM−1i+M−1)+CMM+2−1…=CMN+M−...
阅读(33) 评论(0)

【贪心+最小割】BZOJ2521 [Shoi2010]最小生成树

题面在这里考虑把图分成含A和含B的两个联通块中间用给定的那条边联系那么所有比他小的边都要进行操作(一次操作等价于给一条边权值+1)那么其实就是最小割了示例程序:...
阅读(58) 评论(0)

【二分+最大流】BZOJ1305 [CQOI2009]dance跳舞

题面在这里考虑把每个人拆成自己xix_i和不喜欢自己yiy_i如果ii喜欢jj,那么连边(xi,xj,1)(x_i,x_j,1),否则连边(yi,yj,1)(y_i,y_j,1)最多和讨厌的人跳K次舞,连边(xi,yi,k)(x_i,y_i,k)最后验证(S,xi,mid)(S,x_i,mid)是否满流即可示例程序:...
阅读(71) 评论(0)

【二分+贪心】BZOJ1816 [Cqoi2010]扑克牌

题面在这里没什么好说的,直接二分答案就好了示例程序:...
阅读(49) 评论(0)

【持续更新】莫比乌斯反演简明教程

前言开始学省选算法了……感觉莫比乌斯反演好厉害的样子,就先学习一下一入反演深似海……相关的东西太多了,以后会不定期更新前置技能莫比乌斯函数莫比乌斯函数μ(n)\mu(n)的定义如下:设n=pk11⋅pk22…pkmmn=p_1^{k_1}\cdot p_2^{k_2} \dots p_m^{k_m} μ(n)=⎧⎩⎨1(−1)m0n=1∏mi=1ki=1otherwise(ki>1) \begin...
阅读(2397) 评论(0)

【莫比乌斯反演】BZOJ2818 Gcd

题面在这里反演裸题不解释示例程序:...
阅读(568) 评论(0)

【莫比乌斯反演】BZOJ1101 [POI2007]Zap

题面在这里没什么好说的,反演裸题示例程序:...
阅读(426) 评论(0)
258条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:159302次
    • 积分:4800
    • 等级:
    • 排名:第6960名
    • 原创:257篇
    • 转载:1篇
    • 译文:0篇
    • 评论:172条
    博客专栏
    文章分类
    传送门