10 2018 档案
摘要:因为有环,枚举前四位,每次做一次状压DP
阅读全文
摘要:一句话题意:求必须包含某K条边的回路(回到1),使得总权值最小 转化为权值最小的联通的偶点 令F[i]表示联通状态为i的最小权值,(3^n状压)表示不在联通块内/奇点/偶点,连边时先不考虑必选的边的度数和权值 最后加上必须的边(保证必须的边都被选了) 连完这些边以后考虑剩下的一些奇点,两两配对,G[
阅读全文
摘要:最坏的情况是全部合起来然后拆分,n+m-2 每找到一个和相等的子集,答案-2 问题转化为找到最多的子集 转化为随机序列前缀和相等
阅读全文
摘要:状压<=sqrt(n)的所有质因数 对所有数分解质因数,大于sqrt(n)的质因数最多出现一次 包含相同大于sqrt(n)的质因数的数应该都归属于同一个人 按大于sqrt(n)的质因数排序 F[X][Y]表示两个人小于sqrt(n)的质因数的选取情况 G[0/1][X][Y]用于转移包含相同的大于s
阅读全文
摘要:状压DP 暴力出奇迹
阅读全文
摘要:令G[i][0/1/2]表示1~i号盘最终会被统一叠到第几号柱子 F[i][0/1/2]表示1~i号盘最终被叠起来的步数 规则是确定的,那么转移也是确定的 i从i-1转移过来 分类讨论一下 难度在于认识到所有东西都是确定的
阅读全文
摘要:状压最大前缀和由哪些数组成,保证最大前缀和合法
阅读全文
摘要:状压DP
阅读全文
摘要:我们构造一个矩阵,左上角为1,右边的数为左边的数*3,下边的数为上边的数*2,那么这个矩阵的列数不会超过11,行数不会超过17 对于矩阵中的数,只要选出的两个数的位置不是四联通,就是合法的 状压一行,转移 可能有多个矩阵,即左上角不一定是1 枚举左上角,且保证这个数不被包含在其他矩阵中,那么矩阵之间
阅读全文
摘要:网上说是容斥,说简单点就是补集转化,再简单点就是总方案-不合法方案 我们枚举和联通块中编号最小的点联通的点集 联通块为i,枚举的点集为j,首先j必须是联通的,然后j和i^j不能有连边,然后i^j内部是随便连的 这样枚举保证不重不漏 令F[i]表示点集为i必须联通的方案 G[i]表示点集为i不保证联通
阅读全文
摘要:对于包排序 状压DP
阅读全文
摘要:裸题 注意+特判
阅读全文
摘要:答案存在于 1.两个互相包含的区间 2.两个互不包含的区间 决策单调性显然 但是这代码很精妙啊,并不知道这个为什么能这样写
阅读全文
摘要:首先有一个性质,一个双联通图一定可以拆成一个小的双联通子图和一条链 一个点可以视为权值为0的双联通图或者一个点的链 状压DP,枚举子集 O(3^n*n^2)
阅读全文
摘要:把一个人看成二维平面上的一个点,把一个K[i]看成左上角为(0,+max),右下角为(K[i],K[i])的一个矩阵,那么可以很好地描述人对于询问是否合法(我也不知道他怎么想到这东西的) 然后把一组询问排序,按照K[i]从小到大依次处理,定义一个取点的方式为尽量取纵坐标小的点,那么可以构造出一种方案
阅读全文
摘要:贪心,把前一个答案比后一个优的标准作为排序标准
阅读全文
摘要:三种路径,左边出去左边回来,右边出去右边回来,绕一圈 绕一圈的路径最多出现一次 那么绕一圈的路径覆盖的点一定是左边半圈的右边和右边半圈的左边 枚举绕一圈的路径的起始点(一定要枚举,这一步不能贪心),更新答案
阅读全文
摘要:对于一个询问(x,y)对y出现次数分类,若<=lim,在儿子处统计答案,若>lim则y的种类肯定<lim,在祖先处统计(仿佛要去重?但是没去重也过了,那个时限仿佛怎么做都能过)
阅读全文
摘要:背包
阅读全文
摘要:超哥线段树
阅读全文
摘要:对于每个点开一棵权值线段树,以区间的左端点为值插入右端点的权值线段树中,并查集维护i左边第一个不被删空的位置,为F[i] 当一个点被删空的时候,这棵线段树中>F[i]的位置即为答案,清空以后把i和F[i]这两棵线段树合并
阅读全文
摘要:首先把原树建出来,然后线段树合并,dfs序,查询子树大小 线段树合并真是一个神奇的东西
阅读全文
摘要:F[x][i]表示x的子树中取的数字<=i的最大值,线段树合并优化DP 写得很难看,并不知道好看的写法
阅读全文
摘要:[l,r]+x不如[l,n]+x [l,r]-x不如(r,n)+x 所以等价于只有[l,n]+x 枚举断点树状数组合并 难度在于想到这个贪心
阅读全文
摘要:背包
阅读全文
摘要:难度在于读题
阅读全文
摘要:难度在于认识到这个式子有决策单调性,原因在于sqrt(a+x)增长速度不断减慢 单调队列维护函数,二分求交点
阅读全文
摘要:难度在于认识到顺序是没有关系的 斜率优化
阅读全文
摘要:双倍经验题 同BZOJ5336
阅读全文
摘要:状压最长公共子序列的DP数组,一维最多K(15)个数,且相邻两个数的差不超过1,2^15种状态,预处理转移
阅读全文
摘要:(X-N)(Y-N)=N^2
阅读全文
摘要:仔细读题发现c<=7 线段树合并 要比较x和y的大小,比较log(x)和log(y),并查集维护从属关系
阅读全文
摘要:由于是子序列,那么难度就在于读入
阅读全文
摘要:求出最短路径树,对于一个询问(x,y) 若不在树上S->T的链上,则答案不变,若在链上,考虑用一条非树边替换这条边,这条非树边必须跨越x->y这条边,线段树维护区间最小值
阅读全文
摘要:斜率优化+点分治(CDQ?) 首先处理一个分治中心到这一块子树的最高点(子树的根)的链上的DP值 优先分治处理包含根的子树,然后再处理其他子树
阅读全文
摘要:对于询问串建AC自动机,用母串匹配,标记访问过的节点不再被访问,最后枚举每个串统计答案
阅读全文
摘要:树上斜率优化
阅读全文
摘要:斯坦纳树 Dijkstra+堆貌似慢了一倍
阅读全文
摘要:首先根据裴蜀定理,v[i]等价于gcd(v[i],P),w[i]等价于gcd(w[i],P),所以我们只要求出P的约数的答案,F[i][j]表示用了前i种约数,能产生最小值为第j种约数的方案数,统计答案即可
阅读全文
摘要:F[0/1][i][j]表示i不取/取,i和i之前共取了j个的最小距离,wqs二分,最后那个特判0略显有毒
阅读全文
摘要:建树+点分治 难度在于建树
阅读全文
摘要:要求平均值最大,二分平均值,判定是否存在一条合法路径权值为正数,点分治+单调队列 看上去没有任何问题,然而其实每次点分的时候要按子树深度从小到大排序然后更新答案 复杂度O(n log ^ 2 n) 这个东西交上去又T了,然后学习了一下分数规划怎么二分,发现了一点神奇的方法,交上去又T了(可能我自己写
阅读全文
摘要:要求or的值最大,从高位到低位贪心,高位尽量为0,所以要求优先满足高位每段的xor和都相等 转化为前缀和就是选出0的个数能否>=m
阅读全文

浙公网安备 33010602011771号