
构造
文章平均质量分 67
Frozen_Guardian
已退役菜鸡Acmer
展开
-
CodeForces - 287C Lucky Permutation(构造)
题目链接:点击查看题目大意:构造一个合法的排列,满足 ppi=n−i+1p_{p_{i}}=n-i+1ppi=n−i+1题目分析:因为第四个样例的存在降低了本题的难度,不然感觉还是有点难度的一道题。52 5 3 1 4观察上面的这个构造方法,不难看出可以令四个数组成一个环,这样当 nnn 只有是 444 的倍数或者余数为 111 时才有解,多出来的那个数放到中间就好啦一组合法的环:i→i+1→n−i+1→n−i→ii\rightarrow i+1\rightarrow n-i+1 \ri原创 2021-08-27 17:39:44 · 905 阅读 · 0 评论 -
CodeForces - 468C Hack it!(构造+数位dp)
题目链接:点击查看题目大意:求出一段区间 [l,r][l,r][l,r] 的数位和对 aaa 取模后为 000。更具体的,设 f(x)f(x)f(x) 为 xxx 的数位和,本题需要求出一对 [l,r][l,r][l,r] ,满足 ∑i=lrf(i)≡0(moda)\sum\limits_{i=l}^{r}f(i)\equiv0\pmod ai=l∑rf(i)≡0(moda)题目分析:假设一个上界为 inf=10kinf=10^{k}inf=10k,则一个数为 xxx 且 x<infx<i原创 2021-08-26 21:25:40 · 282 阅读 · 0 评论 -
CodeForces - 1561E Bottom-Tier Reversals(构造)
题目链接:点击查看题目大意:给出一个长度为 nnn 的排列,每次操作可以选择一个奇数长度的前缀然后反转,需要构造一种方案,使得在不超过 5n2\frac{5n}{2}25n 次操作后使得序列有序题目分析:挺有意思的一道构造题,手玩几组样例后不难发现每个位置在反转后,下标的奇偶性是不发生改变的,所以可以大胆猜测如果奇偶性满足条件的情况下,是一定可以构造出答案的。因为每次反转的是前缀,反过来想后缀是不会受到影响的,所以不妨倒着构造,先将 nnn 的位置放好,再放 n−1n-1n−1 如此。又因为每次操原创 2021-08-25 21:25:07 · 234 阅读 · 0 评论 -
2021HDU多校6 - 7028 Decomposition(构造)
题目链接:点击查看题目大意:给出一个 nnn 个点的无向完全图,现在要求找到 kkk 条简单路径,每条简单路径的长度符合相应的要求,且每条边只能经过一次题目保证 ∑i=1kli=n(n−1)2\sum\limits_{i=1}^k l_i = \frac{n(n-1)}{2}i=1∑kli=2n(n−1)题目分析:变形:2019ICPC(上海) - Spanning Tree Removal因为题目保证了 nnn 是奇数,所以多出来的那个点可以当作中介点,将 n2\frac{n}{2}2n原创 2021-08-06 19:52:35 · 283 阅读 · 2 评论 -
2019ICPC(上海) - Spanning Tree Removal(构造)
题目链接:点击查看题目大意:给出一个 nnn 个点的无向完全图,每次操作可以删掉包含 nnn 个点的一棵生成树中的所有边,问最多可以删几次题目分析:典中典之欧拉通路构造题,构造方式如下:在选定某个点作为起点后,若将序号顺时针规定为 {0,1,2,...,n−1}\{0,1,2,...,n-1\}{0,1,2,...,n−1},对于起点 ststst 来说的一条欧拉通路为 {st,st+1,st−2,st+3,st−4,st+5,...}\{st,st+1,st-2,st+3,st-4,st+5,.原创 2021-08-06 19:46:34 · 332 阅读 · 2 评论 -
CodeForces - 1530E Minimax(思维+构造)
题目链接:点击查看题目大意:规定 f(i)f(i)f(i) 为 KMPKMPKMP 算法中的 nextnextnext 数组,现在给出一个字符串 sss,需要将 sss 重新排列,使得在 maxi=1n{f(i)}\max\limits_{i=1}^{n}\{f(i)\}i=1maxn{f(i)} 尽量小的前提下,字典序最小题目分析:多写几组样例不难发现,除了所有字符都相同的情况下,都是可以构造出答案等于 111 的序列的,现在问题就是如何让字典序尽量小分类讨论一下:只有一种字符:直接输出大原创 2021-07-28 18:38:21 · 240 阅读 · 0 评论 -
CodeForces - 1494E A-Z Graph(构造+思维)
题目链接:https://vjudge.net/problem/CodeForces-1494E题目大意:给出一个初始时只有 nnn 个点的有向带权图,需要执行 mmm 次操作,每次操作分为下列三种类型:+ u v c+\ u\ v\ c+ u v c:增加一条 u−>vu->vu−>v 的有向边,边权为 ccc− u v-\ u\ v− u v:删除 u−>vu->vu原创 2021-05-28 18:29:49 · 257 阅读 · 0 评论 -
CodeForces - 1494D Dogeforces(贪心+构造)
题目链接:点击查看题目大意:给出 nnn 个叶子结点和一个 n∗nn*nn∗n 的 LCALCALCA 矩阵,其中 LCALCALCA 表示的是最近公共祖先节点的权值,现在需要构造出一棵自顶向下权值严格递减的树题目分析:参考至:https://blog.youkuaiyun.com/liufengwei1/article/details/114298063思路就是贪心去合并,类似于哈夫曼树那样,将所有的 LCALCALCA 从小到大排序,然后贪心去加一开始以为所有点权都不一样,后来意识到是每一条链上的点权互不原创 2021-05-28 18:20:17 · 196 阅读 · 0 评论 -
CodeForces - 1504C Balance the Bits(思维+构造)
题目链接:https://vjudge.net/problem/CodeForces-1504C题目大意:给出一个长度为 nnn 的 010101 串,现在要求构造出两个长度为 nnn 的合法括号序列,使得在 010101 串对应为 000 的位置,两个序列的括号不相同,反之亦然题目分析:本以为是贪心,但后来发现其实是一个很简单的构造首先考虑非法的情况,无论如何起止位置一定是需要匹配的,也就是说 010101 串的开头和结尾一定都是 111 才行其次就是必须为串的长度必须是偶数才行,否则一定无法完全原创 2021-05-22 20:49:03 · 224 阅读 · 1 评论 -
CodeForces - 1469D Ceil Divisions(构造+思维)
题目链接:点击查看题目大意:给出一个初始时 ai=ia_i=iai=i 的序列,现在要求操作最多不超过 n+5n+5n+5 次,使得最终序列有 n−1n-1n−1 个 111 和 111 个 222,每次操作可以执行:ax=⌈axay⌉a_x = \left\lceil \frac{a_x}{a_y} \right\rceilax=⌈ayax⌉题目分析:正解是辗转求根号,因为 nnn 的上限是 2e52e52e5,辗转求根号的话最多需要执行五次,对于每次 (n,n)(\sqrt{n},n)(原创 2020-12-29 10:56:57 · 773 阅读 · 4 评论 -
CodeForces - 967D Resource Distribution(贪心+二分+构造)
题目链接:点击查看题目大意:给出 n 个机器,每个机器可以处理 a[ i ] 的工作,现在有两个工作需要处理,工作量分别为 x1 和 x2,可以将一个工作分配给 k 个机器同时完成,需要满足:k 个机器都需要满足 每个机器只能处理一个工作题目要求输出一种合适的构造方案,如果无解输出 No题目分析:首先预处理出 a[ i ] 和 b[ i ] ,分别代表将 x1 和 x2 分配给 i 个机器所需要的最低下限然后设题目中的 a[ i ] 为 c[ i ] (避免与上面的两个变量重名),代表原创 2020-12-13 21:55:17 · 260 阅读 · 0 评论 -
CodeForces - 1174D Ehab and the Expected XOR Problem(构造+思维+位运算)
题目链接:点击查看题目大意:给出一个 n,再给出一个 x,要求构造一个数列,满足该数列的所有子串的异或和都不等于 0 且都不等于 x,在满足上面的条件下尽可能长题目分析:因为这个题目最终的目标是需要让所有的“子串”的异或和都不等于某个值,因为是连续的,所以不难想到可以对于答案数组求一下前缀异或和,此时所有的“子串”都可以通过前缀异或和的任意两个数字表示出来,如 (a[ l ] xor a[ l + 1 ] xor ... xor a[ r - 1 ] xor a[ r ] )= sum[ r ]..原创 2020-12-10 22:26:03 · 212 阅读 · 0 评论 -
CodeForces - 1450C2 Errich-Tac-Toe (Hard Version)(思维+构造)
题目链接:点击查看题目大意:给出一个大小为 n * m 的棋盘,规定不能有三个连续的 ' X ' 或三个连续的 ' O ' ,现在可以通过一次操作将 ' X ' 改成 'O '或者将 ' O ' 改成 ' X ',请输出一种修改次数不超过的构造方法,k 是总棋子数题目分析:因为不允许有超过三个连续的棋子相连,所以可以将整个棋盘按照 模三取余 划分,大概是下图的样子(图来自官方题解)对于模三取余的集合 { 0 , 1 , 2 } 来说,我们只需要任选两个数字 t1 和 t2,满足 t1...原创 2020-12-07 21:53:13 · 270 阅读 · 0 评论 -
CodeForces - 1453D Checkpoints(概率+构造)
题目链接:点击查看题目大意:需要设计一个游戏关卡,由 01 字符串组成,1 表示存档点,0 表示普通关卡,规定每一步可以从第 i 个关卡前进到第 i + 1 个关卡,不过有 1/2 的概率会成功,剩下 1/2 的概率会失败,失败的话会返回最近的存档点重新开始,现在问如何设计关卡,可以使得到达终点的期望为 k题目分析:首先不难看出,每经过一个存档点后,前面的关卡都已经对后续的期望没有影响了,换句话说相邻的两个存档点组成的一段关卡是互相独立的所以我们只需要分析诸如 11 , 101 , 1001 ,原创 2020-12-05 22:06:01 · 457 阅读 · 0 评论 -
CodeForces - 817F Graph and String(dfs判二分图)
题目链接:点击查看题目大意:给出一张图,现在要求给出一种合适的染色方案,使得:只能用 ' a ' , ' b ' , ' c ' 进行染色 有边相连的两个点的颜色要么相同,要么相邻,不能是 ' a ' 和 ' c ' 没有边相连的两个点的颜色只能是 ' a ' 和 ' c '题目分析:基于第三个条件,不难看出原图的补图如果不是一个二分图时,答案一定是 No,因为无法处理所有情况三而当原图的补图是一个二分图时,相当于只满足一个必要条件,还需要判断一下情况二作为充分条件才行,只有同时满足了情况原创 2020-11-26 22:17:39 · 297 阅读 · 3 评论 -
CodeForces - 1451E2 Bitwise Queries (Hard Version)(交互+构造+位运算)
题目链接:点击查看题目大意:给出一个长度为 n(n 保证了是 2 的幂次),每个数的范围在 [ 0 , n - 1 ] 的一个数组,现在要求通过有限次操作确定下来这个数组:询问 a[ i ] xor a[ j ] 的答案 询问 a[ i] or a[ j ] 的答案 询问 a[ i ] and a[ j ] 的答案题目分析:因为可以询问任意两个数异或运算后的答案,根据 ,我们可以先确定出序列中的任意一个数字设为 x,然后对于其他的数字依次询问与 x 的异或,就可以反推出所有的数字了,所以现在.原创 2020-11-23 11:41:40 · 2342 阅读 · 2 评论 -
CodeForces - 1408F Two Different(构造+分治)
题目链接:点击查看题目大意:初始时给出一个长度为 n 的序列,每个位置 a[ i ] = i ,再给出一个映射 f( x , y ) = z,现在规定每次操作可以使得:t = f( a[ i ] , a[ j ] ) a[ i ] = t a[ j ] = t对于完全相同的 x 和 y,得到的 f( x , y ) 是相同的现在需要给出一种操作顺序,使得无论映射 f 如何定义,最后都能使得整个序列最多有两种不同的元素题目分析:自己手玩一下不难发现,如果 n 是 2 的幂次的话,总是有办原创 2020-10-03 20:06:32 · 312 阅读 · 0 评论 -
中石油训练赛 - Insertion Order(二叉搜索树+构造)
题目大意:构造出一个长度为 n 的排列,使得按照这个顺序构造出的二叉搜索树的高度为 k题目分析:知道 n 的大小后不难算出其可以构造的二叉搜索树高度的可行范围,下限是一棵满二叉树,这个利用倍增很快就能找到,上限就是 n ,当且仅当这棵树退化为一条链时达到,如果在这个范围内是一定有解且可以构造的考虑如何构造答案,首先我们先构造一棵有 n 个节点,高度为 k 的树,只需要先用 dfs 固定出一条长度为 k 的链保证其高度至少为 k ,然后再用 bfs 逐层加点即可,当构造出整棵树后,递归对其赋值即可..原创 2020-09-28 12:26:14 · 673 阅读 · 0 评论 -
CodeForces - 1419E Decryption(质因子分解+构造)
题目链接:点击查看题目大意:给出一个数 n ,现在需要将其所有大于 1 的因子重新排列成一个首尾相接的环,规定每次操作可以在相邻两个位置中加入这两个数的 lcm,问最少需要操作多少次,才能使得环上所有相邻的两个位置都不互质,并输出最初始的排列题目分析:可以将所有的数分为两种情况:n 由两个质数相乘得到,如样例 1 所示,此时直接输出即可,需要一次操作数 其余情况都不需要操作,质因子分解后如下图所示排列即可需要注意的是当质因子的个数为 2 时需要特判一下,不然会出现数字重复使用的情况代原创 2020-09-21 18:50:39 · 937 阅读 · 0 评论 -
HihoCoder - 1873 Frog and Portal(构造+进制拆分)
题目链接:点击查看题目大意:给出 200 个石头,有一只青蛙要从第 0 个石头跳到第 200 个石头,每次只能跳 1 步或 2 步,显然可行的方案数是一个斐波那契数列,现在可以在两个石头上放置传送门 x -> y ,当青蛙跳到石头 x 上后,会立马传送到石头 y 上,问如何构造传送门,使得从 0 到 200 的方案数恰好外 m题目分析:看到斐波那契数列,就不难想到齐肯多夫定理,考虑类比于二进制拆分那样,用斐波那契数列将 m 进行拆分,因为 fib[ 44] 才刚好大于 1e9,所以剩下了 1.原创 2020-09-17 11:05:37 · 198 阅读 · 0 评论 -
HDU - 5573 Binary Tree(思维+构造+二进制)
题目链接:点击查看题目大意:给出一棵无限大的完全二叉树,每次给出一个 n 和一个 k ,要求从点 1 出发一直向下,找到一条长度为 k 的路径,对于路径上的点可以加上其编号,也可以减去其编号,需要构造出一种方案,使得计算的结果为 n题目分析:因为 k 最大只有 60 ,给足了提示是需要往二进制上思考,但奈何对二进制的题目不太敏感,之前打 cf 时碰到的二进制题目也是因为不会做无奈只能掉分。。菜啊回到这个题目,稍微画几层这个完全二叉树,不难发现最左边的一条链上恰好是二进制数,也就是 1 , 2 ,原创 2020-09-02 01:26:18 · 236 阅读 · 0 评论 -
HDU多校4 - 6813 Last Problem(构造)
题目链接:点击查看题目大意:给出一个无限大的二维平面,需要在平面内进行染色,每次可以选择一个点 ( x , y ) 将其染色为 n 的前提是,相邻四个格子必须分别已经染了 n - 1 , n - 2 , n - 3 , n - 4 四种颜色,染色可以覆盖,构造出一种合理的染色方案,使得可以在平面上出现颜色 n题目分析:参考博客:https://www.cnblogs.com/graytido/p/13406750.html本来看题解觉得好难的一道构造题,搜到了上面大佬的博客,构造题嘛,就别问那.原创 2020-07-31 02:27:49 · 617 阅读 · 0 评论 -
牛客多校4 - Harder Gcd Problem(构造+贪心)
题目链接:点击查看题目大意:给出一个 n ,表示 1 ~ n 的 n 个数字,现在要求选出尽可能多的两两匹配,使得每组匹配的 gcd 都大于 1,输出最多能有多少组匹配,以及方案题目分析:代码:#include<iostream>#include<cstdio>#include<string>#include<ctime>#include<cmath>#include<cstring>#include&.原创 2020-07-21 17:47:29 · 332 阅读 · 0 评论 -
CodeForces - 1364C Ehab and Prefix MEX(贪心+构造)
题目链接:点击查看题目大意:给出一个数组 a ,要求构造一个数组 b ,使得 a[ i ] = MEX{ b[ 1 ] , b[ 2 ] , ... b[ i - 1 ] , b[ i ] },a[ i ] 满足小于等于 i题目分析:很巧妙的一道构造题目,首先通过观察不难发现,如果 a[ i ] != a[ i - 1 ] 的话,那么 b[ i ] = a[ i - 1 ] ,因为根据 MEX 前缀的性质,如果 MEX{ b[ 1 ] , b[ 2 ] , ... b[ i - 1 ] } = a[原创 2020-06-18 03:08:18 · 520 阅读 · 0 评论 -
CodeForces - 1341F Nastya and Time Machine(dfs+构造)
题目链接:点击查看题目大意:给出一棵树,现在要求从点1出发遍历所有的结点一遍后再回到点1,额外给出一个时光机,可以到某个节点的任意时刻,需要满足的条件如下:初始时在节点 1 ,时间为 0 每次操作分为下列两种: ( v , t ) -> ( v , t_pre ) ,满足 0 <= t_pre < t (利用时光机) ( v , t ) -> ( v_ne...原创 2020-04-24 14:51:29 · 642 阅读 · 0 评论 -
CodeForces - 1334D Minimum Euler Cycle(构造+模拟)
题目链接:点击查看题目大意:给出一个由 n 个顶点组成的完全图,求出一个从点 1 出发的欧拉回路,使得字典序最小,不知道欧拉回路的同学请自行百度题目分析:字典序最小,那么就说明让序号小的顶点在前面,那么一开始肯定是从点 1 到其他顶点然后再回来是最优的,举个例子,当 n = 5 时,与点 1 相连接的序列可以为 1 2 1 3 1 4 1 5 ,注意,到了点 n 后,如果再回到点 1 的话...原创 2020-04-12 20:37:33 · 528 阅读 · 0 评论 -
CodeForces - 1333D Challenges in school №41(构造+模拟)
题目链接:点击查看题目大意:给出 n 代表字符串长度,k 代表操作次数,还有一个长度为 n ,只包含 ' L ' 和 ' R ' 的字符串 s ,对于每次操作,可以选择数对不相交的 i ,满足 a[ i ] == ' R ' && a[ i +1 ] == ' L ' ,操作可以使得a[ i ] = ' L' , a[ i +1 ] =' R' ,问能否恰好进行 k 次...原创 2020-04-09 04:58:37 · 453 阅读 · 0 评论 -
CodeForces - 1332B Composite Coloring(数论+构造)
题目链接:点击查看题目大意:给出 n 个合数,每个数不超过 1000 ,现在要求给每个数涂上颜色,使得相同颜色的任意两个数的 gcd 都大于 1 ,现在问在总颜色数不超过 11 种的情况下,构造出一种可行方案题目分析:因为每个数不超过 1000 所以可以考虑质因子分解,又因为每个数都是合数,所以每个数都可以被拆分出至少两个质因子,而第 11 个质数为 31 ,第 12 个质数为 37 ,3...原创 2020-04-01 12:25:51 · 452 阅读 · 0 评论 -
CodeForces - 1332D Walk on Matrix(构造)
题目链接:点击查看题目大意:给出一个错误的dp程序,目的是为了求从点 ( 1 , 1 ) 到点 ( n , m ) 只能向下移动或向右移动,找出一条路径,使得 与运算 的结果最大,给出一个 k ,构造出正确答案与错误dp答案相差恰好为 k 时的一个矩阵题目分析:首先要明白为什么题目给出的dp是错误的,乍一看其实没什么错误,但是仔细想一下,题目维护的dp是局部最大值,而对于位运算来说,局部最...原创 2020-04-01 12:00:51 · 273 阅读 · 0 评论 -
CodeForces - 1328D Carousel(构造+贪心)
题目链接:点击查看题目大意:给出一个旋转木马外观的排列,要求给每个木马刷上一种颜色,使得相邻的外观不同的木马颜色不同,问最少需要几种颜色,并提供构造方案题目分析:没做出来的同学大概是没读懂题吧,一开始我也因为题意琢磨了半天,感觉像是离散化,莽了一发果然错了,后来官方给出了提示是 “ 外观相同的木马颜色也可以不同 ” 后就豁然开朗了,其实就是构造一种方案使得相邻的木马颜色都不同,分类讨论一下...原创 2020-03-27 02:15:29 · 354 阅读 · 0 评论 -
CodeForces - 1325D Ehab the Xorcist(构造+异或)
题目链接:点击查看题目大意:给出一个 u 和一个 v ,要求构造出最短的一个数组,使得所有元素异或的结果为 u 所有元素之和的结果为 v输出构造的结果题目分析:情况稍微比较复杂的一道构造题,读完题后,先根据样例特判,当 u 和 v 为 0 时,答案为 0 ,当 u 和 v 相等时,答案为 u,当 u > v 时,答案为 -1,这些根据样例的提示应该不难想接下来我们应该构...原创 2020-03-15 03:07:58 · 860 阅读 · 1 评论 -
CodeForces - 1316D Nash Matrix(构造+dfs)
题目链接:点击查看题目大意:给出一个 n * n 的矩阵,初始时每个格子都为空,现在要求我们自己用 ' R ' , ' L ' , ' U ' , ' D ' 和 ' X ' 填充,分别表示在每个格子必须完成的指令,前四个分别为方向指令,代表着需要向指定的方向移动一个单位,而 ' X ' 代表终点,在这个点必须停下来,而在移动的过程中,不许越界,问能否找到一种构造方案,使得每个格子最终都能到达...原创 2020-03-05 17:57:13 · 571 阅读 · 0 评论 -
CodeForces - 1316C Primitive Primes(构造+数论)
题目链接:点击查看题目大意:给出一个多项式F(x)每一项的系数为a[ i ],以及多项式G(x)每一项的系数为b[ i ],令H(x)=F(x)*G(x),现在问能否找到H(x)中的一个项,使得其系数不能整除题目给出的 p题目分析:题目的条件中还有一个gcd==1,我感觉是为了误导人的就没有放上来,其实猜出结论之后实现起来很简单,但比赛的时候没有得出结论,这里只证明一下结论的正确性吧...原创 2020-03-05 16:00:45 · 324 阅读 · 0 评论 -
CodeForces - 1304D Shortest and Longest LIS(构造+贪心)
题目链接:点击查看题目大意:题目给出 n - 1 个大小关系,分别代表一个长度为 n 的数列各个位置的相对大小,现在需要我们用两个符合相对大小关系的 1 ~n 的一个排列,且该排列的最长不下降子序列分别最小和最大题目分析:读完题后不难想到,如果我们想让最长不下降子序列最长的话,那么整个序列必然是呈整体上升的趋势,最小的话相应的是整个序列呈下降趋势,因为多了相对大小这个约束,我们可以使得符...原创 2020-02-16 00:29:21 · 377 阅读 · 0 评论 -
CodeForces - 1301D Time to Run(构造+模拟)
题目链接:点击查看题目大意:给出一个n*m的矩阵,现在每两个格子之间都有一条双向的通道,初始时有个人在左上角的格子中,现在要求这个人精确的走 k 条路,不过每条路只能走一次,但是每个格子可以走无限次,如果有解要求输出任意一种情况题目分析:显然是个构造题,也没什么技巧,一开始盯着题目给的图老半天了,从回字形想到蛇形愣是没进展,快结束了突然灵光乍现,找到了一种方法可以将所有的路不重不漏的遍历一...原创 2020-02-14 02:30:57 · 346 阅读 · 1 评论 -
CodeForces - 1291D Irreducible Anagrams(思维+构造)
题目链接:点击查看题目大意:首先规定两个字符串 s 和 t 为 Anagrams ,当且仅当字符串 t可以通过字母重新排列后得到 s ,也就是每个字符出现的次数相同,但位置不做要求,紧接着规定另一个定义,规定若字符串 s 和字符串 t 为reducible anagram 当且仅当两个字符串在顺序不变的情况下,被切成 k 个部分(k >= 2),且这 k 个部分全都是Anagram...原创 2020-02-04 01:12:14 · 529 阅读 · 0 评论 -
CodeForces - 125C Hobbits' Party(思维+构造)
题目链接:点击查看题目大意:有一个派对,现在有 n 个人参加,题目要求我们构造出一种参加方式,满足条件且可以维持的天数最大:任意两天中至少有一个相同的人参加 任意三天中不能有一个相同的人参加输出最大天数并给出构造方案题目分析:一开始我想让相邻两个人互相在相邻的天数中出现,比如1 n1 22 3...n-1 nn 1但是发现这样的话第一个人会出现三次,与条...原创 2020-01-23 15:08:12 · 405 阅读 · 0 评论 -
CodeForces - 798D Mike and distribution(构造+思维/玄学随机数)
题目链接:点击查看题目大意:给出两个长度为n的数列,现在要求选出n/2+1个位置,使得两个序列中这些位置的和分别大于各自序列之和的一半题目分析:题意换句话说,是需要让我们从数组中选出一半,要大于另一半,这样我们可以以数组a为基准先从大到小排序,然后依次对于每两个相邻的b比较大小,选择较大的那个输出,因为此时数组a已经是降序排列的了,只需要让数组b满足条件就好了比较让我惊艳到的是随机数的...原创 2020-01-22 23:42:57 · 225 阅读 · 0 评论 -
CodeForces - 1270D Strange Device(思维+构造)
题目链接:点击查看题目大意:规定一个含有n个元素的数组a,每个元素互不相等,但是全部未知,现在给出一台机器,这台机器有两个参数,分别是k和m,其意义是每次可以询问k个下标,机器将给出k个下标中第m大的下标及其数值,现在k已知,要求在不超过n次询问的情况下确定出m的大小题目分析:看到这个题目给出的数据范围是1<=m<=k<n,我第一反应就是n其实没有什么用,关键在于k,为了...原创 2020-01-02 00:27:51 · 373 阅读 · 0 评论 -
CodeForces - 1270C Make Good(思维+构造)
题目链接:点击查看题目大意:给出一个由n个数字构成的数列,现在已知其累加和为sum,异或和为xor,现在允许我们向数列中添加0~3个数,以满足sum=2*xor,构造出任意一种方案题目分析:一开始我想分情况讨论的,就是在求出sum和xor之后,讨论一下其大小关系,如果sum小于2*xor的话,直接补齐两个其差值的一半就好了,因为新补的两个数对xor不做贡献,而对sum的贡献就是差值,可以满...原创 2020-01-01 20:21:23 · 592 阅读 · 0 评论