5.模拟
35point5
这个作者很懒,什么都没留下…
展开
-
Codeforces 5C Longest Regular Bracket Sequence
题面 题意: 给你一个括号序列,求最长匹配的括号序列长度及数量. 题解: 考虑(赋为1,)赋为-1,画出前缀和的图像l1l1l1. 再把(赋为-1,)赋为1,画出后缀和的图像l2l2l2. 随意画一条直线k,画出l1,l2l1,l2l1,l2均在k上方的部分,如图中阴影部分. 而阴影部分的下底[a,b][a,b][a,b]就是匹配的括号序列. 那答案就是所有可能的阴影部分中...原创 2018-03-04 15:50:04 · 123 阅读 · 0 评论 -
Codeforces 5E Bindian Signalizing
题面 题意:给你一个环,求两个数之间没有比它们大的数的对数.题解: 可以先把最大的提到前面,这样即可破环为链. 考虑一对符合要求的不同的数,可以当作较小的数一直向左(或者右)找,找到的第一个比它大的数,所以每个数记一个l,rl,rl,r表示向左和向右第一个数的坐标,若它比所有它右边的数和除第一个以外左边的数都大,就不计入答案. 快速求l,rl,rl,r的方法(其中v为数值):r[i...原创 2018-03-04 16:04:05 · 149 阅读 · 0 评论 -
BZOJ 5110 [CodePlus2017]Yazid 的新生舞会 O(n)
题面 题解: 枚举每个数作为众数,枚举到的数赋为+1,其它数赋为-1. 走一次统计一次肯定不现实,考虑动态更新走到当前点的答案res. 设sum为当前前缀和,f[i]表示前缀和为i的点有f[i]个,res即为所有小于sum的f[i]的和. 若接下去有一连串-1使得sum小于最小值,则一步跳到这串-1的末尾(因为不用统计答案) 这时就需要一个差分数组cf,在起点打-1标记,在终点打+1标...原创 2018-03-04 20:25:31 · 599 阅读 · 0 评论 -
ARC013C - Ants on a Circle
C - Ants on a Circle 可以看做n只蚂蚁坐n辆车,两车交会时交换车上的蚂蚁,显然我们可以轻易求出每辆车最后的位置,而且每只蚂蚁的相对位置不变,蚂蚁1的后继是蚂蚁2,蚂蚁n的后继是蚂蚁1。 假设从0开始最左边一辆车上蚂蚁编号为1,最右边一辆车上蚂蚁编号为n,可以推出当一辆车顺时针跨过0时其他车上蚂蚁编号+1,即 {1,2,3,4,5,…,i,i+1,…,n}{1,2,3,4,...原创 2018-08-14 18:59:20 · 156 阅读 · 0 评论 -
CPOJ 排列变换
题面 每次肯定是选一个不在自己位置上的数连续换换换直到所有经过的位置都满足要求为止 一次换换换可能是这样的: 显然可以把红圈里开倒车的所有数都先换掉,这样显然可以让答案变小,然后剩下来的数都是单调的,再计入答案即可.Code...原创 2018-09-02 19:09:44 · 246 阅读 · 0 评论 -
CPOJ 矩阵交换
题面 考虑用链表维护,矩阵里每个点维护一个向下和向右的指针,每次O(n)O(n)O(n)维护即可Code原创 2018-09-02 19:16:32 · 322 阅读 · 0 评论