模拟
樂_smile
这个作者很懒,什么都没留下…
展开
-
UVa 1624 打结(Knots)
略代码:#include<bits/stdc++.h>#define LL long long#define ms(s) memset(s, 0, sizeof(s))#define REP(i, a, b) for(int i = (a); i < (b); i++)#define INF 0X7fffffffusing namespace std;const ...原创 2019-12-05 22:15:43 · 309 阅读 · 0 评论 -
UVa 10366 龙头滴水(Faucet Flow)
题意:一个水龙头在x = 0处不断地滴1体积的水,问要多少体积的水,才可以从左边或者从右边流出,注意,水龙头的滴水没有指向性,则例如水龙头的两边隔板高度有相同的情况下,会匀称的往两边滴。分析:其实就是有点爬坡的算法。接下来俺绘制图形来说明这个问题。总之细节就是均摊水的地方,其他的就爬坡就好了代码如下:#include<bits/stdc++.h>#define L...原创 2019-11-30 00:07:17 · 281 阅读 · 0 评论 -
UVa 11925 生成子序列(Generating Permutation)
题意:给一个序列,例如 2 3 4 1 要求从这个序列的最小字典序的序列,生成给定序列。分析:注意题目不要弄反了,紫书有点误导倾向,导致做了好久这道题反向好弄,故反推。例如 2 3 4 1方法2变成最尾的到最头。最后注意再次反向。代码:#include<bits/stdc++.h>#define LL long long#define ms(s) memset(s...原创 2019-11-15 20:44:37 · 270 阅读 · 0 评论 -
UVa 1610 聚会游戏(Party Games)
题意:输入一个n个字符串的集合D,找一个长度最短的字符串(不一定在D中出现)S, 使得D中恰好一半串小于等于S,另一半串大于S,如果有多解,输出字典序最小的解。分析:vector 存,排序,取中间的两个,然后把第一个逐渐变大,例如 ABC -> AC -> B 这样,一次次检验和第二个的关系,一旦大于了就停止循环,要注意的是 如果是 AZC 按照算法会变成 A(Z+1) Z + ...原创 2019-11-14 16:50:41 · 183 阅读 · 0 评论 -
UVa 120 煎饼(Stacks of Flapjacks)
题意:想象自己在翻煎饼,翻到最后最下面的值是最大的,最上面是最小的代码:#include<bits/stdc++.h>#define LL long long#define ms(s) memset(s, 0, sizeof(s))using namespace std;const int maxn = 50;int a[50];int b[50];bool cm...原创 2019-10-28 23:41:45 · 143 阅读 · 0 评论