03 2018 档案
摘要:题目大意:给出一段序列,每次查询一段区间,求区间最大值。 ST表:设原序列为A,定义F[i][k]为A[i][2k-1]的最大值。有递归式:F[i][k]=max(F[i][k-1], F[i+2k-1][k-1])。设置F时,外层循环k,内部循环i。查询时,令k为2^k不超过r-l+1的最大k,返
阅读全文
摘要:题目大意:给出一个完全图,图的边有两个权值:len和cost。现要求一个生成树,能够连通所有节点,且cost的和与len的和的比值最小。 二分法枚举lambda,把每个边权改为len-cost*lambda求最小生成树。得出的边权和若等于0,则lambda为所求。否则,若大于0,则取右子区间;若小于
阅读全文
摘要:题目大意 给出一个无向图,求出最小生成树,如果该图不连通,则输出orz。 概念 对于一个无向图,要求选出一些边,使得图上的每一个节点互相连通,且边权和最小。选出的边与节点形成的子图必然是颗树,这棵树叫做最小生成树。 Prim算法 原理 最小生成树中,除根节点外,每一个节点作为一个to节点与它相邻的边
阅读全文
摘要:最小费用最大流,我们再次用管道水流比喻。现在,每个管道对于1横截面积的水流有个费用。现要求最大流的水流方案中花费最小的那一个。 不断用SPFA找到从源点到汇点的最短可增广路径,并将尽可能多的水流注入该可增广路径即可。注意一段增广路径的最大流量为其组成的边中剩余容量最小的边的剩余容量。
阅读全文
摘要:基本概念 二分图有两个种点:X和Y。X与Y之间存在一些边,每个边有一个权值。现要求求一组X与Y间的通过边实现的一一匹配,使得得到的边权和最大。 总体过程 对每个X节点设置一个顶标Xl,初值为与X相邻的边的权值最大值;Y节点设置一个顶标Yl,初值为0。当前情况下,如果Xl[x]+Yl[x]==weig
阅读全文
摘要:基本概念:二分图有两种节点:X节点和Y节点。如果X和Y可以匹配, 则X与Y连着一条边。每个X节点最多只能匹配一个Y节点,同时每个Y节点最多只能匹配一个X节点。最大匹配便是最多的匹配数。 交错路径:交错路径中的边分为重边和轻边。每个每两个相邻的边的种类是不同的。对于两端的边都为轻边的一条交错路径,此时
阅读全文
摘要:题目大意 给出一个网络图,以及其源点和汇点,求出其网络最大流。 概念 可以把网络图看作管道,节点看作管道的交界处。流就像是管道里的流水。管道有个容量(相当于横截面积),还会有个流量(相当于水流占了管道的多少横截面积)。管道的交界处的流量满足流入的流量和等于流出的流量和。网络图有源点和汇点,水流必须从
阅读全文
摘要:题目大意 已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和操作3: 格式: 3 x z 表示将以x为根节点
阅读全文
摘要:【两种delta值叠加,通过特殊设定lazy标记的运算来实现】
阅读全文
摘要:题目大意 给定n个点以及每个点的权值,要你处理接下来的m个操作。操作有4种。操作从0到3编号。点从1到n编号。0.询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1.代表连接x到y,若x到y已经联通则无需连接。2.后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。3
阅读全文
摘要:题目大意 维护一个数据结构,满足以下操作: 引子 维护一个二叉搜索树,其中每一个节点满足左节点的key小于该节点的key小于等于右节点的key。由于本题要求排名,所以节点中要有值Size表示子树的大小。由于本题要求若有多个相同的数,输出最小的排名,因此每个节点还要维护一个值count表示节点的数值重
阅读全文
摘要:#include <cstdio> #include <cstring> #include <vector> using namespace std; void DoSth(vector<int>& chosen) { for(int i=0; i<chosen.size(); i++) print
阅读全文
摘要:题目大意 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。 总体思路 令totLen为所有小木棍总长度,枚举每一个原始木棍的可能
阅读全文
摘要:题目大意:给出n,求1~n所有数的乘法逆元。 乘法逆元的概念是:如果b*rev(b)≡1 (mod p),p与b互质,则rev(b)就是b的模p乘法逆元。乘法逆元往往用于除法取模。 具体操作详见http://www.cnblogs.com/headboy2002/p/8845986.html
阅读全文
摘要:题目大意:快速求a^b\mod p的值。 根据二进制,令b=\sum t_k\cdot 2^k, t\in \{0,1\},那么a^b=a^{\sum t_k\cdot 2^k}\mod p=\prod a^{t_k \cdot 2^k}\mod p。k表示当前处理的b的二进
阅读全文
摘要:题目大意:给出范围为(0, 0)到(n, n)的整点,你站在原点处,问有多少个整点可见。 线y=x和坐标轴上的点都被(1,0)(0,1)(1,1)挡住了。除这三个钉子外,如果一个点(x,y)不互质,则它就会被点(x0, y0) (x0,y0互质,x/x0==y/y0)挡住。能看见的钉子关于线y=x对
阅读全文
摘要:【唯一分解定理】
【因数个数定理】
【int范围内唯一分解定理中质数的次数最大不超过32,质数的个数最多不超过10个】
阅读全文
摘要:【求质数,用筛法】
【筛选不一定要从头开始】
阅读全文
摘要:【将多个数值压到一个整数里 的状态压缩】
阅读全文
摘要:【数据量很小,当前状态受以前的具体状态的影响时,用状压DP】
阅读全文
摘要:【环上非区间DP,在初值与终值上加限制条件】
阅读全文
摘要:【树上以子树(根)作为纽带,在一定限制下求最值的问题,用树上背包】
阅读全文
摘要:【环上的区间DP,断环为链扩二倍】
阅读全文
摘要:【动规时,当维度的含义不固定时,滚动数组/覆盖数组有妙用】
【求最大值,最大值的来源不确定,可在多个可能产生次大值的来源中选最大】
阅读全文
摘要:【动规有限制,加维】
阅读全文
摘要:【动规复杂度不符合要求,与贪心结合】
阅读全文
摘要:题目大意: 有一个天平,天平左右两边各有若干个钩子,总共有C个钩子(每个钩子有相对于中心的距离,左负右正),有G个钩码,求将钩码全部挂到钩子上使天平平衡的方法的总数。 将每个砝码看作一组,组内各个物品的体积为每个挂钩与该砝码形成的力矩,背包总体积严格为0,这便是分组背包计数问题(特殊点:每一组必须出
阅读全文
摘要:【动态规划,多个限制,加维】
阅读全文
摘要:【约束条件下求最值,用背包】
阅读全文
摘要:【动规在一个区间里求最值,用单调队列】
阅读全文