12 2015 档案

摘要:把串倒过来插进trie上, 那么一个串的kpm串就是在以这个串最后一个为根的子树, 子树k大值的经典问题用dfs序+可持久化线段树就可以O(NlogN)解决------------------------------------------------------------------#inclu... 阅读全文
posted @ 2015-12-31 21:30 JSZX11556 阅读(316) 评论(0) 推荐(0) 编辑
摘要:离线然后就是维护加边的动态MST, Link cut tree秒掉..不过我写+调了好久...时间复杂度O(NlogN + MlogM)-----------------------------------------------------------------------#include#in... 阅读全文
posted @ 2015-12-31 16:09 JSZX11556 阅读(274) 评论(0) 推荐(0) 编辑
摘要:dp(i, j, 1)表示前i个, 有j对是不合法的, i和i-1是在一起的.dp(i, j, 0)表示前i个, 有j对是不合法的, i和i-1不在一起的.转移我们只需考虑是多了一对不合法的还是少了一对不合法的, 或者是不变, 考虑当前i和i-1,i-2的位置的影响就可以了.dp(i, j, 1) ... 阅读全文
posted @ 2015-12-28 14:41 JSZX11556 阅读(549) 评论(0) 推荐(0) 编辑
摘要:最小割...二分染色然后把颜色不同的点的源汇反过来..然后就可以做了.某个点(x,y):S->Id(x,y)(回报), Id(x,y)->T(代价), Id(i,j)&&Id(相邻节点)->newId(i,j)(+oo), newId(i,j)->T(回报)然后染色不同的点反过来就可以了.初始时答案... 阅读全文
posted @ 2015-12-22 20:17 JSZX11556 阅读(580) 评论(0) 推荐(0) 编辑
摘要:树形dp求出某个点的最长3条链a,b,c(a>=b>=c), 然后以这个点为交点的最优解一定是a+2b+c.好像还有一种做法是求出树的直径然后乱搞...---------------------------------------------------------------------#incl... 阅读全文
posted @ 2015-12-21 13:49 JSZX11556 阅读(414) 评论(0) 推荐(0) 编辑
摘要:搞成前缀和然后就可以很方便地用可持久化trie维护了.时间复杂度O((N+M)*25)-------------------------------------------------------------------------#include#include#include#includeus... 阅读全文
posted @ 2015-12-20 20:41 JSZX11556 阅读(358) 评论(0) 推荐(0) 编辑
摘要:用最短路暴力搞出s(i, j)表示聪聪在i, 可可在j处时聪聪会走的路线. 然后就可以dp了, dp(i, j) = [ dp(s(s(i,j), j), j) + Σdp(s(s(i,j), j), to) ] / (degree[i]+1) 边(j, to)存在. 复杂度应该差不多是O(NM)-... 阅读全文
posted @ 2015-12-20 11:49 JSZX11556 阅读(278) 评论(0) 推荐(0) 编辑
摘要:O(NK)暴力搞出所有子串的哈希值, 然后就对哈希值离散化建权值线段树, 就是主席树的经典做法了.总时间复杂度O(NK+(N+Q)logN)--------------------------------------------------------------------------#inclu... 阅读全文
posted @ 2015-12-20 10:41 JSZX11556 阅读(333) 评论(0) 推荐(0) 编辑
摘要:求欧拉路径...直接dfs即可,时间复杂度O(N)---------------------------------------------------------------------------#include#include#include#includeusing namespace st... 阅读全文
posted @ 2015-12-16 20:02 JSZX11556 阅读(413) 评论(0) 推荐(0) 编辑
摘要:维护一个支持翻转次数M的长度N的序列..最后输出序列.1#include#includeusing namespace std;const int maxn = 130009;struct Node { Node *p, *ch[2]; int s, v; bool rev; inline vo... 阅读全文
posted @ 2015-12-15 21:45 JSZX11556 阅读(396) 评论(0) 推荐(0) 编辑
摘要:求一个串S有多少子串subS满足s是subS的子序列.len(S)#include#includeusing namespace std;typedef long long ll;const int maxn = 109;char S[100009], s[maxn];int Sn, sn, cnt... 阅读全文
posted @ 2015-12-15 20:10 JSZX11556 阅读(315) 评论(0) 推荐(0) 编辑
摘要:SGU还是个不错的题库...但是貌似水题也挺多的..有些题想出解法但是不想写代码, 就写在这里吧...不排除是我想简单想错了, 假如哪位神犇哪天发现请告诉我..101.Domino(2015.12.16)102.Coprimes 求φ(N).1#include#includeusing namesp... 阅读全文
posted @ 2015-12-15 13:33 JSZX11556 阅读(628) 评论(0) 推荐(2) 编辑
摘要:看了半天...发现就是个背包...然后就不打算敲了. 看了一眼forum..顿时吓傻..其他人用了gcd啊什么的各种奇怪的东西..然后还是敲了个背包结果就AC了= =既然写了代码就扔上来吧...-----------------------------------------------------... 阅读全文
posted @ 2015-12-14 22:08 JSZX11556 阅读(359) 评论(0) 推荐(0) 编辑
摘要:一道入门树dp, 求一棵树的重心...我是有多无聊去写这种题...傻X题写了也没啥卵用以后还是少写好..----------------------------------------------------------------#include#include#includeusing name... 阅读全文
posted @ 2015-12-14 21:08 JSZX11556 阅读(289) 评论(0) 推荐(0) 编辑
摘要:看英文题真是麻烦...理解题意花的时间比想的时间还长...裸的网络流, 我们只要限制每个人出发流量为1, 每个大学进入的流量至多为2即可, 相当于构造可行解.-----------------------------------------------------------------------... 阅读全文
posted @ 2015-12-14 20:39 JSZX11556 阅读(243) 评论(0) 推荐(0) 编辑
摘要:题目大意:给N块板, 有A,B2种类型的板, 要求任意M块连续的板中至少有K块B板.1≤n≤60,1≤m≤15,0≤k≤m≤n.dp(x, s)表示第x块板, x前M块板的状态为s, 然后合法状态转移就行了.---------------------------------------------... 阅读全文
posted @ 2015-12-14 14:34 JSZX11556 阅读(316) 评论(0) 推荐(0) 编辑
摘要:把每个数唯一分解, 要让乘积是完全平方数, 那就得让每个质数是偶数次方, 列出t条方程然后解它们在mod 2意义下的自由元个数v(异或方程组). 答案就是2^v-1(空集不算), 高精度...------------------------------------------------------... 阅读全文
posted @ 2015-12-14 13:23 JSZX11556 阅读(341) 评论(0) 推荐(0) 编辑
摘要:题目大意:给N个点,求每个点的与其他点距离最大值很经典的树形dp...很久前就想写来着...看了陈老师的code才会的...mx[x][0], mx[x][1]分别表示x点子树里最长的2个距离, dfs一遍得到. mx[x][2]表示从x的父亲到x的最长路径长度, 也是dfs一遍得到(具体看代码)。... 阅读全文
posted @ 2015-12-13 20:49 JSZX11556 阅读(386) 评论(0) 推荐(0) 编辑
摘要:显然答案是G^∑C(d,N)(d|N).O(N^0.5)枚举N的约数.取模的数999911659是质数, 考虑欧拉定理a^phi(p)=1(mod p)(a与p互质), 那么a^t mod p = a^(t mod phi(p)) mod p.所以答案是G^(∑C(d,N)%(p-1))(d|N),... 阅读全文
posted @ 2015-12-12 19:54 JSZX11556 阅读(333) 评论(0) 推荐(0) 编辑
摘要:考虑cdq分治, 对于[l, r)递归[l, m), [m, r); 然后计算[l, m)的操作对[m, r)中询问的影响就可以了. 具体就是差分答案+排序+离散化然后树状数组维护.操作数为M的话时间复杂度大概是O(M(logM)^2)--------------------------------... 阅读全文
posted @ 2015-12-11 20:47 JSZX11556 阅读(294) 评论(0) 推荐(0) 编辑
摘要:结点容量..拆点然后随便写---------------------------------------------------------------#include#include#includeusing namespace std;#define chk(x, y) (x >= 0 && x... 阅读全文
posted @ 2015-12-11 13:14 JSZX11556 阅读(195) 评论(0) 推荐(0) 编辑
摘要:假如矩阵范围小一点就可以直接用二维树状数组维护. 这道题, 差分答案, 然后一维排序, 另一维离散化然后树状数组维护就OK了。------------------------------------------------------------------------#include#includ... 阅读全文
posted @ 2015-12-10 21:29 JSZX11556 阅读(338) 评论(0) 推荐(0) 编辑
摘要:递推式很明显...但是要做矩阵乘法就得拆点..我一开始很脑残地对于每一条权值v>1的边都新建v-1个节点去转移...然后就TLE了...把每个点拆成9个就可以了...时间复杂度O((9N)^3*logT)------------------------------------------------... 阅读全文
posted @ 2015-12-10 19:14 JSZX11556 阅读(286) 评论(0) 推荐(0) 编辑
摘要:(x+1)(x-1) mod N = 0, 枚举N的>N^0.5的约数当作x+1或者x-1。。。------------------------------------------------------------------------------#include#include#include... 阅读全文
posted @ 2015-12-10 14:34 JSZX11556 阅读(307) 评论(0) 推荐(0) 编辑
摘要:更相减损,要用高精度....---------------------------------------------------------------#include#include#include#includeusing namespace std;const int maxn = 1000... 阅读全文
posted @ 2015-12-09 22:07 JSZX11556 阅读(304) 评论(0) 推荐(0) 编辑
摘要:一个串建后缀自动机, 其他串在上面跑, 然后用当前串跑的去更新全部---------------------------------------------------------------------------#include#include#includeusing namespace st... 阅读全文
posted @ 2015-12-09 19:50 JSZX11556 阅读(236) 评论(0) 推荐(0) 编辑
摘要:分块,分成N^0.5块.O(N^1.5)预处理出sm[i][j]表示前i块中j的出现次数, ans[i][j]表示第i~j块的答案. 然后就可以O(N^0.5)回答询问了.总复杂度O((N+Q)N^0.5)-----------------------------------------------... 阅读全文
posted @ 2015-12-08 22:02 JSZX11556 阅读(281) 评论(0) 推荐(0) 编辑
摘要:先二分答案m,#include#include#includeusing namespace std;typedef long long ll;const int maxn = 1000000;int N;int p[maxn], mu[maxn], pn = 0;bool F[maxn];void... 阅读全文
posted @ 2015-12-08 19:13 JSZX11556 阅读(261) 评论(0) 推荐(0) 编辑
摘要:这种题用数据结构怎么写都能AC吧...按1~N弄个链表然后每次插入时就更新答案, 用set维护就可以了...-----------------------------------------------------------------------------------#include#incl... 阅读全文
posted @ 2015-12-08 14:31 JSZX11556 阅读(221) 评论(0) 推荐(0) 编辑
摘要:贪心...用最弱的赢最弱的,用最强的赢最强的,否则用最弱的和最强的比...(贴个官方题解:将双方的选手均按从强到弱排序,然后第一次扫描尽可能用当前剩下的选手中能赢对手当前最强选手中最弱的一个去赢得胜利,若无法做到,则暂时不考虑给对方最强的选手匹配对手。第二遍扫描使用同样策略去获取尽量多的平局。最后剩... 阅读全文
posted @ 2015-12-07 21:26 JSZX11556 阅读(325) 评论(0) 推荐(0) 编辑
摘要:不同最小生成树中权值相同的边数量是一定的, 而且他们对连通性的贡献是一样的.对权值相同的边放在一起(至多10), 暴搜他们有多少种方案, 然后乘法原理。--------------------------------------------------------------------------... 阅读全文
posted @ 2015-12-07 20:20 JSZX11556 阅读(276) 评论(0) 推荐(0) 编辑
摘要:把括号序列后一定是))))((((这种形式的..所以维护一个最大前缀和l, 最大后缀和r就可以了..答案就是(l+1)/2+(r+1)/2...用splay维护,O(NlogN). 其实还是挺好写的, 只是我傻X--------------------------------------------... 阅读全文
posted @ 2015-12-04 21:59 JSZX11556 阅读(269) 评论(0) 推荐(0) 编辑
摘要:我一开始的想法是设f(x)表示点x到N路径的期望长度, 那么f(u) = (∑f(v)+w(u,v)) / degreeu, f(N)=0, 我们代入入消元应该可以得到f(1)关于各条边长的关系式f(1)=∑we..然后贪心, 按照他们的系数来给边权...但是不会实现..但是我感觉是可行的..PoP... 阅读全文
posted @ 2015-12-03 21:01 JSZX11556 阅读(314) 评论(0) 推荐(0) 编辑
摘要:BZOJAC400题了... 阅读全文
posted @ 2015-12-03 18:44 JSZX11556 阅读(151) 评论(2) 推荐(0) 编辑
摘要:lucas裸题. C(m,n) = C(m/p,n/p)*C(m%p,n%p).-----------------------------------------------------------------------------------------#include#include#incl... 阅读全文
posted @ 2015-12-03 18:42 JSZX11556 阅读(226) 评论(0) 推荐(0) 编辑
摘要:知道prufer序列就能写...就是求个可重集的排列...先判掉奇怪的情况, 然后答案是(N-2)!/π(d[i]-1)!---------------------------------------------------------------------------#include#inclu... 阅读全文
posted @ 2015-12-02 22:02 JSZX11556 阅读(290) 评论(0) 推荐(0) 编辑
摘要:我们可以BFS出每个出口到每个人的最短距离, 然后二分答案, 假设当前答案为m, 把一个出口拆成m个表示m个时间, 点u到出口v的距离为d, 那么u->v的[d, m]所有点连边, 然后跑匈牙利去check就行了...其实这道题挺好想但是码量还是挺大的....--------------------... 阅读全文
posted @ 2015-12-02 21:19 JSZX11556 阅读(281) 评论(0) 推荐(0) 编辑
摘要:1 3 9 ……2 6 18……4 12 36……把数写成上面的样子,那么就变成了给出若干个类似矩阵的东西, 然后求任意一行r的任意一个元素c与r-1,r,r+1行的c-1,c+1不能同时被选中..就是一个状态压缩的dp.dp(x, s)表示第x行, 这一行状态为s的方案数.最后乘法原理乘一下。--... 阅读全文
posted @ 2015-12-02 19:33 JSZX11556 阅读(298) 评论(0) 推荐(0) 编辑
摘要:一位一位考虑异或结果, f(x)表示x->n异或值为1的概率, 列出式子然后高斯消元就行了------------------------------------------------------------------#include#include#include#includeusing n... 阅读全文
posted @ 2015-12-02 16:37 JSZX11556 阅读(229) 评论(0) 推荐(0) 编辑
摘要:平面图中E ≤ V*2-6..一个圈上2个点的边可以是在外或者内, 经典的2sat问题..------------------------------------------------------------------------------------------#include#includ... 阅读全文
posted @ 2015-12-01 20:50 JSZX11556 阅读(231) 评论(0) 推荐(0) 编辑
摘要:dp(i, j)表示选第i个, 且当前序列长度为j, 另一个序列的最后一个元素的最小值...然后根据上一个是哪个序列选的讨论一下就行了...奇怪的dp...-------------------------------------------------------------#include#in... 阅读全文
posted @ 2015-12-01 18:51 JSZX11556 阅读(293) 评论(0) 推荐(0) 编辑
摘要:把相同颜色的串成一个链表, 然后每次A操作就启发式合并, 然后计算对答案的影响.------------------------------------------------------------------------#include#include#includeusing namespac... 阅读全文
posted @ 2015-12-01 14:30 JSZX11556 阅读(269) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示