构造
看样例特殊化
根据算法思想特殊化
把特别一般的条件特殊化
lamentropetion
---
展开
-
【构造】CF Edu 12 D
然后是n = 2的情况,如果相加是质数,就输出2个,否则就输出一个。注意到三个数一定是奇 偶 奇,只要没有1,就一定不行。这种题一定要从小数据入手,不然很有可能走歪思路。先考虑n = 1的情况,直接输出即可。想到这就很简单了,分类讨论即可。看这个集合能不能是3个数。然后是n = 3的情况。原创 2023-09-05 18:09:34 · 179 阅读 · 0 评论 -
【构造】CF1761 E
【代码】【构造】CF1761 E。原创 2023-08-14 19:39:01 · 159 阅读 · 0 评论 -
【构造】CF1734 E
【代码】【构造】CF1734 E。原创 2023-08-14 16:11:38 · 92 阅读 · 0 评论 -
【构造】CF1853D
【代码】【构造】CF1853D。原创 2023-08-14 00:26:25 · 114 阅读 · 0 评论 -
【构造】CF1798 D
考虑这样构造的正确性:注意到 min ai ≤ s ≤ max ai。当 s≥0 时,能找到的最小数也是 min ai,则新的前缀和 's′ 满足 s′≥s+min ai。而任何区间的和都可以写成两个前缀和相减的形式。设 si 是长度为 i 的前缀和,则 ∣∑i=lrai∣=∣sr−sl∣≤max ai−min ai。因为保证了数列之和为 0,所以当 s≥0 时,你总能找到还没添加的非正数,同理第二种情况你也总能找到未添加的正数。否则考虑从左到右构造新数列,维护新数列的前缀和 s。原创 2023-08-09 11:19:44 · 97 阅读 · 0 评论 -
【枚举,构造】CF1582 C D
但是回文子序列的判定我vp的时候写的很答辩,也不知道为什么当时要从中间往两边扫,纯纯自找麻烦。可以发现,如果n是奇数,那么就分组成3+2+2+2+....的形式。当然这里的c和-c可以替换成b和-b,a和-a,所以是三种情况。思路很简单,只删除一种,直接枚举删除的是哪一种即可。直接从两边往中间扫就行了,然后把该删的都删掉。然后考虑将特殊情况“组合”到一般情况中去。否则就可以是2+2+2+....的形式。然后就越改越复杂,两小时的时候才过C。构造题,看样例发现什么都看不出来。如果N = 2,那么。原创 2023-08-06 01:48:47 · 164 阅读 · 0 评论 -
【构造】CF1758 C
【代码】【构造】CF1758 C。原创 2023-07-31 20:21:44 · 275 阅读 · 0 评论 -
【构造】CF1758 D
如果需要构造一个和为定值的序列,那么考虑n-d,n-d+1,.....n+d-1,n+d这种形式。如果根据小数据构造出了一些简单情形,那么请继续使用这种构造方法构造别的情形。如果要保证不能重复,那么先考虑一个排列,然后在排列上操作。原创 2023-07-31 19:40:22 · 124 阅读 · 0 评论 -
【构造】icpc 2022济南 E
给定两个整数N和K,是否存在一个排列使得,对于这个排列,每个长度为K的区间内奇数个数奇偶性是一样的。根据之前的特殊情况猜:区间内奇数和偶数的个数相同。当K=2时一定满足,显然奇偶交替摆放即可。然后,我们猜一个结论,去猜该怎么特殊化。然后就可能猜对了,确实是这样子构造的。构造题,先从最特殊的情况开始考虑。推广得,K是偶数时,都是合法的。当K=1时,显然不可能满足。原创 2023-07-31 14:18:50 · 370 阅读 · 0 评论 -
【构造】CF1722G
但是还需要特判一种情况,那就是当a[N-1]=0时,a[N-1]又会和a[0]重复,因此需要特判一下,如果a[N-1]=0,给a[1]或上(1<<20)即可。对于这道题,我们可以先构造一个0~N-1的排列,然后改最后一个位置的值来控制全局的异或和。具体地说,a[N-1]异或了之后,值可能比N-1小,这样就一定和前面某个数重复了。为了使得异或的条件满足,需要给前面某个数也或上(1<<20)为了使a[N-1]一定不重复,可以让它或上(1<<20)那么给a[0]或上(1<<20)原创 2023-06-01 17:09:17 · 59 阅读 · 0 评论 -
【构造+数论+Tree树上染色】CF1627C
如果出的简单一点,那就是手推样例,直接模仿样例给的构造,或者直接最特殊的情况,这种最特殊的情况就算全部猜一遍也能猜出来。一开始模拟了一下样例,Sample3告诉我们如果有三条边相邻就是无解(可以猜的结论)给定一棵树的形态,让你给这棵树的边赋值,使得每对相邻的边的边权和都是质数。然后不知道该怎么具体赋值,不知道该怎么特殊化边权。事实上,只需要2,3,2,3这样子赋值即可。难的我也不懂,还没写过难的构造题。感觉2000分以下的构造。原创 2023-05-31 14:05:17 · 103 阅读 · 0 评论 -
【构造+拓扑排序】CF1385E
那么特殊情况就是按拓扑序的反序标方向即可。给无向边标方向,构造的条件是没有环。原创 2023-05-26 11:21:05 · 44 阅读 · 0 评论 -
【贪心+构造】CF1806B
当mex=0的时候,应该是0 x 0 x ....这样子构造。给定一个长度为n的数列a,你可以重排这个数列。但是这样的前提是(N+1)/2>=cnt_0。当mex=1的时候,避免把0和1搞在一起就行。当所有数都是0的时候,mex=1。现在想问你怎么重排可以使得。就0 1 2这么猜过去。原创 2023-05-15 21:55:52 · 50 阅读 · 0 评论 -
【构造】CF634div3 D. Anti-Sudoku
给定一个数独,让你更改最多9格,使其变成anti-数独,即每一行,每一列,每一个3*3大格都存在一个数的出现次数>=2。构造题,要不是根据题目隐含的算法或思想去特殊化,要不就是观察样例的性质来特殊化,要不就是很典的特殊化。这道题就是观察样例的性质,直接改就行。原创 2023-05-09 14:06:46 · 47 阅读 · 0 评论 -
【数论+构造】CF752div1 B
给定两个数x,y,让你构造一个n使得n%x=y%n。(感觉CF的数论题都是考比较灵性的东西而不是算法)当x<y时,直接让n=x+y即可。因为是构造,考虑使条件特殊化。其中1<=n<=2e18。直接取y-y%x/2即可。否则就是考虑几何意义。原创 2023-05-08 16:34:09 · 37 阅读 · 0 评论 -
【构造+组合计数】EDU145div2 C. Sum on Subarrays
因为要k个子串,因此求最大的满足k*(k+1)/2原创 2023-05-04 19:31:42 · 224 阅读 · 0 评论 -
【构造排列】CF869div2 B
【代码】【构造排列】CF869div2 B。原创 2023-05-04 11:51:08 · 73 阅读 · 0 评论 -
【构造】CF851div2 C. Matching Numbers
手推样例可知,它大概是1和2*n匹配,然后3和2*n-1匹配,....,这样的和就是+2-1,直到n和....匹配,然后考虑从2,4,6开始匹配,本质上就是找规律。有1~2*n的一个排列,进行数与数之间两两匹配,问如何组合可以使n个 数对 ai+bi排列起来是一个连续序列,如果无解输出No。构造题,考虑将构造的条件特殊化。原创 2023-05-01 12:01:08 · 63 阅读 · 0 评论 -
【二分or双指针】CF856div2 C. Scoring Subsequences
给定一个序列,问对于1<=k<=n,设a1~ak这个序列中的这么多个子序列中分数最大的为m,问这些子序列中分数为m的最长子序列的长度。:计算贡献,往前取子段,当a[l]<r-l+1的时候贡献变小,因此这个可以作为l的条件。定义一个序列的分数为s1*s2*s3*..../d!感觉对CF的套路题稍微有点感觉了。子序列:考虑将其特殊化,化成子段。考虑特殊条件性质就好了....对题中的条件一点点分析就好了。递增:考虑从末尾开始取子段。所以综上,双指针就可以解决。原创 2023-04-28 17:26:20 · 71 阅读 · 0 评论 -
【构造+贪心+分解质因数】CF868div2 C. Strongly Composite
第一个条件:考虑将a数组的数分解质因数,然后给b数组分配质因子,具体怎么分配得看后面。因此考虑两个两个配对,多出来的三个三个配对,如果还多出来,放进任意一对都可以。要使k尽可能大,那么b数组中每个数的质因子个数就要尽可能少。但是没想到两个两个配对和剩下的三个三个配对的方案。三个条件转化完了,考虑结合一下条件。三个不同的质因子配对也满足条件。因此考虑两个质因子进行配对。因为代入可得是满足条件的。原创 2023-04-28 10:41:17 · 263 阅读 · 0 评论 -
CF713div3 F
枚举原创 2023-02-13 00:48:24 · 68 阅读 · 0 评论 -
Codeforces Round #720 (Div. 2) B. Nastia and a Good Array
构造原创 2023-01-16 12:49:02 · 409 阅读 · 0 评论 -
Codeforces Round #708 (Div. 2) C1 C2
简单构造原创 2023-01-12 13:50:10 · 193 阅读 · 0 评论 -
CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) C. Make Equal With Mod
构造原创 2023-01-11 18:43:23 · 67 阅读 · 0 评论 -
【构造】Codeforces Round #843 (Div. 2) B Gardener and the Array
构造原创 2023-01-11 15:24:35 · 299 阅读 · 0 评论 -
Codeforces Round #839 (Div. 3) C. Different Differences
构造原创 2022-12-28 00:59:11 · 623 阅读 · 1 评论 -
Codeforces Round #720 (Div. 2) A. Nastia and Nearly Good Numbers
构造原创 2022-11-30 17:31:33 · 112 阅读 · 0 评论 -
Codeforces Round #651 (Div. 2) B. GCD Problem
签到题原创 2022-11-30 15:34:49 · 100 阅读 · 0 评论 -
Codeforces Round #819 (Div. 1 + Div. 2) and Grimoire of Code Annual Contest 2022 B. Mainak and Inter
构造原创 2022-11-06 11:44:03 · 95 阅读 · 0 评论 -
Codeforces Round #829 (Div. 2) C1. Make Nonzero Sum (easy version)
构造原创 2022-11-05 16:27:20 · 98 阅读 · 0 评论 -
Codeforces Round #826 (Div. 3) B Funny Permutation
构造原创 2022-10-18 00:21:56 · 122 阅读 · 0 评论 -
Codeforces Round #804 (Div. 2) B.Almost Ternary Matrix
菜原创 2022-08-30 15:20:46 · 86 阅读 · 0 评论 -
Codeforces Round #802 (Div. 2) B Palindromic Numbers
构造题原创 2022-08-30 14:59:15 · 118 阅读 · 0 评论 -
Codeforces Round #816 (Div. 2) B - Beautiful Array
菜原创 2022-08-27 16:53:33 · 171 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 G-小明不希望太简单
水原创 2022-08-22 17:35:51 · 97 阅读 · 0 评论 -
Educational Codeforces Round 133 (Rated for Div. 2) B. Permutation Chain
水构造原创 2022-08-10 14:26:13 · 104 阅读 · 0 评论 -
Codeforces Round #804 (Div. 2) A The Third Three Number Problem
构造水题原创 2022-08-01 22:30:02 · 66 阅读 · 0 评论 -
Codeforces Round #810 (Div. 2) A Perfect Permutation
CF div2A原创 2022-07-30 15:19:23 · 159 阅读 · 0 评论