Codeforces 题目传送门 & 洛谷题目传送门 这是一道 *2900 的 D1E,而且被!我!自!己!搞!出!来!了! 虽然我承认它难度及摆放的位置异常异常虚高,并且就算我到了现场也不可能切掉 下记 \(t_x\) 表示 \(x\) 是否可以被选择. 首先题目要我们统计五元组 \((a,b,c,d,e)\) 的个数,但稍微观察下就能发现 \(a,e\) 的个数是很好维护的,并且它不受到 \(t_x\) 的值的影响,因此我们可以提前把它预处理出来,记 \(pre_i=\sum\limits_…
D 五色战队 SRM 06 背景&&描述         游行寺家里人们的发色多种多样,有基佬紫.原谅绿.少女粉.高级黑.相簿白等.         日向彼方:吾令人观其气,气成五彩,此天子气也.         琉璃:我们是不是可以组个五人战队了?         游行寺家的n个人排成一排.第i个人的发色是Ai.         能组成战队的条件是:                 那五人假设是第a,b,c,d,e人(),需要满足                  中间的三人称为有头者,…
原题链接:788E - New task Description 游行寺家里人们的发色多种多样,有基佬紫.原谅绿.少女粉.高级黑.相簿白等. 日向彼方:吾令人观其气,气成五彩,此天子气也. 琉璃:我们是不是可以组个五人战队了? 游行寺家的n个人排成一排.第i个人的发色是Ai. 能组成战队的条件是: 那五人假设是第a,b,c,d,e人(),需要满足  中间的三人称为有头者,最旁边俩人称为学姐. 根据字面意思,有头者一定要有头,学姐可以无头.反正就是b,c,d这三人一定要有头. 有着恶趣味的琉璃每次…
C 秀恩爱 SRM 06 背景&&描述         KPM坐在直升机上俯瞰小渔村景象.         渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,sy).         KPM的后宫团们自发地聚集在一起为他送行,从空中看,后宫团形成了一个多边形.         当然了KPM是不在那个多边形内的.         直升机突然开始原地转圈,后宫团们因为想看着KPM的正脸,所以也跟着以KPM所在坐标为中心旋转.         后宫团所经之处单身狗尸横遍野…
A 撕书 SRM 06 背景&&描述 游行寺汀正在杀书.         书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s.         琉璃静静地在旁边看着.根据他对汀的了解,汀+1s只会撕一页.令表示第i秒撕的是哪一页,显然是1..n的一个排列.         琉璃突然对s的一个非空子序列t产生了兴趣.他想知道,最多在汀撕多少页之后,t仍然是剩下的书的某个子序列. 输入格式 第一行一个字符串,表示s 第二行一个字符串,表示t 第三行n个整数(…
B 起伏的排名 SRM 06 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     在上个星期她打了n场麻将,每场麻将都有n名玩家.KPM自然记得自己的n次排名.     KPM有高超的控分技巧,所以她的n次排名是1..n的一个排列.    为了让妹子相信自己最近比赛状态起伏不定不宜外出,KPM想要从n场比赛里选出一个子序列,使得第一场排名>第二场的,第二场排名<第三场的,第三场的>第四场的....     总之除了选出来的第一场,选出来的其他场的排名 要…
比较套路的一个题, 对每个数维护一颗线段树来转移就好了. #include <iostream> #include <algorithm> #include <cstdio> #include <math.h> #include <set> #include <map> #include <queue> #include <string> #include <string.h> #include &…
T1二分check...为什么这么显然的我没看出来TAT,还在想倒着加入并查集check什么的,题写太多思维定势啦QAQ T2是NOIP题的弱化版...当时没看出来,写了个DP.可以看出这一位比上一位大还是小只由转移的长度奇偶来决定,开两个BIT分别维护奇偶下标是权值来帮忙转移就行了 T3几何题QAQ好像得用三角函数之类的,写不动呜呜...(HR估计能随手切 T4写太丑被卡掉了,思路应该是没错的...对每个权值开一个线段树,每个节点维护左边 中间 右边 左边和中间 中间和右边 左边中间右边的方案…
[题意]n个数,每个数有附加属性0或1,初始全为1.m个操作,每个操作可以改变一个数字的属性为0或1.对于每次操作后的序列求有多少子序列满足要求:5个数字,中间3个数相等且属性为1,左右两个数小于等于中间三个数且属性任意.n,m<=10^5. [算法]线段树 [题解]朴素的算法,奇妙的使用>_<! 离散化后,e[i]为i的权值. 用a[i]记录比1~i-1中≤e[i]的数的个数,b[i]表示i+1~n中≤e[i]的数的个数. a和b可以用树状数组维护,树状数组下标为离散化后的权值,按顺序…
Paper task 如果不要求本质不同直接st表二分找出最右端, 然后计数就好了. 要求本质不同, 先求个sa, 然后用lcp求本质不同就好啦. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII…