构造
文章平均质量分 77
YB Lin
这个作者很懒,什么都没留下…
展开
-
AtCoder Regular Contest 063 E - Integers on a Tree 构造 + 二分图染色
传送门题意:给你一颗nnn个点的树,初始的时候某些点有权值pip_ipi,现在你需要给没给定的点赋一个权值,使得任意相邻点权值之差的绝对值等于111,若无解输出NoNoNo。1≤n≤1e5,1≤k≤n,0≤pj≤1e51\le n\le 1e5,1\le k\le n,0\le p_j\le 1e51≤n≤1e5,1≤k≤n,0≤pj≤1e5思路:考虑以定一个根,先递归儿子,求出儿子能取到的权值范围,让后根据儿子的范围来确定当前点的范围,不合法的话就直接输出NoNoNo即可。如果合法的话,显原创 2022-03-29 12:55:51 · 267 阅读 · 0 评论 -
AT3557 Four Coloring 切比雪夫距离 + 四色构造
传送门由于曼哈顿距离在图上显示的是一个棱形,并不是很好看,所以我们将其旋转45°45°45°,转换成切比雪夫距离,这样就变成了一个正方形,正方形内部的点距离都不超过ddd,此时可以将正方形内部的点看成一个整体,涂成一个颜色,将其缩为一个点,让后现在问题就变成了你需要将每个点与其周围8个方向的点的颜色都不相同,这个就是四色定理,可以按照如下方式构造:12121212...34343434...12121212...34343434......12121212...\\34343434...\\12原创 2022-03-18 08:41:56 · 194 阅读 · 0 评论 -
Harbour.Space Scholarship Contest 2021-2022 E. Permutation Shift 思维 + 剪枝
传送门文章目录题意:思路:题意:给你一个初始排列[1,2,3,...,n][1,2,3,...,n][1,2,3,...,n],你可以选择一个kkk,将这个排列循环右移kkk次,让后最多交换mmm次任意的两个位置之间的数,将其变成给定的数组。现在给你n,mn,mn,m,你需要求出所有可能的kkk。3≤n≤3e5,0≤m≤n33\le n\le 3e5,0\le m\le \frac{n}{3}3≤n≤3e5,0≤m≤3n思路:首先假设我们现在已经循环移动kkk次了,不难发现我们最多可以处理2原创 2021-10-05 22:49:07 · 184 阅读 · 0 评论 -
Codeforces Round #742 (Div. 2) F. One-Four Overload 构造 + 二分图染色
传送门文章目录题意:思路:题意:给你一个n∗mn*mn∗m的矩形,包含...和XXX,你有两种颜色,你需要给...染色使得每个XXX上下左右相邻的...其两种颜色个数相同,输出一种合法方案。1≤n,m≤5001\le n,m\le 5001≤n,m≤500思路:考虑XXX周围...的个数的情况。(1)(1)(1) 当有奇数个...的时候,显然不可能有合法解。(2)(2)(2)当有两个...的时候,我们将其连边,变成一个图,显然可以直接二分图染色构造答案。(3)(3)(3)当有四个...的时原创 2021-09-23 22:01:10 · 168 阅读 · 0 评论 -
Codeforces Round #743 (Div. 2) D. Xor of 3 模拟 + 构造
传送门文章目录题意:思路:题意:给你一个010101序列aaa,定义一次操作是选择一个[1,n−2][1,n-2][1,n−2]范围内的下表,将ai,ai+1,ai+2a_i,a_{i+1},a_{i+2}ai,ai+1,ai+2都变成ai⊕ai+1⊕ai+2a_i\oplus a_{i+1} \oplus a_{i+2}ai⊕ai+1⊕ai+2,问你能否在不超过nnn次操作的前提下,将序列aaa全部变成000。3≤n≤2e53\le n\le 2e53≤n≤2e5思路:首先注意到,原创 2021-09-22 17:07:08 · 137 阅读 · 0 评论 -
Codeforces Round #453 (Div. 1) D. Weighting a Tree 构造 + dfs树
传送门文章目录题意:思路:题意:给你一颗nnn个点的图,每个点都有一个点权cic_ici,要求你给每个边赋一个权值kik_iki,要求对于每个点与他相连的边的权值之和等于这个点的点权cic_ici。n≤1e5,n−1≤m≤1e5,−n≤ci≤nn\le1e5,n-1\le m\le 1e5,-n\le c_i\le nn≤1e5,n−1≤m≤1e5,−n≤ci≤n思路:考虑这个图是一棵树的时候,那么我们从叶子开始向上递推一定能推出来每条边的唯一解,检查一下根节点是否合法即可。考虑一般图原创 2021-09-05 19:57:15 · 81 阅读 · 0 评论 -
Canada Cup 2016 C. Hidden Word 字符串构造
传送门文章目录题意:思路:题意:给你一个长度为272727的字符串sss,其中262626个字母每种都至少出现一次,让你构造一个2×132×132×13的矩阵,使得每个字母都出现一次,并且存在一条路径,经过这个路径上的点组成的字符串是sss,你可与向888个方向走,有解输出矩阵,无解输出ImpossibleImpossibleImpossible。思路:一开始看错题了,卡了半天。明显,sss串中恰好有两个字母相同,所以当相同的两个字母相邻的时候,这个时候是无解的。否则一定有解,通过画一画不难发原创 2021-09-02 22:54:02 · 169 阅读 · 0 评论 -
HDU - 1998 奇数阶魔方
传送门文章目录题意:思路:题意:给你一个奇数nnn,构造一个nnn阶幻方。3≤n≤193\le n\le 193≤n≤19思路:模板题了,直接构造一个幻方即可。首先在第一行中间放一个111,之后每次看一下(x,y)(x,y)(x,y)右上角的位置(x−1,y+1)(x-1,y+1)(x−1,y+1)是否已经被放过数了,如果没有下一个数就放过去,否则就放到这个位置的下面(x+1,y)(x+1,y)(x+1,y)即可。// Problem: C. Magic Odd Square// Cont原创 2021-09-01 23:29:09 · 101 阅读 · 0 评论 -
Educational Codeforces Round 16 C. Magic Odd Square 矩阵构造
传送门文章目录题意:思路:题意:给你一个奇数nnn,让你构造一个n∗nn*nn∗n的矩阵,矩阵的每个位置依次填上[1,n∗n]之内的数[1,n*n]之内的数[1,n∗n]之内的数,满足每行、每列、以及主对角线的和都是奇数。n≤49n\le49n≤49思路:又是一个不能看范围的构造题。由于每行、每列、主对角线和都需要是奇数,所以需要保证要加的数有奇数个奇数才可以,再进一步发现有n∗n2+1\frac{n*n}{2}+12n∗n+1个奇数,我们考虑构造一个菱形,比如下面这个图我们考虑将菱形内原创 2021-09-01 17:58:43 · 178 阅读 · 0 评论 -
Codeforces Round #381 (Div. 1) A. Alyona and mex 构造
传送门文章目录题意:思路:题意:你需要确定一个长度为nnn的数组aaa,满足给定的mmm个[l,r][l,r][l,r]限制,需要保证构造出来的aaa数组对于每个[l,r][l,r][l,r]的mexmexmex最小值最大。n,m≤1e5n,m\le1e5n,m≤1e5思路:直接构造很难,想了好久。但是如果能得到aaa的最大的最小值是多少,那么这个题能容易点。考虑对于每个[l,r][l,r][l,r],他的mexmexmex最大值为r−l+1r-l+1r−l+1,可以发现,我们要求的最大的最原创 2021-09-01 11:45:30 · 107 阅读 · 0 评论 -
Codeforces Round #446 (Div. 1) B. Gluttony 构造 + 补集思想
传送门文章目录题意:思路:题意:给你一个数组aaa,保证aaa中每个数都互不相同,让你构造一个数组bbb,满足对于任意的S=x1,x2,...,xk,1≤xi≤n,0≤k<nS={x_1,x_2,...,x_k},1\le x_i\le n,0\le k< nS=x1,x2,...,xk,1≤xi≤n,0≤k<n,都有∑i=1kaxi≠∑i=1kbxi\sum_{i=1}^ka_{x_i}\ne \sum_{i=1}^kb_{x_i}∑i=1kaxi=∑i=1kb原创 2021-08-31 23:07:52 · 107 阅读 · 0 评论 -
Codeforces Round #268 (Div. 1) C. Hack it! 数位dp + 构造数位
传送门文章目录题意:思路:题意:定义f(x)f(x)f(x)表示xxx的十进制下数位和,现在给你aaa,让你选一个区间[l,r][l,r][l,r],满足∑i=lrf(i) mod a=0\sum_{i=l}^rf(i)\bmod a=0∑i=lrf(i)moda=0。1≤a≤1e181\le a\le1e181≤a≤1e18要求输出的l,rl,rl,r满足1≤l≤r≤102001\le l\le r\le 10^{200}1≤l≤r≤10200思路:考虑这样一个事情,对于xxx,我们找一个原创 2021-08-27 17:09:11 · 105 阅读 · 0 评论 -
Gym - 102001K Boomerangs 构造 + 三元环
传送门文章目录题意:思路:题意:给你一张nnn个点mmm条边的简单图,让你找出尽可能多的三元环,要求每个三元环都不能共边,输出三元环数量和具体是那个。n,m≤1e5n,m\le1e5n,m≤1e5思路:其实比较容易想到,我们直接贪心的去选有可能是最优的。按照这个思想,我们考虑dfsdfsdfs,先递归到最深层,让后将与其相连的边两两组合,之后如果有多出来的边就与他的父亲组合,可以知道这样一定是最优的,因为每一层都尽可能的都用了,最多也就有一个边没有被用到。注意图不一定连通。//#pragm原创 2021-08-25 23:56:17 · 233 阅读 · 0 评论 -
Codeforces Round #740 (Div. 2) E. Bottom-Tier Reversals 构造
传送门文章目录题意:思路:题意:给你一个长度为奇数nnn的排列aaa,每次可以选择长度为奇数的前缀,并将[1,len][1,len][1,len]翻转,你需要用不超过5n2\frac{5n}{2}25n次操作将其变成有序的,输出方案。如果无解输出−1-1−1。n≤2021n\le2021n≤2021,nnn是奇数思路:比较套路的构造吧,没做血亏。首先不难发现,翻转不会改变位置的奇偶性,所以如果i mod 2!=ai mod 2i\bmod2!=a_i\bmod2imod2!=aimod2原创 2021-08-25 21:14:23 · 130 阅读 · 0 评论 -
NWERC 2018 C. Circuit Board Design 树 + 构造
传送门文章目录题意:思路:题意:给你一颗nnn个点的树,让你在二维平面中构造一颗树,保证相邻点的距离正好为111,并且线段不能有相交,坐标绝对值≤3e3\le3e3≤3e3。n≤1e3n\le1e3n≤1e3思路:其实样例已经给了提示了,当时光听队友说了句是菊花图,也就没多看,其实要是把第一个样例怎么来的搞明白我感觉这个题就有了。不按照题解的想法,我们考虑以(0,0)(0,0)(0,0)为原点,让后将第一、二象限分成n−1n-1n−1条直线,我们只需要在dfsdfsdfs的过程中依次从小到大选原创 2021-08-24 19:54:47 · 395 阅读 · 0 评论 -
HDU - 7028 Decomposition 无向完全图构造欧拉回路
传送门文章目录题意:思路:题意:给你一张无向完全图,让你构造kkk个长度分别为lil_ili的路径,这些路径不相交,且∑li=n∗(n−1)2\sum l_i=\frac{n*(n-1)}{2}∑li=2n∗(n−1)。n≤1000,n mod 2=1n\le1000,n\bmod 2=1n≤1000,nmod2=1思路:看到∑li=n∗(n−1)2\sum l_i=\frac{n*(n-1)}{2}∑li=2n∗(n−1),也就是说把所有边都用了一遍,所以考虑构造一个欧拉回路,让后一原创 2021-08-06 00:51:58 · 1873 阅读 · 0 评论 -
Codeforces Round #592 (Div. 2) G. Running in Pairs 构造(水)
传送门文章目录题意:思路:题意:思路:史上最水GGG题,没有之一。考虑最小的情况如何构造,显然就是让a,ba,ba,b都1−n1-n1−n依次排列即可,这样的最小值为n∗(n+1)2\frac{n*(n+1)}{2}2n∗(n+1),如果mmm小于他,显然无解,否则一定能构造一组解。考虑将aaa置为从1−n1-n1−n的排列,让后bbb初始也为1−n1-n1−n的排列,即a,b=1,2,...,na,b=1,2,...,na,b=1,2,...,n。考虑将bbb的最后一个数xxx从aaa的x原创 2021-07-14 10:55:49 · 92 阅读 · 0 评论 -
Codeforces Round #592 (Div. 2) F. Chips 构造 + 细节
传送门文章目录题意:思路:题意:思路:恶心的构造题,思路很简单但是代码细节很多,搞了半天。根据题目的性质不难发现,如果有两个相同颜色的球相邻,那么他们的颜色永远不会改变。根据这个性质,我们将相同颜色的球作为分割点,将其分成若干段,每段都是WBWBWBWBWBWBWBWBWB或者BWBWBWBWBWBWBWBWBW这样交替来的序列,不难发现每次操作只会将其两端的颜色改变,所以直接模拟就好了。注意首端和末端是相连的,还需要特判一下。还需要注意,如果kkk的次数不能遍历完整个序列,由于序列没有遍历原创 2021-07-13 20:24:24 · 180 阅读 · 0 评论 -
Codeforces Round #632 (Div. 2) E. Road to 1600 构造好题
传送门文章目录题意:思路题意:直接白嫖思路首先不难发现,n≤2n\le2n≤2的时候是无解的。现在我们来构造n=3n=3n=3的情况,通过打表可以发现如下矩阵是符合题目要求的:179325486\begin{array}{ccc}1&7&9\\3&2&5\\4&8&6\\\end{array}134728956这就启发我们有两种做法:一是根据这个矩阵发现规律来构造,这个显然没什么规律。二是以这个矩阵为基础,在其基础上来加上多原创 2021-05-24 13:10:04 · 65 阅读 · 0 评论 -
Codeforces Round #631 (Div. 2) C. Dreamoon Likes Coloring 构造
传送门文章目录题意:思路:题意:思路:针灸思维不行,数据结构来凑呗。一开始做的时候想简单了,一直wawawa,后来想到了hackhackhack样例,开始换思路构造,结果死活想不到O(m)O(m)O(m)怎么构造,所以用堆维护写了个mlogmmlogmmlogm的。首先[1,m][1,m][1,m]肯定是放在[1,m][1,m][1,m]对应的位置是最优的,所以当∑li<n\sum l_i<n∑li<n或者i+li−1>ni+l_i-1>ni+li−1>原创 2021-05-23 14:00:44 · 80 阅读 · 0 评论 -
CodeCraft-20 (Div. 2) D. Nash Matrix 构造 + dfs
传送门文章目录题意:思路:题意:给定一个n∗nn*nn∗n的矩阵,每个点上面都有一个xi,yix_i,y_ixi,yi,表示这个点到xi,yix_i,y_ixi,yi这个点停下,当xi=−1,yi=−1x_i=-1,y_i=-1xi=−1,yi=−1的时候代表这个点不会停下,让你构造一个矩阵,其中填如下字符:如果能构造的话输出VALIDVALIDVALID,并且给出方案,否则输出INVALIDINVALIDINVALID。思路:又来水题解了,主要还是想升级。首先要读明白题,先考虑原创 2021-05-11 22:45:26 · 125 阅读 · 0 评论 -
Ozon Tech Challenge 2020 (Div.1 + Div.2) E.Kuroni and the Score Distribution 构造
传送门文章目录题意:思路:题意:思路:不难想到,长度为nnn的数组最多的满足条件的三元组序列是1,2,3....,n1,2,3....,n1,2,3....,n,对于每一个位置贡献为i−12\frac{i-1}{2}2i−1,那么如果m>∑i=1ni−12m>\sum _{i=1}^{n} \frac{i-1}{2}m>∑i=1n2i−1的时候无解。考虑如果∑i=1ni−12≥sum\sum _{i=1}^{n} \frac{i-1}{2}\ge sum∑i=1n2i−原创 2021-05-10 20:34:06 · 141 阅读 · 1 评论 -
Codeforces Round #700 (Div. 1) C. Continuous City 构造 + 二进制
传送门文章目录题意:思路:题意:构造一个图,使其从111到nnn的路径的长度与[L,R][L,R][L,R]中某个值一一对应,不能有两条路径长度一样,且每个值都必须出现一次,每两个点之间只能连一条边。n≤32n\le32n≤32,ai,bi≤na_i,b_i\le nai,bi≤n,1≤ci≤1e61\le c_i\le 1e61≤ci≤1e6。思路:看到n≤32n\le 32n≤32,不难想到二进制拆分,我们分情况来讨论。(1) L=1,R=2k(1)\ \ L=原创 2021-05-05 10:30:16 · 164 阅读 · 1 评论 -
Codeforces Round #624 (Div. 3) E. Construct the Binary Tree 思维 + 构造
传送门文章目录题意:思路:题意:给你n,dn,dn,d,让你构造有nnn个点的二叉树,他们每个节点深度和为ddd。n,d≤3000n,d\le 3000n,d≤3000.思路:先考虑不能构造出来的情况,设sumsumsum为最小的深度和,那么sum>dsum>dsum>d或n∗(n−1)2<d\frac{n*(n-1)}{2}<d2n∗(n−1)<d的时候无解。考虑构造的深度最小的情况,我们让每个点iii的父亲等于⌊i2⌋\left \lfloor \fr原创 2021-05-03 09:00:47 · 104 阅读 · 0 评论 -
Codeforces Round #619 (Div. 2) D. Time to Run 矩阵回路构造
传送门文章目录题意:思路:题意:给你一个n∗mn*mn∗m的矩阵,每两个相邻点之间有个双向边,问你能不能走满kkk步,每一步走的边不同,但是点可以相同,换句话说就是走的边不能再走了。输出的时候输出一个fff和一串不超过444个的字符,表示按照这个字符走fff次。输出的行数不能超过300030003000行。思路:能看出来这是个欧拉回路,每个点度数为偶数,一定有解,所以先判断一下是否≤(4∗n∗m−2∗n−2∗m)\le (4*n*m-2*n-2*m)≤(4∗n∗m−2∗n−2∗m)。判断有解后,原创 2021-04-26 21:03:38 · 118 阅读 · 0 评论 -
Codeforces Round #609 (Div. 2) D. Domino for Young 黑白染色
传送门文章目录题意:思路:题意:给你个不规则的网络格子,有nnn列,每列有aia_iai个格子,让你将1×21×21×2的多米诺骨牌无重叠的放进去,问最多能放多少个。思路:首先如果点数小的话,就是个网络流建模的板子,但是显然这个题是不能建图的,但是我们还是可以利用网络流的思想。将格子进行黑白染色,一个多米诺骨牌就包含了一个黑格子和一个白格子。比较显然的是如果黑白格子数量一样,那么一定可以将其全部填上多米诺骨牌。否则我们将多余的骨牌都删掉就好啦,答案就是min(ans1,ans2)min(ans原创 2021-04-23 10:08:34 · 161 阅读 · 0 评论 -
Codeforces Round #715 (Div. 2) D. Binary Literature 构造
传送门文章目录题意:思路:题意:给你个nnn和三个长度为n∗2n*2n∗2的串,让你构造一个长度≤n∗3\le n*3≤n∗3的串,使其子序列包含至少两个给定串。思路:先考虑如果没有长度限制,那么我们肯定就是把两个串链接在一起就行了,这样长度就是n∗4n*4n∗4的,考虑怎么优化成n∗3n*3n∗3的串。我们要减少长度nnn,所以可以考虑两个串共用nnn个字符,这样两个串长度减去公用的字符就变成了nnn,而我们构造的串长度目前也是nnn,所以我们直接将两个串剩余的字符都插入我们目前构造的长度为nn原创 2021-04-17 15:10:48 · 182 阅读 · 0 评论 -
Codeforces Round #712 (Div. 2) D. 3-Coloring 交互 构造
传送门文章目录题意:思路:题意:给一个n∗nn*nn∗n的格子染色,一共可以染三种颜色,每次都会给一种颜色,代表当前这种颜色不可以使用,染色要求相邻的颜色不能相同,让你给出一种染色方案。思路:类似奇偶染色,我们按(i+j) mod 2(i+j)\bmod 2(i+j)mod2将块分成奇偶,让后分三种情况:(1)(1)(1) 当前禁止染颜色111,那么我们就将颜色222填到偶数格子里,如果偶数格子没有了,就将333填到奇数格子里。(2)(2)(2) 当前禁止染颜色222,那么我们就将颜色111填原创 2021-04-12 15:29:31 · 126 阅读 · 0 评论 -
Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4) 构造
传送门文章目录题意:思路:题意:给nnn个数,让你构造一个尽可能大的矩阵,其中每个点所在的行和列都不含相等元素。思路:假设构造的答案矩阵大小为a×ba×ba×b且a<=ba<=ba<=b,那么我们可以知道其中最大的相等元素的个数一定<=a<=a<=a,否则一定不能保证每行每列都不相等。那么我们就可以[1,n][1,n][1,n]枚举最大的出现次数即aaa,让后假设选出的元素个数为tottottot,那么b=⌊tota⌋b=\left \lfloor \frac原创 2021-03-22 15:36:12 · 168 阅读 · 0 评论 -
Codeforces Round #706 (Div. 2) E. Garden of the Sun 思维构造
传送门题意: 给你一个n×mn×mn×m的矩阵,其中包含字符′.′'.'′.′和′X′'X'′X′,你可以将任何′.′'.'′.′改成′X′'X'′X′,现在问你能否通过修改一些′.′'.'′.′来使′X′'X'′X′联通且不存在环。保证原本的′X′'X'′X′没有任何两个相邻。思路: 既然我把最后一句话加粗了,那就肯定有用啦。 由于初始状态不会有任何两个相邻的,那么我们考虑一个mmm列的矩阵,先不需要考虑行,如果我从第一列开始,将这一列全部改成′X′'X'′X′,让后相邻两列间隔是两列,如下图:因原创 2021-03-11 14:42:05 · 116 阅读 · 0 评论