构造
文章平均质量分 70
YiPeng_Deng
这个作者很懒,什么都没留下…
展开
-
CF1528F AmShZ Farm
CF1528F我们要求∑j≤icj≥i\sum_{j\le i}c_j\ge i∑j≤icj≥i的n!∏ci!\frac{n!}{\prod c_i!}∏ci!n!的和。打表发现答案为(n+1)n−1(n+1)^{n-1}(n+1)n−1,考虑这是一个n+1n+1n+1个点的无根树的方案,考虑怎么将答案与一棵树构造一个双射。有一个很神奇的构造,我们有一个以1为根的大小为n+1n+1n+1的有标号无根树,我们在上面dfs,先走编号小的儿子,将走过每一个点的儿子个数写成一个序列,可以得原创 2021-07-10 15:40:10 · 168 阅读 · 0 评论 -
agc018F Two Tree
agc018F Two Tree传送门Solution这是一道神奇的结论题。首先你可以手玩一下,可以发现如果根据一个节点儿子的个数可以确定当前权值的奇偶性,如果在两棵树中奇偶性不同则无解。进一步的可以感受到如果满足上面的条件只需要−1,0,1-1,0,1−1,0,1就可以构造出来。考虑关键的在于未确定的−1,1-1,1−1,1,我们需要一个东西来平衡子树内的权值。对于这种看起来是线性的构造问题,一般需要用图论、连边来解决。在我们本就不多的图论知识中,可以用欧拉回路原创 2021-07-08 21:45:28 · 199 阅读 · 0 评论 -
稳定匹配学习小计
定义稳定匹配:特殊的二分图匹配,不妨假设X部和Y部称为男和女,那么每一个男的对于所有女的有一个优先级,每一个女的也对于男的有优先级,一组匹配是不稳定的即为存在一男一女他们认为对方比自己当前的对象优(那么他们就会私奔),反之则为稳定的(还需要满足不存在一对男女都没有匹配)。算法如何求出一组稳定匹配:考虑做若干轮,每一轮所有男的都会追求还未追求过的最优的女的,然后每一个女的会在追求她的男的中选择自己认为最优的男的。实际上可以用队列实现,每一个男的按顺序追求,如果找到一个女的且自己能替代她现在的男朋友原创 2021-05-05 08:29:55 · 219 阅读 · 0 评论 -
LOJ#3347. 「APIO2020」有趣的旅途
Description传送门Solution以下给出了一个只需要3n3n3n次询问的做法首先考虑怎么构造一个方案,首先先反过来,然后考虑对于一个起点,把不同儿子的点按照深度从小到大轮流跳。不难发现只要不存在一个子树的大小>n2>\frac{n}{2}>2n,就一定有解。至于构造方案,设resresres为剩下的点,mxmxmx为最大的子树的大小,当前满足res−mx≥mxres-mx\ge mxres−mx≥mx,每一次选择其他子树中最浅的没有被选择的点,那么最后一定有一原创 2021-01-11 22:28:17 · 270 阅读 · 0 评论 -
CF1375G Tree Modification
Description传送门Solution做法:直接黑白染色,取颜色少的点数减一即为答案。考虑当我们确定根之后,每一次选择的移动节点aaa如果往它的儿子连或它的兄弟连是不优的。因此我们每一次都是尽量往上面跳两个节点。再考虑简单的一条链的时候,深度为奇数的点必须要往上面跳一次,深度为偶数的点跟着深度为奇数的点往上跳,从下往上做。如果操作一个深度为偶数的节点,会使得深度为偶数的节点增多,而最后到了根节点下面的时候深度为偶数的节点是要一个一个操作的,所以不优。可以证明的是即使中间选择了奇数节点,原创 2020-12-16 22:18:15 · 152 阅读 · 0 评论 -
arc110F Esoswap
Description传送门Solution%g%m%h%7%7 orz。多做构造题还是不会NOIP首先要知道1是非常特殊的,我们不断操作1的位置可以使得这个序列不断地轮换。我们不断操作同一个位置,可以发现每一次操作获得到的数字都不相同,并且全部数字都会获得一次,直到0.证明可以考虑一个pip_ipi到pi+pip_{i+p_i}pi+pi的位置之后,想要动到它就要有pip_ipi,可是pip_ipi却已经在后面了,动不到。如果我们先固定小的数字,那么后面的灵活性就不大了,因原创 2020-12-08 22:37:33 · 403 阅读 · 0 评论 -
CF1446E Long Recovery
Description传送门Solution玩了一段时间觉得可以直接模拟,全部涂成黑色,然后再全部变成白色,BFS即可???好吧,除了样例什么都过不去。因为有一种特殊的情况:并不一定要先补上那个空白,而是可以先右上的删去,再加入空白,再把右上加入,可以白嫖一次。那么我们只需要把这种情况判断掉就好了!!!好吧,到底应该怎么判,答案怎么计算还有重新想一想。我们可以从中定义一个势能ϕ\phiϕ,即相邻的块不同的个数,那么每一次翻转一个格子会根据旁边有三个不同还是两个不同而使得ϕ\p原创 2020-11-19 21:40:26 · 284 阅读 · 0 评论 -
CF1438D Powerful Ksenia
Description给你一个数组aaa,大小为nnn,每一次可以选择一个三元组(i,j,k)(i≠j≠k)(i,j,k)(i\neq j\neq k)(i,j,k)(i=j=k),然后将ai,aj,aka_i,a_j,a_kai,aj,ak赋值为ai xor aj xor aka_i\ xor\ a_j\ xor\ a_kai xor aj xor ak求一个方案使得在nnn步之内将使得aia_iai原创 2020-11-14 11:48:40 · 597 阅读 · 1 评论 -
agc033F Adding Edges
agc033F Adding Edges给你一棵 NNN 个点的树 TTT 和一个MMM条边的无向图GGG,对于GGG进行如下加边操作直到无法操作:选择a,b,ca,b,ca,b,c使得a,b,ca,b,ca,b,c以某种顺序在TTT的一条链上,并且存在边(a,b),(a,c)(a,b),(a,c)(a,b),(a,c)。将(b,c)(b,c)(b,c)加入GGG。问最后GGG中有多少边。N,M≤2000N,M\le2000N,M≤2000Solution有一种很妙的转化,如果链上原创 2020-10-23 15:45:23 · 249 阅读 · 0 评论 -
agc029F Construction of a tree
agc029F Construction of a tree给n−1n-1n−1个只包括1−n1-n1−n正整数的点集,要求从每一个点集中选择一对点连边,使得最后构成一个nnn个点的树。n≤1e5,∑∣S∣≤2e5n\le1e5,\sum|S|\le2e5n≤1e5,∑∣S∣≤2e5Solution很容易想到一个无解的条件:假设读入的点集是SSS,对于一个T={S}T=\{S\}T={S},如果TTT涵盖的点数c≤∣T∣c\le|T|c≤∣T∣那么一定是无解的。因为这样连不少于点数条边原创 2020-10-22 22:31:00 · 213 阅读 · 0 评论 -
CF1368E Ski Accidents
CF1368E Ski Accidents给一个每一个点出度不大于2的有向无环图。你需要删除最多47n\frac{4}{7}n74n的点以及跟它们有关的边,使得最后图中不存在边数大于1的路径。输出任意一组方案。n≤2e5n\le2e5n≤2e5Solution首先47\frac{4}{7}74就很特别,再联系到每一个点的出度最多为2,应该发现这是一个1,2,41,2,41,2,4的满二叉树,我们删去那444个点。这启发我们,如果我们能够将nnn个点分成三个集合A,B,CA,B,CA,原创 2020-10-16 07:34:11 · 126 阅读 · 0 评论 -
agc027D Modulu Matrix
agc027D Modulu Matrix构造一个n∗nn*nn∗n的矩阵aaa,满足没有两个元素相等,ai,j≤1e15a_{i,j}\le1e15ai,j≤1e15。对于所有相邻的格子值为x,yx,yx,y,满足max(x,y)%min(x,y)max(x,y)\%min(x,y)max(x,y)%min(x,y)全部为某一个固定的值mmm。n≤500n\le500n≤500Solution对于这一类构造题,可以先思考一种简单的能够得到答案的通解,我们寻求的方法应该是简单原创 2020-10-15 20:57:24 · 191 阅读 · 0 评论 -
【Codeforces】GoodBye 2019简要题解
传送门七道构造题,外加一道暴力,妙啊! 话说构造题太考验思维了,想不到就没了。A.Card Game直接贪心即可B.Interesting Subarray可以发现当且仅当存在相邻的两个不满足条件时才存在,也就是说任意一个不合法的子段一定有这么一个相邻的位置不合法。C.Make Good因为要求∑ai=2∗(a1 xor a2 xor...ak)\sum a_i=2*(a_...原创 2020-01-11 20:13:08 · 377 阅读 · 0 评论 -
【2019杭州集训12.09】向量
Description给定一棵 nnn 个节点的树,点的标号为 1..n1..n1..n,边有边权。记 d(u,v)d(u, v)d(u,v) 为 uuu 到 vvv 的路径上边的权值和,对于每个节点 uuu,你需要给出一个 mmm 维向量 pu=pu =pu={ pu,1,..,pu,mp_{u,1}, .., p_{u,m}pu,1,..,pu,m }。使得对于任意点对 u,vu...原创 2019-12-10 09:52:05 · 203 阅读 · 0 评论 -
JZOJ6406. 【NOIP2019模拟11.05】小 D 与原题
Descriptionn<=1000n<=1000n<=1000Solution构造题,做法简单,思路奇妙(打表找规律)。一种构造方法是按顺序将(1,2)(1,3)…(1,n)(2,3)(2,4)…(n-1,n)加入n-1组里面。如果上一个加到了第i组里面,那么下一个就要从i+1组开始判断能不能加进去。还有另一种构造是这样的:相当于是枚举匹配的(i,j)的中间...原创 2019-11-06 08:08:53 · 231 阅读 · 0 评论 -
【Codeforces#596】D. Tree Factory
Description传送门一个爷爷非空的节点x可以做一个操作:fa(x)=fa(fa(x))给一棵树,求如何将一条链通过最少的操作次数变成这个树,节点编号要完全一致。输出这条链初始的编号,以及操作次数,和每一次操作的节点编号。n<=1e5Solution构造题。思路比较神奇。首先反过来,求树变成链。首先考虑最少的操作次数。从树的深度切入。最初的深度是dep,最终的...原创 2019-10-30 15:25:20 · 250 阅读 · 0 评论