![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
构造
616156
赛高______↑
展开
-
【构造】【细节】CodeForces990D Graph And Its Complement
题意: 对于一个N个点的无向图,给出两个值a、b 求是否存在一个图,原来有a个联通块 并且将每条存在的边删除,不存在的边脸上后,有b个联通快。 如果存在则输出。 分析: 有一个很重要的结论,存在这个图的充要条件为:a=1或b=1(之后要除去两个特殊情况,非常恶心) 证明很简单,如果当前有不为1个联通块,那么把边反转之后,则每两个不属于同一个联通块的点必有一条边相连(原来根本就不连...原创 2018-06-17 17:34:45 · 185 阅读 · 0 评论 -
【构造】地转偏向力
题意: 分析: 首先, 一定要写个暴力! 一定要写个暴力! 一定要写个暴力! 手玩真心不好搞! 手玩真心不好搞! 手玩真心不好搞! 通过写一个5*5以内的暴力,我们可以找到一些特殊的方案: 存在这样一种方案,满足: 如图所示的一个五宫格中,存在一种方案,满足从1->2-3->4-1的一条回路(其中2与3,1与4是直接相连),并经过了五宫格内所有其余的点。 方案如下: 还存在一种...原创 2019-01-08 11:00:38 · 458 阅读 · 0 评论 -
【构造】【拓扑排序】AGC010E Rearranging
分析: 感觉和AGC001的一道题很像啊。。。 仍然是把矛盾关系连边,有边相连的点相对位置不会改变。 然后因为这题是无向边,所以可以在每个联通块中,从最小的一个点出发,依次遍历尽量小的位置,得到的序列即为这个联通块的序列。然后多个联通块每次取出队首最大的一个即可。 #include<cstdio> #include<cstring> #include<algorith...原创 2018-09-25 16:47:13 · 242 阅读 · 0 评论 -
【构造】Atcoder102 All Your Paths are Different Lengths
题意: 构造一个N个点,M条边的有向图,每条边严格从编号小的指向编号大的。允许重边。要求满足从1号点到N号点恰好有LLL种不同的路径。其路径总长度分别为0,1,2,……L−1L−1L-1 分析: 没看清题意wa了5次。。。 其实是非常简单的一道构造题。 具体的构造方法是:从i点到i+1i+1i+1点连一条0权边,一条2i−12i−12^{i-1}权边。这样就可以看做是一个n-1位二进...原创 2018-09-01 23:34:06 · 343 阅读 · 0 评论 -
【构造】Codeforces 1025E Colored Cubes
分析: 很有趣(du)的一道题目啊。。。 构造法很简单,首先,对原序列按x坐标排序,设第i个位置排序后的序号为idiidiid_i然后把每个位置(xi,yi)(xi,yi)(x_i,y_i)平移到(idi,yi)(idi,yi)(id_i,y_i)。这样只需要在yiyiy_i这条线上平移,很容易发现这是不可能矛盾的。 现在我们让每个格子都有一个不同的横坐标xixix_i,说明每一列上最多只有...原创 2018-08-21 10:28:11 · 412 阅读 · 0 评论 -
【构造】HDU6400 Parentheses Matrix
分析: 很有趣的一道题目啊。。。 毕竟是构造题,没什么思路可言,这里直接给出两种构造方式: 当然,首先排除掉nnn或mmm为奇数的情况, 对于n、m都为偶数的情况: 1、1、1、 这里只讨论n>mn>mn>m的情况(如果m>nm>nm>n把矩形横过来看即可) 第一列全为”(“,最后一列全为”)” 中间按照行和列的奇偶性 这么放的答案为n+(m−2)2n...原创 2018-08-16 08:20:44 · 198 阅读 · 0 评论 -
【构造】Codeforces1012E Cycle sort
题意: 给出一个序列,通过一些循环,将其排列成一个不下降的序列。 要求所有循环的长度不超过sss,并且使得满足条件的情况下,循环的个数尽量少。 分析: 如果不考虑限制条件sss,很显然,原序列任意一个排列都能在不超过2次循环内求出答案。 构造方法很简单。众所周知,任意一个排列都可以表示成几个不相交的循环。 那么如果长度不为1的循环只有一个,那么只需要这个循环倒过来做一次,就能恢复成...原创 2018-08-01 10:58:56 · 429 阅读 · 0 评论 -
【构造】AGC001 Arrays and Palindrome
题意: 给出一个长为M的序列a,其总和为N 先在需要构造出一个序列b,其总和也为N,且满足如下条件: 对于任意一个字符串,如果按照a分为M块,每块内部都为回文, 而且按照b分为M块,没亏内部也为回文。 要求所有满足上述条件的字符串,所有字符都相同。 分析: 其实这道题非常非常水。。。 由于最近刷了很多并查集的题,那么这里利用并查集来解释一下: 对于任意一个回文,我们可以看...原创 2018-07-19 23:13:00 · 247 阅读 · 0 评论 -
【构造】【搜索】Codeforces990F Flow Control
题意: 给出一个图,每条边有一个流量。现在给出每个点要求的最终的流量大小,构造出一种流量方案。使得能够满足条件。如果无解输出Impossible 分析: 很容易证明一点:只要每个点的流量和为0,就一定有解。 证明很简单,设aiaia_i表示i点的需求。如果存在两个点u,vu,vu,v,au>0au>0a_u>0,且av<0av<0a_vmin(|au|,|av|...原创 2018-06-18 21:55:48 · 354 阅读 · 0 评论 -
【构造】劲爆题
题意: 分析 如果可以使得二分图的某一侧全为0,另一侧全不为0,那么一定可以满足条件。 显然,左侧点权之和=右侧点权之和(mod 3) 因此,不为0的一侧就必须满足点权和mod 3=0 这个限制是非常弱的:如果这一侧总点数为3∗k3*k3∗k,那么直接所有都为1即可。 如果为3∗k+13*k+13∗k+1,那么拿两个数来换成2. 如果为3∗k+23*k+23∗k+2,那么拿一个数来换成2. #...原创 2019-03-13 17:34:38 · 220 阅读 · 0 评论