
模拟
CoderCat.
大
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CodeForces - 1007A_Reorder the Array 模拟+二分查找
题目大意:给定一个包含n个整数的数组a[],将该数组重排列,若对应位置上的数比原数组的大则++cnt,求最大的cnt; (1)将a[]按不降序排序。vector < int > v;初始化为a[2~n]; (2)如果v的队尾元素<=a[i],则不可能给相应的位置匹配一个大于a[i]的数了。输出cnt并且结束程序。 (3)二分查找v中第一个大于a[i]的位置,如果该位置为v的...原创 2018-08-04 17:44:49 · 239 阅读 · 0 评论 -
Gym - 101572G_Galactic Collegiate Programming Contest 模拟multiset
题目大意:一场比赛的排名依据是过题数多的排名靠前,其次罚时少的排名靠前。一个队伍的排名是k+1,其中k表示有k支队伍优于他。现给定n个队伍,编号1~n,再有m个事件,每个时间是t, p,表示队伍t过了一题,罚时是p。要求输出每个事件后队伍1的排名。 因为一个队伍的排名是k+1,所以只需要维护优于他的队伍数量即可。 每个队伍的属性有过题数与罚时,用multiset维护优于队伍1的队伍数。 (1...原创 2018-08-05 11:58:00 · 205 阅读 · 0 评论 -
CodeForces - 920E_Connected Components? 模拟
题目大意:无向图中给定n个顶点,m条不存在的边(除了这m条边,其余都存在),求图的连通分量,及每个连通分量的大小。 list < int > g;存储1~n个顶点。再后续的操作中将其分裂成若干块,直到list为空。 (1)当list不为空,清空队列,取队首的一个点入队。 (2)当queue不为空,取一个点,将与其相关的点入队并从list中删除。记录联通块大小。 #include...原创 2018-08-05 13:01:02 · 342 阅读 · 0 评论 -
CodeForces - 508E_Arthur and Brackets 括号问题(stack)
题目大意:给定括号总数n,再给出每组括号的左右半边的下标相差范围L, R,求满足条件的括号序列,若不存在则输出IMPOSSIBLE pos[i]:第i个括号的左半边的位置 len:当前字符串长度 括号匹配成功的条件:pos[i]+L[i]<=len+1<=pos[i]+R[i]; #include <cstdio> #include <stack> ...原创 2018-08-05 13:50:24 · 248 阅读 · 0 评论 -
CodeForces 797C Minimal string
题目大意:给定一段字符串,用栈做容器,确定字符的入栈和出栈顺序,将字符串变为字典序最小并输出 算法: (1) 遍历字符串,直到栈为空,将栈中小于当前字符的字符全部出栈。再将当前字符压栈。 (2) 若遍历完,栈不为空,将栈中字符全部出栈 启示:能压栈的尽量压,每次枚举满足条件的能出栈尽量出栈 #include &lt;cstdio&gt; #include &lt;stack&gt; ...原创 2018-07-26 21:47:10 · 224 阅读 · 0 评论