摘要:
将军令题解 首先,每个叶子节点都要被至少一个小队控制, 则贪心地放置小队, 放置之后没被覆盖的点跟属于控制范围的点无关, 又属于新的“叶子”,继续递归。 如何贪心地放置? 对于每一个点,我们求出离它最远的没被覆盖的点, 若距离超过k 它离最近的小队的距离, 则必定放置小队, 并把离它距离小于等于k的 阅读全文
摘要:
集合选数题解 构造神题, 对于每一个不含质因数2和3的数字, 我们构造一个矩阵(可能并不满), 第一行第一列是这个数, 在同一行中,下一列的数是这一列的数的2倍, 在同一列中,下一行的数是这一行的数的3倍。 如果我们选矩阵中一个数, 则右边的数是这个数的两倍而不能选, 同理,下面的数同样不能选, 不 阅读全文
摘要:
bzoj3714: [PA2014]Kuglarz题解 "原题链接:" 妥妥的神题, 看到这道题谁会想到最小生成树, 而且kruskal还很难卡过去,即使有20s(~~人丑自带常数大~~) 只好又学了一波prim, 感觉还行,跟dijkstra差不多???~~~ 所以代码: cpp include 阅读全文
摘要:
世界冰球锦标赛题解 折半搜索裸题 我们可以先枚举前一半的所有方案,总共有$2^{20}=1048576\approx 1000000$种, (注意数组大小要大于1048576,~~作者第一次提交就只开了1000000,锅了~~) 用一个数组c储存并排序。 在枚举后一半的方案,设其费用为w, 按w从大 阅读全文
摘要:
平衡树学习笔记 一.BST: Binary Search Tree,二叉搜索树。 用来维护满足某一大小关系的序列。 可实现操作如下: 1.插入x数2.删除x数3.查询x数的排名4.查询排名为x的数5.求x的前驱6.求x的后继 对于每一种操作,最多只会从树根到叶子(后面会详细讲解),时间复杂度最大是树 阅读全文
摘要:
午餐题解 贪心+dp 1.贪心: 不妨取任意两人i,j,则: 打饭时间为: $\sum_{k=1}^{i 1}a_{k}+a_{i}+b_{i},$ $\sum_{k=1}^{i 1}a_{k}+a_{i}+\sum_{k=i+1}^{j 1}a_{k}+a_{j}+b_{j}$ 互换后打饭时间为: 阅读全文
摘要:
炮兵阵地题解 状压DP的恶(mu)心(ban)题, 我们可以发现题目中:m using namespace std; const int N=106,M=1026; int n,m,o1=2,o2=0,o3=1,ans= 1,t,p,q,w,g[N],h[M],num[N],flag[N][M],d 阅读全文
摘要:
公路修建问题题解 一看到题目中“花费最大的公路最小”, 我们就想到了二分, 于是乎,我们就有了最大的边x, 还需要满足的条件是: 1.有k条花费小于x的一级公路,且这k条不构成环(因为是要树中有k条一级公路) 2.所有花费小于x的公路能构成一条最小生成树 用并查集维护连通,用Kruskal的思想能加 阅读全文
摘要:
Fishes题解 我们考虑每一条鱼的贡献, 显然是能被选中的矩形的个数/矩形总数 可知,我们普通的鱼能被选中的矩形个数为r r[从上至下r,从左至右r], 但是有时会受到矩形大小的限制, 此时x r+1n或者y r+1m, 能选矩形的下界为min(n r+1,x),上界为max(1,n r+1),上 阅读全文
摘要:
糖果传递题解 我们不妨设第n个人给第一个人的糖果数为x1,第一个人给第二个人的为x2,第二个给第三个的为x3,......,第n 1个人给第n个人的为xn,则: 答案为$|x_{1}|+|x_{2}|+|x_{3}|+......+|x_{n}|$ 且满足条件: $a_{i}+x_{i} x_{i+ 阅读全文
摘要:
An overnight dance in discotheque题解 其实可以看做一道结论题:只将覆盖次数为2的圆放到另一组。 我们可以将结论分解为两部分: 1.将覆盖次数为2的圆放到另一组。 2.不将覆盖次数大于2的圆放到另一组 在图中我们可以看到,覆盖次数为2的圆c3被放到另一空间, 此操作增 阅读全文
摘要:
阿狸和桃子的游戏题解 每一道代码简单的黑题都有着诡异的思想,真不知道出题者怎么想的。 而这道题的重点在于把边权转换为点权, 此题的方式是将边权w平均分给被连接的两点u和v。 若u和v都被一人选择,则他的分数较不加边权前多了w/2+w/2=w, 若被不同的人选择,分数差多了(ans1+w/2) (an 阅读全文
摘要:
教科书般的亵渎题解 先吐槽一波,这名字起的,没玩过游戏的人怕是都以为是什么题啊 原题链接 洛谷P4593 [TJOI2018]教科书般的亵渎题目描述小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为ai,且每个怪物血量均不相同,小豆手里有无限张“亵渎”。亵渎的效果是对所有的怪造成1点伤 阅读全文
摘要:
拉格朗日差值法学习笔记 1.定义: 拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。 给出不同的自变量下的函数值,拉格朗日插值法能找出恰好满足所有条件的多项式。 2.定义式: 我们仔细观察可以发现,当k等于任意x[i]时,对于所有i’!=i,连乘中定有k=x[i]=x[ 阅读全文
摘要:
圆的反演学习笔记 当初集训的时候听老师瞎扯性质,并不知道如何证明,现在也不知道,干脆将性质写下来,以后填坑算了。 1.定义: 假设有一圆c,圆心为o,半径为r,则一点p相对与o的反演点p’满足op*op’=r2 2.性质: <1>.圆内的点反演后在圆外,圆上的点不变,圆外的点反演后在圆内。 <2>. 阅读全文
摘要:
树套树学习笔记 吐槽一下: 其实感觉并没有什么好写的,但好歹是个数据结构,不写不好将题分类啊! 而且目前只做了线段树套平衡树的题目,其它的就以后慢慢填坑吧! 其实就只打了洛谷树套树模板,QAQ博主还是太弱了。 话说带修改主席树算不算树状数组套线段树,博主太弱了,请各位大佬解惑。 1.线段树套平衡树: 阅读全文
摘要:
树链剖分学习笔记 一.前置技能: dfs序,lca and 线段树 二.如何操作: 1.概念:(自己瞎想的)树链剖分,又叫重链剖分,是一种通过将树剖为轻重链来将树上问题转化为区间问题,解决树上两点间路径问题,以及子树问题的算法。 2.实现: <1>.概念: 重儿子:非叶子节点儿子中,子树最大的一个。 阅读全文
摘要:
主席树学习笔记 1.理解: 一种可持久化数据结构,本质上是可持久化线段树,若加上前缀和思想便为主席树。 其思想为:单点修改时,只有被修改的点到根的一条链上的点会发生改变,建一个新根,添一条新链,并与不改变的点相连。以此为基础,建立权值线段树,记录每个值(可以预先离散)出现的次数,将序列中的点看作增加 阅读全文
摘要:
战略游戏: 题目描述省选临近,放飞自我的小Q无心刷题,于是怂恿小C和他一起颓废,玩起了一款战略游戏。这款战略游戏的地图由n个城市以及m条连接这些城市的双向道路构成,并且从任意一个城市出发总能沿着道路走到任意其他城市。现在小C已经占领了其中至少两个城市,小Q可以摧毁一个小C没占领的城市,同时摧毁所有连 阅读全文
摘要:
消耗战: [SDOI2011] 消耗战题目描述在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他k个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸 阅读全文
摘要:
虚树 1.什么时候用(为什么用): 对于某些树,我们并不需要用到全部的点。如果用全部的点,会超时。 所以,我们将需要用到的点拎出来建树,来确保时间复杂度的优秀。注:我们所建的虚树就是包含所有需求点,省略某些非需求点的最小连通子图。 如图: 若图中需要用到点4、5、12、14, 我们只需放入1、2、4 阅读全文
摘要:
铁人两项: 洛谷P4630 [APIO2018] Duathlon 铁人两项 题目描述比特镇的路网由 m 条双向道路连接的 n 个交叉路口组成。最近,比特镇获得了一场铁人两项锦标赛的主办权。这场比赛共有两段赛程:选手先完成一段长跑赛程,然后骑自行车完成第二段赛程。比赛的路线要按照如下方法规划:先选择 阅读全文
摘要:
圆方树 一.是什么:对于一个连通图,设所有原来的点为圆点,将每个点双连通分量缩成一个方点,与相邻的圆点连边,不存在圆点之间的边。连接两个方点的圆点都是割点。二.有什么用:可以将图上问题转化为树上问题,利用树的优秀性质做题。 将圆点和方点附上合适的权值,可将图的问题转化为树型DP。三.具体实现:tar 阅读全文
摘要:
2-SAT学习笔记 1.what is: 有一个由n个bool变量组成的序列A,有一定的限制条件,求出满足条件的方案。 2.how to do: (1).建图: 将每个点拆成(i<<1)和((i<<1)|1)[即 2*i 和 2*i+1 ],分别代表这个变量是真或假。 连接有向边(u->v)表示由u 阅读全文