模拟
码不停Tick
这个作者很懒,什么都没留下…
展开
-
CodeForces 660D Number of Parallelograms
You are given n points on a plane. All the points are distinct and no three of them lie on the same line. Find the number of parallelograms with the vertices at the given points.InputThe first l转载 2017-07-26 20:43:30 · 390 阅读 · 0 评论 -
51nod 1289 大鱼吃小鱼
这道题确实非常有趣,一直在想着用什么数据结构实现这个算法。最后看了下别人的思路瞬间明白了,原来还能用栈实现。然后总结了一下,好像如果问题涉及到顺序优先的时候应该都可以考虑一下栈。(如计算算数式,就是用栈来实现运算的优先级)。这道题的主要思路是,如果遇到朝向右游的鱼就把它入栈,如果是遇到朝向左的鱼则将其大小与栈顶的鱼做比较,如果大于栈顶的鱼则栈顶的鱼出栈,鱼的总数减一直到栈顶的鱼大于向左的鱼或者空栈原创 2017-11-12 22:25:39 · 242 阅读 · 0 评论 -
GOJ 1455 数学(规律模拟递推)
好吧,这题其实真的不难,可是模拟的时候思路一直不清晰,以后遇到这种题目时一定要静下来仔细分析,不要怂,因为这种题目是一定可以做出来的。思路:首先从其中一堆里面取下一片,轮换一次(即第一个放到空盘子,第二个取一个放到第一个...以此类推)然后少一片的那一堆与(n-2)堆进行交换,每次交换需要两步,当还剩最后一堆没有交换时(也就是剩下第n-1堆),只需要从那里取一片过来就行。最后再把取出来的那一片原创 2017-12-11 11:53:42 · 268 阅读 · 0 评论 -
uva673 嵌套括号
题意:紫书这题比较简单,用一个维护一个栈,遇到左括号入栈,右括号判断栈顶,如果匹配则出栈。注意:1、输入存在空串 所以要用getline. 2、此题是嵌套括号而不是括号匹配,因此像[ ( ] ) 输出是no 而不是yesac代码:#include#include#include#include#includeusing namespace std;//////wa原创 2018-03-08 17:11:34 · 192 阅读 · 0 评论 -
hihocoder1705 用set排序
题目:中文思路上这题不难想到:首先从左边扫一遍位置,记录每个空位置左边连续的空位置,然后再从右扫一遍,记录每个空位置右边的连续空位置.(注意把这些空位置放入set中去).然后把set内的首元素拿出来就是满足条件的一个座位。然后把这个座位标记为坐上,在set中删掉,更新以这个位置为分界的左边的椅子和右边的椅子,重复操作。比较难想到的是用set自带的排序来做,开始我用优先队列来做,发现删除原创 2018-03-18 00:45:08 · 215 阅读 · 0 评论