题目描述

https://codeforces.com/gym/103261/problem/C

简要题意:给定一个长度为 $n$ 的排列,现在从第二位开始进行操作,如果当前数大于前一个数,那么就什么都不做,否则需要选择删掉当前这个数或者前一个数,需要注意如果删掉前一个数需要保证删掉之后依然保证递增,另外对于每一位这个操作只能进行一次,求最多能保留多少数字

$n\le 5\times 10^5$

阅读全文 »

题目描述

https://codeforces.com/gym/103261/problem/B

简要题意:给定一个长度为 $n$ 的字符串 $s$,现在对于 $k\in[1,n]$,求将 $s$ 分成 $m=\lfloor\frac{n}{k}\rfloor$ 段,每段长度为 $k$,第 $i$ 段的起点为 $(i-1)\times k+1$,定义 $f(k)=\sum_{1\le i <j\le m}[dist(p_i,p_j)\le 1]$,其中 $p_i$ 表示第 $i$ 段,$dist$ 表示两个串的汉明距离

$n\le 2\times 10^5$

阅读全文 »

题目描述

http://codeforces.com/gym/103119/problem/J

简要题意:给定一个长度为 $n$ 的序列,每个位置有两个参数 $(c,v)$,$c$ 是这个位置的颜色,$v$ 是这个位置的价值,现在有 $m$ 次操作,每次操作要么更改一个位置的颜色和价值,要么查询从 $s$ 开始最多跳过 $k$ 次所能获得的最大价值,其中从 $s$ 开始跳过 $k$ 次表示,从 $s$ 开始向右走,每到一个点,我们可以选择跳过或者不跳过,如果不跳过则该点的颜色必须之前没有到过,然后我们获得该点的价值

$n,m\le 2\times 10^5,k\le 10$

阅读全文 »