题目链接 \(Description\) 给定\(n\)个数.你可以选择一段区间将它们都加上或减去任意一个数.求最终序列中最多能有多少个数等于给定的\(C\). \(n\leq5\times10^5\). \(Solution\) 先记一个表示\(C\)的个数的前缀和\(sum_i\). 选择修改的区间\([l,r]\)一定满足\(A_l=A_r\)且都是由\(A_l\)变成\(C\).所以我们枚举右端点,对每种权值单独考虑. 那么\(A_r\)要么是由前面某个等于\(A_r\)的数转移过来,要…
传送门 解题思路 贪心.对于一段区间中,可以将这段区间中相同的元素同时变成\(c\),但要付出的代价是区间中等于\(c\)的数的个数,设\(sum[i]\)表示等于\(c\)数字的前缀和,Max[i]表示数字\(i\)的最大个数.那么只要\(O(n)\)的扫一遍,维护一下每个数字的\(max\),具体做法是看一下\(Max[a[i]]\)大还是\(sum[i]\)大,如果\(sum\)大的话,说明前面都不变,直接把\(Max\)赋值成\(sum[i]+1\),否则直接让\(Max[i]++\),…
E. Increasing Frequency 题目链接:https://codeforces.com/contest/1082/problem/E 题意: 给出n个数以及一个c,现在可以对一个区间上的数同时加上或减去一个值,问最后c的最多数量为多少. 题解: 这题挺有意思的,我们通过分析题目可以发现,对于每一个d,如果把[l,r]里面的d都变为c,则最后c的数量为cnt(c,1,l-1)+cnt(c,r+1,n)+cnt(d,l,r). 这个式子变化一下,有:cnt(c,1,n)+cnt(d,…
题目传送门 题意:给你n个数和一个c, 现在有一个操作可以使得 [ l, r ]区间里的所有数都加上某一个值, 现在问你c最多可以是多少. 题解: pre[i] 代表的是 [1,i] 中 c 的个数是多少. suf[i] 代表的是 [i,n] 中 c 的个数是多少. 我们可以处理出这些信息. 然后我们从后往前处理信息. 现在给定一个b[x], b[x] 记录的是 [l, r] 中 x 的个数 + [r+1, n] 中 c的个数. 那么 每次出现一个新的 x, 现在可以转移到b[x]的状态是 ma…
题目: 题目原文链接:http://codeforces.com/contest/845/problem/C 题意:现在我们有一个电视清单,有两个电视,电视清单上有每一个节目的开始时间和结束时间. 电视不能接连不间断的播放,例如TV1播放完1-2点的节目后不能接着播放2-3点的电视,除非在TV2上播放,如果TV2也正在播放则不能播放完清单. 思路: 1.对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前. 2.如果TV1已经结束.就把这一个节目的结束时间赋给TV1,然后看下一个节…
题目链接:http://codeforces.com/problemset/problem/1168/A 题意:给一个数组,数组中元素范围为0~n,每次你可以选择若干元素进行(ai+1)%m的操作,问使数组呈非递增的最小操作次数. 思路:因为每次都可以选若干个元素,用贪心思想,假设要操作x次,第一个元素加上x若能超过m,则对m取模最小值为0,令其等于0就好了,后面每个元素加上x后,对m取模后只要不比前面小就好了,则依次判断数组的每个元素能否满足,利用二分搜索来寻找 操作数 x,x即为答案. AC…
You are given array a a of length n n . You can choose one segment [l,r] [l,r] (1≤l≤r≤n 1≤l≤r≤n ) and integer value k k (positive, negative or even zero) and change a l ,a l+1 ,…,a r  al,al+1,…,ar by k k each (i.e. a i :=a i +k ai:=ai+k for each l≤i≤…
You are given a string ss. You should answer nn queries. The ii-th query consists of integer kiki and string mimi. The answer for this query is the minimum length of such a string tt that tt is a substring of ss and mimi has at least kiki occurrences…
M. Quadcopter Competition time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Polycarp takes part in a quadcopter competition. According to the rules a flying robot should: start the race from…
1017C The Phone Number: 构造数列使得LIS和LDS的和最小,定理已知LIS=L,LDS=n/L的向上取整,根据样例可以得到设置L=根号n,构造方法如样例 截断法构造,不用考虑边界: Show an example of n=22: "' 19 20 21 22 15 16 17 18 11 12 13 14 7 8 9 10 3 4 5 6 1 2 "' int tmp = sqrt(n); ,j,o=n;i<=n;i+=tmp) { ,n);j>=…