
构造法
文章平均质量分 75
Chen丶HC
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
例题8-1 煎饼(Stacks of Flapjacks, UVa120)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SF(a) scanf("%d", &a)原创 2017-11-14 21:57:27 · 309 阅读 · 0 评论 -
例题8-2 联合国大楼(Building for UN, ACM/ICPC NEERC 2007, UVa1605)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SF(a) scanf("%d", &a)原创 2017-11-14 22:17:52 · 395 阅读 · 0 评论 -
习题8-2 聚会游戏(Party Games, Mid-Atlantic 2012, UVa1610)
思路: 构造题,挫败感max。orz。。。。 容易想到ans为sort后中间两个字符串a,b之间的串。 由于要求长度以及字典序最小,可以按照这两个来枚举构造。 若某长度无解,则ans加上a串的当前字符。#include #include #include #include #include #include #include #include #include #incl原创 2017-12-22 22:12:44 · 293 阅读 · 0 评论 -
习题8-3 比特变换器(Bits Equalizer, SWERC 2012, UVa12545)
思路: 我还蛮怕这种题的。。。。 首先计算1的个数,若s多余t显然无解,之后先假设所有的问号变为t中对应字符。 再次计算st中1的个数,若不等说明问号处有问题,则问号处部分不变为1。 dif为不同数,dif += abs(s1 - t1)为总的不同处,ans = ? + dif/2。#include #include #include #include #include #inc原创 2017-12-23 15:38:13 · 292 阅读 · 0 评论 -
例题8-17 不公平竞赛(Foul Play, ACM/ICPC NWERC 2012, UVa1609)
思路: n = 2时,只要满足条件,目标队伍便能获胜。 采取递归分治的解法,每一步构造出满足条件的状态。 对每一步的构造方法: 首先选取黑色队与灰色队配对;再配对目标队;优先黑色队配对;剩下任意配对。 数据读入可以用char存储,%s输入。#include #include #include #include #include #include #include #原创 2017-12-07 20:47:10 · 339 阅读 · 0 评论 -
UVA 1614 Hell on the Markets (思维 + 构造)
思路: 关键在于1 结论:[1, sum(i)] 可以由 [a1, ai]组成。 证明 : 数学归纳法,n = 1显然成立,假设n = i成立 对n = i + 1时,需要凑出[sum(i) + 1, sum(i) + a(i +1)] 由于sum(i) >= i, 1 实现:排序后从大往小取,由结论sum/2可得,进而sum/2 - ai, 可由[a1, ai-1]得到,可知最原创 2017-12-30 18:23:12 · 211 阅读 · 0 评论 -
习题8-6 起重机(Crane, ACM/ICPC CERC 2013, UVa1611)
思路: 选择排序的思想,每个数最多经过两次翻转到达正确位置。 有点疑问:复杂度不是n方么。。。怎么能过。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2017-12-29 11:39:04 · 386 阅读 · 0 评论 -
习题8-7 生成排列(Generating Permutations, UVa11925)
思路: 冒泡排序的思想。 题目要求从123 -> 到213,可以转换一下 从无序到有序可以用冒泡解决 123 -> 213, 213变为123则123->213,同理123 -> 231等价于312 -> 123。 注意处理多余的2操作即可。#include #include #include #include #include #include #include #incl原创 2017-12-29 17:30:55 · 329 阅读 · 0 评论