11 2015 档案
摘要:首先特判全部都是A或者全部都是B或者的情况。然后把矩阵四周都填充上A,枚举一个块,分以下情况讨论:1.在它四周选两个块扩展,此时平方暴力枚举即可。2.在它四周选定一个方向扩展两步。3.选择一个角落,斜着扩展一步,再扩展另一步。时间复杂度。#include#define re...
阅读全文
摘要:设表示点不放无线,它的儿子里放了个无线,且对的父亲不作要求时的最小代价。表示点不放无线,要求的父亲至少放个无线时的最小代价。表示点放了个无线时的最小代价。然后从底向上树形DP即可,时间复杂度$O(n...
阅读全文
摘要:只考虑第一问,将珠子按照价值从小到大排序,设排序后第小的为,定义二元组表示当前珠子的总价值为,用的价值最大的珠子为,用一个小根堆来维护所有状态。一开始往堆中加入状态,然后每次取出堆顶元素,可以扩展出$(x+b[y+1],y...
阅读全文
摘要:可以发现,每个特殊点可以贡献的部分在树上是一条链。设三元组(v,x,y)表示路径长度,需要更新的端点,与当前点的lca为y。对于每个节点x,通过两遍树形DP可以求出:d[x]:x到x子树内的某个特殊点的最优解。u[x]:x到x子树外的某个特殊点的最优解。pre[x]:x以及x之前的兄弟的d[]的最优...
阅读全文
摘要:单路径最大和问题,设f[i][j][S]表示到达(i,j),轮廓线状态为S的最优解。S用4进制m+1位数表示,0表示无插头,1表示左括号,2表示右括号,3表示独立插头。在DP之前先进行一次预处理,剔除无效状态,并预处理出与每个括号匹配的另一个括号的位置,有效状态只有8000个左右。然后分类讨论进行转...
阅读全文
摘要:建立AC自动机,并求出转移矩阵。再用去替换第一个方程,高斯消元即可。时间复杂度。注意精度问题,要特判0.00的情况。#include#include#include#define N 110using namespace std;int n,l,...
阅读全文
摘要:树的点分治,在分治的时候将所有点到根的距离依次放入一个数组q中。对于一棵子树里的点,合法的路径一定是q[L]..q[R]的某个数加上自己到重心的距离。定义五元组(v,l,m,r,w),表示当前路径长度为v,在[l,r]里选出最大值m,并加上w。用大根堆维护这些五元组,每次取出v最大的元素,并扩展出[...
阅读全文
摘要:考虑分块,每块维护两个标记。那么对于块中一个位置,它的实际值为。修改的时候,对于整块,直接打标记,对于零散的暴力修改,然后重构凸壳,时间复杂度。查询的时候在凸壳上二分即可,时间复杂度$O(\sqrt{n}\log n...
阅读全文
摘要:对于一棵无根树,它的重心个数不超过2。 枚举每个重心,以重心为根求出这棵有根树的最小表示,然后取字典序最大的即可。 对于有根树的最小表示,可以看成括号序列,每次把子树的括号序列按字典序排序后依次串连起来即可。 #include<cstdio> #include<string> #include<al
阅读全文
摘要:对所有询问串建立AC自动机。然后将母串在AC自动机上跑,每走到一个点x,从x点出发沿着fail指针能到的所有前缀都是匹配成功的,暴力向上走,碰到走过的就break,这样每个点最多只会被标记一次。时间复杂度。#include#includeconst int N=10000003...
阅读全文
摘要:将每个点看成二维坐标点,那么每次操作的范围都是一个矩形。于是建立KD-Tree,通过打标记支持操作即可。时间复杂度。#include#includeconst int N=50010,P=536870912;int n,m,i,root,cmp_d,an...
阅读全文
摘要:首先通过差分约束系统建图,用Floyed算法求出任意两个砝码差值的上下界。然后暴力枚举放在右边的砝码C,D,通过与A,B差值的上下界分类讨论统计方案。时间复杂度。#include#define rep(i) for(i=0;ib)a=b;}inline void umax(int&a...
阅读全文
摘要:设出三个未知量分别表示三种单位的战斗力。那么各种不等式都可以表示成的形式。注意到,那么两边都除以得到。然后半平面交求出所有顶点后,对于每次询问将所有顶点带入求值即可。#include#include#incl...
阅读全文
摘要:设表示点按下开关后会影响到的点的集合,用二进制表示。不妨设为偶数,令,对于前一半暴力搜索所有方案,用map维护每种集合的最小代价。对于后一半暴力搜索所有方案,在map中查询补集。时间复杂度$O(n2^{\frac{n}{2}}...
阅读全文
摘要:建立Trie,那么成为答案的串必须满足其终止节点到根路径上没有其它点。对于Trie上每个节点维护一个bitset,表示哪些字符必须在哪些字符之前。每到达一个可能成为答案的终止节点,对图进行拓扑排序进行判定。时间复杂度。#include#include#define r...
阅读全文