模拟
文章平均质量分 77
冷月残星
这个作者很懒,什么都没留下…
展开
-
模拟,滚动数组,递归(不公平竞赛,uva 1609)
用递归的思想求解。n是2的整数幂,应该要想到递归的思想的。但不是用递归函数求解的。而是直接模拟。想办法组织一轮比赛,使得比赛过后剩下的n/2个人依然满足条件。当n=2时结果是显然的。紫书上讲的很详细。一开始用滚动集合做,= =超时了。。。集合真的好慢啊。然后改用滚动vector了。当n等于2时若满足题目条件,答案是显然的。一开始时就满足题目条件,因此我们每轮比赛原创 2016-09-15 00:12:12 · 626 阅读 · 0 评论 -
贪心,模拟,构造(HDU 5414,CRB and String)
WA了好久。。No写成了NOYes写成了YES读题:没问题算法:光是正确构造出来一个结果是远远不够的,我们更应该考虑在构造的过程中所使用的算法(比如贪心)是否会使得后面的构造失败。实现:没问题细节:No写成了NO,Yes写成了YES代码#include#include#includeusing namespace std;const in原创 2017-07-22 14:16:48 · 258 阅读 · 0 评论 -
动态规划,计数DP,模拟(Persistent Link/cut Tree,HDU 5401)
题目链接:https://vjudge.net/problem/HDU-5401系统相对比较复杂的动态规划,所以看上去有点像模拟。参考博客:http://blog.csdn.net/u013007900/article/details/47760825TEL了好久。原因是使用了stl的map,被卡了常数。stl的map的常数大概是自己实现trea原创 2017-07-17 12:56:57 · 268 阅读 · 0 评论 -
规律,模拟,贪心(Travelling Salesman Problem,HDU 5402)
显然行列有一个是奇数就可以全部走完。这种情况直接模拟就好。否则的话,一定会有一个格子走不到。多试几种情况就可以发现这个规律。证明的话:http://blog.csdn.net/queuelovestack/article/details/47756605就是对整个棋盘进行黑白二染色,如果行列相加为偶数,就染成黑色,否则染成白色。我们的路径一定是黑白相间。当行列皆为偶数的时候我们原创 2017-07-16 20:13:35 · 250 阅读 · 0 评论 -
置换,模拟,优化(HDU 5338,ZZX and Permutations)
理解置换的概念以及题意后,剩下的就是模拟了。花了挺长时间,主要是模拟有漏洞+想暴力过。希望自己能养成一个做题目的好习惯,虽然写完代码再来debug能比较稳定地查出错误,但是一旦出现了整体性的解法错误就得推倒重来,这会花掉非常多的时间,希望自己能权衡一下写代码和想明白之间的时间分配,任何基本功都是值得坚持训练的。代码#include#include#define原创 2017-06-07 10:27:08 · 281 阅读 · 0 评论 -
模拟,bfs(HDU 5336,XYZ and Drops)
超时,然后加了两个提前终止的判断就过了。其实自己一开始也没有好好算时间复杂度,TLE后觉得最差情况确实妥妥地超时,只好想办法优化,然后想出了3种优化。1、如果没有waterdrops了,就直接break。2、如果没有drops了,就直接break。3、考虑将多个同位置,同方向的drops合并。暂时没有更好的想法,而且哪怕是加上这些优化,在最差情况依旧妥妥地超时。原创 2017-06-06 17:44:21 · 226 阅读 · 0 评论 -
模拟(HDU 5319,Painter)
题目链接:https://vjudge.net/problem/HDU-5319一道很相似的题目:Paint the Grid Againhttps://vjudge.net/problem/ZOJ-3780对比一下两个题目 PainterPaint the Grid Again相同点1、画画方式只能斜着画,起始点不固原创 2017-06-05 12:27:49 · 342 阅读 · 0 评论 -
找规律,模拟(HDU 5308,I Wanna Become A 24-Point Master)
都有规律,只是小数据模拟起来很麻烦,但是大数据模拟却十分简单。可以考虑小数据全部打表,或者只把麻烦的部分打表,大数据全部程序模拟。其实如果再来一次,我还是会选择模拟而不是打表,毕竟打表太麻烦,而且模拟也不算太复杂,就是对细节要求高。在获得思路的过程中往往会尝试很多想法,可能到最后你找到正确的思路后,那些错误的思路会干扰你(其实就是说,虽然找到了正确的思路,但是没有完全想原创 2017-05-19 16:01:16 · 307 阅读 · 0 评论 -
置换,循环,模拟(像素混合,LA 3510)
大模拟+置换理论就是按要求把每个操作都实现一遍,然后常规的找循环节,然后答案显然是所有循环节的最小公倍数。感觉自己写长代码,大模拟的能力很弱,主要是因为自己找小错误能力太弱(其实啥都弱),代码一长,更多的小细节会遗漏和出错,而自己却写得很爽并且浑然不知,然后连样例都过不了,还以为是思路或者方法出了问题,反复测试都找不到问题。解决办法:大模拟这种东西是最考验踏实程度的题目原创 2016-12-06 12:24:42 · 327 阅读 · 0 评论 -
模拟(Epidemic in Monstropolis,cf 733C)
cf就是这样,过了pretest屁用没有的,可以理解为盲交了。他的数据量很大但是很弱,WA on test 92 只是因为有一个非常大的错误。AC很具有迷惑性,一旦AC了就一点都不想再查错了,然而若WA就会很坚定的找,然后往往很快就能找到BUG。只能说以后就无视掉AC吧,这就是一个盲交的比赛。AC代码#include#define maxn 510using namespace原创 2016-11-01 09:04:31 · 374 阅读 · 0 评论 -
二分(长城守卫,LA 3177)
一看到这题,以为是数学,真的不会。事实上这是算法比赛,数学题不一定要用数学的解法。你看这题,要你找某个尽量小的值来满足一些事。简直就是明示你二分啊。而且满足不满足是连续的,因此用lower_bound。一直觉得一定是有某个公式算出答案。其实没有那么多公式化的东西,更重要的是解决问题。如果实在没有头绪,那就自己给自己出几个题目,想尽各种办法先得到答案,也许你就会找到规律,从而找到能用原创 2016-10-24 17:54:14 · 546 阅读 · 1 评论 -
枚举,模拟(Too Much Money,cf Canada Cup 2016 E)
一开始想只用放某个大于等于所有硬币的硬币是最优。后来发现能出解但不一定是最优解。当时就是想,第一次取的硬币的大小一定是大于等于最大的硬币。那么我就枚举所有可能的取值,如果都可以被凑出来,那就说明无解。如果凑不出来了,那就取最小的那个。当时觉得如果第一步都能凑出来,那么以后也一定能凑出来。如果第一步都凑不出来,那也就没有以后了。事实上,如果你放大硬币,这个推论确实是对的。然而可能会存在某个小硬币原创 2016-10-23 10:46:19 · 451 阅读 · 0 评论 -
模拟(Joint Stacks,HDU 5818)
很容易想到用set来模拟。看到网上大部分人都用优先队列。优先队列和set的唯一区别就是优先队列不可以删除中间的元素,但是set可以。所以优先队列可以完成的功能set也可以完成。只不过优先队列封装得更好,使用起来更方便。感觉这道题目时间复杂度都不知道该怎么估计。第8场的多校题目数据范围说得很详细,有多少组大数据,多少组小数据之类的。这题就说有多组,也不知道有多少,原创 2017-07-26 18:58:42 · 247 阅读 · 0 评论