
杂七杂八—构造
文章平均质量分 67
Ezereal
这个作者很懒,什么都没留下…
展开
-
CodeForces 417E (构造)
题意:要求构造一个矩阵,使得每行每列的平方和仍为一个平方数题解:cf的官方题解:If n = 1, then take [1].If n = 2, then take [3, 4].If n is even, then take .If n is odd, then take .代码如下:#include #include #include #includ原创 2016-03-21 19:30:46 · 466 阅读 · 0 评论 -
Codeforces Round #350 (Div. 2) F. Restore a Number(贪心构造)★ ★ ★
题目大意:给定一组数字字符串,其中包含一个大数和大数的长度,且这些数字被随机存储 第二行为大数包含的子数列 求出这个大数能够得到的最小数 题解:首先求出大数的长度 len为数字字符串的长度,digits从0递增判断(len-digits)的位数+(len-digits)是否与len相等求出大数的长度 接着求最小数 方法一(有些复杂): 把整个数列转载 2016-10-01 17:15:00 · 386 阅读 · 0 评论 -
AIM Tech Round 3 (Div. 1) B. Recover the String 构造
题意你要构造一个只含有01的串,其中子序列:00有a个,01有b个,10有c个,11都d个。如果不能,输出impossible题解:通过00和11,我们知道这个串里面0和1分别有多少个,然后我们就可以构造了。假设0全部放在前面,1全部放在后面,那么如果把一个1扔到最前面,那么C就会减去当前0的个数。然后我们就通过这个玩意儿去构造就好了#inclu原创 2016-10-13 17:44:27 · 441 阅读 · 0 评论 -
hdu 4781 Assignment For Princess(构造法)
构造一个n个点,m条有向边的图,需要满足两个要求:1.任意一对点对之间最多有一条有向边,且没有自环。2.保证图联通,m条边的边权严格属于[1, m]且互不相同,从任意点出发,经过任意路径后回到起始点,经过的边权总和是3的倍数。其中第二个要求似乎听上去很玄乎,其实可以一步一步的来:要同时满足1.2的要求,而且输入数据 m >= n + 3,那么也就是说,我们总是能轻松的先构造一个n个点n转载 2016-09-26 18:31:37 · 336 阅读 · 0 评论 -
2016 ACM/ICPC Asia Regional Qingdao Online hdu 5881 Tea (模拟构造)★
题意:有一壶水, 体积在 LL 和 RR 之间, 有两个杯子, 你要把水倒到两个杯子里面, 使得杯子水体积几乎相同(体积的差值小于等于1), 并且使得壶里剩下水体积不大于1. 你无法测量壶里剩下水的体积, 问最小需要倒水的次数。RR 之间, 有两个杯子, 你要把水倒到两个杯子里面, 使得杯子水体积几乎相同(体积的差值小于等于1), 并且使得壶里剩下水体积不大于1. 你无法测原创 2016-09-17 19:25:09 · 860 阅读 · 0 评论 -
【VK Cup 2016 - Round 1 (Div 2 Edition)C Bear and Forgotten Tree 3 (构造)
【题意】让你构造一棵树,使其满足——1,有n(1e5)个节点2,树的直径为d3,距离节点1最远的点的距离为h【类型】贪心 构造【分析】我们直接从贪心的角度入手做构造就好啦。只要d>=h>=(d+1)/2即可成功构造唯一的反例是d==h==1且点数超过2的时候,这个特判一下即可。构造方法:首先,我们构造一条长度为d的链,作为这棵树的直径转载 2016-09-14 16:00:44 · 346 阅读 · 0 评论 -
CROC 2016 - Elimination Round (Rated Unofficial Edition) E. Intellectual Inquiry 贪心 构造 dp
题意现在给你n,k和长度为m的串你需要构造一个长度为n+m的串,使得其中不同的子序列最多,输出数量。题解:构造题假设我们构造出来了,我们怎么去统计呢?dp[i]表示以i结尾的不同子序列数量,显然dp[i]=sigma(dp[j])+1,i!=j观察可以知道其实dp[i]=前面所有不同子串数量-以i结尾的子串统计知道了,我们怎么去构造呢?转载 2016-09-12 12:16:18 · 404 阅读 · 0 评论 -
D. Optimal Number Permutation(构造)
题意: 有一个长度为2*n的数组,数组由1到n,n个数,组成。其中每个数出现两次 对于每个i,i出现的位置是xi, yi (xi i) ,其中di = yi - xi求 最小时的数组序列思路: 最小值是0。因为我们只要保证每个数都相距n-i就行了,这样求和结果就是0。于是我们分奇数偶数进行构造,分别占n的长度,对于n特殊处理一下。因为i=n的时候一定是(n-i)=0,原创 2016-08-29 19:30:24 · 714 阅读 · 0 评论 -
构造 D - Finals in arithmetic ★ ★
题意:一个数字a + 反过来的ar == n (分析:完全看别人代码看懂的。不考虑进位的话,那么n应该是是回文的。那么处理成不进位的,每一位0~18。#include #include #include #include #include #include #include #include #include #include #include #includ转载 2016-08-29 15:53:50 · 575 阅读 · 0 评论 -
C. K-special Tables【构造】水
题意:给一个n和k的,要求第k列的和最大,n*n的矩阵,要求1到n*n所有数都出现,且每一行从左到右要求为递增题解:第k列之后一定只增加一,按照这个构造即可#include #include #include #include #include #include #include #include #include #include #include #include原创 2016-08-29 15:20:19 · 516 阅读 · 0 评论 -
Codeforces Round #337 (Div. 2) C. Harmony Analysis (构造)
题意:给 k,构造2^k * 2^k的图, 使得任意两行 相乘相加值为0题解:对于一个 满足了条件的 正方形,想要得到将其边长翻倍的图形 我们将它复制接右边,接到正下方,再取反接到斜对角,就是了; 根据这个我们从1*1得到 2*2得到 4*4---到答案#include #include #include #include #include#incl原创 2016-05-19 09:44:32 · 424 阅读 · 0 评论 -
Codeforces Round 335 (Div 2) D. Lazy Student【构造 脑洞 最小生成树】
【题意】 这题也是十分有趣的。 给你一个图,图上有n(1e5)个结点,m(1e5范围且n-1 我们现在,依次告诉你这m条边的—— (长度,是否为最小生成树上选取的边) 让你构造一个图,还原这m条边的可能连接关系。 或者判定这样的图不存在并输出-1 【类型】 构造 脑洞 最小生成树 【分析】 这题还是要借助最小生成树的相关知识的。 最小生成树是每次选边权最小的边,然后如果不存在环,就选取。 于原创 2016-05-01 15:50:43 · 446 阅读 · 0 评论 -
Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) D. Bear and Two Paths
题意:给定n个顶点和k条边。 还有4个点,a b c d要求找出一个图包括n个点和不超过k条边。并且输出一条路径从a->...->b 另一条路径从c->....->d,并且每条路径要都经过所以顶点一次并且仅一次。 不存在这样的路径输出-1思路:模拟写几组数据可以发现当n=4或者n>=k时不存在这样的图。其他情况都满足。 对于a->..->b的路径: a->c->[其他非a b c d的转载 2016-10-02 09:19:36 · 311 阅读 · 0 评论