06 2015 档案
摘要:大神的题解无限仰慕中。。。看来我还并不会 polya 定理。#include #include #include #include #include #define REP(i,L,R) for(int i = L; i = L; i--)#define CLR(x) memset(...
阅读全文
摘要:如果 Lj+1−Rj#include #include #include #include #include const int maxn = 2e5+5, maxm = maxn;struct interval{ long long l, r; int id;};int n,...
阅读全文
摘要:DP , fi=3∗fi−1−2∗fi−2+2。我并不会证明呢。。。#include#include#include#include#include#include#include#include#include#include#include#include#includecons...
阅读全文
摘要:平面图最大流,看到数据范围我就怂了。《两极相通——浅析最大—最小定理在信息学竞赛中的应用》先构造平面图的对偶图,然后求最短路即可。 时间复杂度:O(n∗m∗log2(n∗m))#include #include #include #include #include #include ...
阅读全文
摘要:类似 sgu221 的 DP首先对 b 排序,消除后效性,dpi,j 表示前 i 行,用 j 个棋子的方案数,dp0,0=1,dpi,j=dpi−1,j+dpi−1,j−1∗(bi−j+1)dpn,k 就是问题的答案。#include#include#include#includec...
阅读全文
摘要:一道好题。把距离为 n+1的珠子连边,一共有 gcd(2∗n−1,n+1) 个联通块,每个联通块的大小为 2∗n−1gcd(2∗n−1,n+1), 所以每个联通块最多可以有⌊(2∗n−1)gcd(2∗n−1,n+1)∗2⌋ 颗黑色珠子。那么 ans=⌊(2∗n−1)gcd(2∗n−1...
阅读全文
摘要:用双向队列维护最上面的 k 本书,翻转什么的就很傻逼了。时间复杂度:O(n+m)另外,STL中有双向队列,真是太感动了。。。#include #include #include #include #include #include #include const int Base = ...
阅读全文
摘要:A,B 题都是傻逼题,E 题不会。。。C 题: 显然是个数学题,对于第 i 种颜色的处理, 可以视为将第 i 种颜色的球中取出ci−1个插入之前的序列中, 另外1个放在整个序列最后,那么方案数就是C(si−1,ci−1)。ans=∏ni=1C(si−1,ci−1)D 题: 显然也是个...
阅读全文
摘要:试试bestcoder题目质量,感觉还不错,有时间可以打打。题解去bestcoder找吧:http://bestcoder.hdu.edu.cn/以下是我的1001~1003代码,bestcoder的题目都可以在hdu上提交。注意hdu是windows系统,栈空间极小。。。1003遍...
阅读全文
摘要:(imodk)modn=(jmodk)modn⟹i−j=p∗k+q∗n=t∗gcd(n,k) 所以问题转变为:有gcd(n,k)个本质不同的字符串,每个字符串长度都为 n/gcd(n,k) , 求它们中字典序最大的字符串。最大表示法。 时间复杂度 O(n)注意输出时要补成 n 位。#...
阅读全文
摘要:自适应辛普森积分以其中一圆柱的中轴线为 x 轴,另一圆柱的中轴线为 y 轴,建立空间直角坐标系。 那么,以 t 自变量,计算平面 z=t 与两圆柱相交面积的积分即可。ans=∫min(r1,r2)0S(t)=∫min(r1,r2)0r12−t2−−−−−−−√∗r22−t2−−−−−...
阅读全文
摘要:如果知道第一个方格是否有雷,可以推出其他所有方格是否有雷:记 ai为位置 i上雷的数量,bi为位置 i上的数字 bi=ai−1+ai+ai+1⇒ai=bi−1−ai−1−ai−2只要枚举 a1的值,判断是否可行即可。 时间复杂度:O(n)#include #include #incl...
阅读全文
摘要:题面很长,其实是道傻逼题,没什么好说的。。。#include #include #include #include #include const int maxn = 1005, maxm = 50005;struct Edge{ int v, w, next; Edge...
阅读全文
摘要:二分答案+二分图匹配 时间复杂度:O(n2∗log2n)#include#include#include#include#include#include#include#include#include#include#include#includeconst int maxn = 5...
阅读全文
摘要:拓扑排序。注意看题。。。不是输出拓扑序而是输出点在拓扑序中的位置, 感觉只有我会被这种东西坑。。。#include#include#include#include#include#include#include#include#include#include#include#incl...
阅读全文
摘要:从高位贪心,高斯消元解异或方程判断是否可行。#include#include#include#include#include#include#include#include#include#include#include#includeconst int logX = 60, max...
阅读全文
摘要:HLPP算法:http://xingzheqiang.blog.163.com/blog/static/20561012520127464654159/时间复杂度: O(n2∗m−−√) (并不会证明。。。),楼教说对于这种分层图HLPP实际效率更优,不管你信不信,我反正是信了。#i...
阅读全文
摘要:参考题解:http://blog.csdn.net/qq_20118433/article/details/45653577贴发代码就跑。。。sgu上的C++编译器开了不稳定的O2优化, 所以我用C++交无限WA on test 16, 用C++_VS提交或改成C语言提交就AC了。。...
阅读全文
摘要:SPFA最短路,dist(s→t)即为最少颜色数, 答案可以这样构造:对于一条边(u,v),染色为min(max(dist(u),dist(v)),dist(t))为什么可以这么构造?我们可以发现,所有边都为1的情况下, 对于一条边(u,v), dist(v)#include#inc...
阅读全文
摘要:去膜拜了一下大神的题解,发现这道构造题并不难。 构造的重点是 保证没有任意两个 2 相邻。 这样就可以使得进位次数很小。具体实现 假设当前加上2p (1) 找到p之后的第一个2的位置x,再找到x之前第一个0的位置y,若y≤p,说明p与x之间有若干个1(可以是0个),我们把2进...
阅读全文
摘要:KM,把王子放在二分图X侧,妹子放在Y侧,边权为(Ai)2做KM即可, 具体实现时我把王子放在二分图Y侧,妹子放在X侧,这样就更容易输出答案了。#include#include#include#include#include#include#include#include#inclu...
阅读全文
摘要:《算法竞赛入门经典:训练指南》上的例题。顺便做了 UVa11762: P143 , 期望DpUva10294,11077,LA3641: P146~149 , Polya定理Uva11762#include#include#include#includeconst int maxn...
阅读全文
摘要:贪心,先给递送时间长的打印,再给递送时间短的打印,证明用反证法即可。这种题就不贴代码了。。。 版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
摘要:感谢 Owaski 的帮助!设 G 是 p 个对象的一个置换群, S 为不同染色方案数Burnside引理:令D(a) 表示在置换 a 下不变的元素的个数S=∑D(i)|G|Polya定理:如果用 m种颜色涂染 p个对象 令 C(a) 表示置换 a 中的循环节数S=∑mC(i)|G|...
阅读全文
摘要:我写的SPFA最短路,似乎没有什么好说的。时间复杂度:O(n2)#include#include#include#include#include#includeconst int maxn = 205, INF = 0x3f3f3f3f, Nya = -1;int n, m;bool...
阅读全文
摘要:首先按横纵坐标之和的奇偶性对棋盘染色, 可以发现染色不同的方格之间是不会互相影响的。把棋盘旋转 45°,就会得到一个菱形方格图, 只考虑白色方格上的棋子,原本是沿对角线移动, 但此时它们沿水平方向和竖直方向移动。注意到菱形方格图中每行的方格数不全相同, 所以按方格数从小到大的先后顺序...
阅读全文
摘要:喜闻乐见的暴搜。#include#include#include#include#includeint n, k, col, dl, dr;long long dfs(int row, int cnt){ if(cnt == k) return 1; if(row > n...
阅读全文
摘要:状态压缩Dp,按行处理。复杂度: O(n∗k∗3n)#include#include#include#include#includeconst int maxn = 15, maxk = 105, sz = 10;struct Trans{ int fr,to,imp; ...
阅读全文
摘要:数学题,ans=C(k,n)2∗k!#include#include#include#include#includeint fact[20] = {1,1,2,6,24,120,720,5040,40320,362880,3628800};int choice(int m, int ...
阅读全文
摘要:首先很显然,生成树上的边权应减小,非生成树上的边权应增大。令 xi=ci−di , yj=dj−cj (xi>=0,yj>=0) 若树边 i 在非树边 j 和生成树形成的环上, 有 di=ci−cj建立二分图,其中 wi,j=ci−cj,KM 算法求最大权匹配,满足 Ai+Bj>=...
阅读全文
摘要:Dp,justmakesense.时间复杂度: O(n∗s2)#include#include#include#include#includeconst int MAXN = 1e3+5, SZ = (1<<7)+1, INF = 0x3f3f3f3f;int n, x[MAXN],...
阅读全文
摘要:Dp 类似三个盘子玩法, 然后表示不会输出方案。。。 于是去膜拜大神的程序,被智商压制。。。 http://www.cnblogs.com/hzf-sbit/p/3903573.html#include#include#include#include#includeconst in...
阅读全文
摘要:参考题解: http://www.cnblogs.com/mjy0724/p/4447813.html 我们先把所有的盘子按照权值排序 然后考虑二分 如果能覆盖一个水果的1~mid的所有盘子数>=该水果询问的k值 说明答案在[1,mid]当中,否则在[mid...
阅读全文
摘要:http://blog.csdn.net/weixinding/article/details/7621103 http://blog.csdn.net/z690933166/article/category/1349672莫比乌斯反演+容斥原理,好神奇!#include#i...
阅读全文