摘要: 最长上升子序列,枚举。 因为$10000$最多只有$10$个,所以可以枚举采用哪一个$10000$,因为是一个环,所以每次枚举到一个$10000$,可以把这个移到最后,然后算从前往后的$LIS$和从后往前的$LIS$,然后枚举一下哪里断开就可以了。 阅读全文
posted @ 2017-03-30 21:50 Fighting_Heart 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 二分。 先看个位上会发生几次进位,把每个数对$10$取余后排序,对每个数寻找有个数字和他相加会大于$10$,就有几次进位。然后继续处理十位,百位...... 阅读全文
posted @ 2017-03-30 20:45 Fighting_Heart 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 模拟。 每次找一下即将要遇到的那个点,这个数据范围可以暴力找,自己的写的时候二分了一下。如果步数大于$4*n$一定是$-1$。 阅读全文
posted @ 2017-03-30 20:42 Fighting_Heart 阅读(210) 评论(0) 推荐(0) 编辑
摘要: $KMP$,链表。 将$p$弄成链表,每次匹配到,删掉中间的,继续匹配。 阅读全文
posted @ 2017-03-30 20:40 Fighting_Heart 阅读(840) 评论(0) 推荐(0) 编辑
摘要: $BFS$。 如果$1$和$n$之间存在一条长度为$b$的边,那么还需要去计算只走长度为$a$的边的最小时间。 如果$1$和$n$之间存在一条长度为$a$的边,那么还需要去计算只走长度为$b$的边的最小时间。 第一种情况直接$BFS$即可。 第二种情况需要反过来思考,因为补图的边太多了,对于$BFS 阅读全文
posted @ 2017-03-30 20:26 Fighting_Heart 阅读(394) 评论(0) 推荐(0) 编辑