本文记录了从2023年4月开始的做题记录,难度以2000~2400分为主,主要格式为:
题号 题目类型 (一句话题意)
作为个人刷题的总结,同时如果能帮助到其他人也更好,如果需要找某些题型可以直接 Ctrl+F
在网页中查找
本博客的编写是陆续进行的,故格式不尽相同,见谅
随着做题的进行,本博客会不定期更新
30E KMP+manacher (给定字符串 s s s,将其划分为 A + p r e + B + m i d + C + s u f A+pre+B+mid+C+suf A+pre+B+mid+C+suf,其中 p r e = r e v e r s e ( s u f ) pre=reverse(suf) pre=reverse(suf), m i d mid mid为奇回文串, A , B , C , p r e , s u f A,B,C,pre,suf A,B,C,pre,suf可为空,最大化 ∣ p r e ∣ + ∣ m i d ∣ + ∣ s u f ∣ |pre|+|mid|+|suf| ∣pre∣+∣mid∣+∣suf∣)
149E 后缀数组 (给定 s s s,每次询问是否存在 a , b , c , d a,b,c,d a,b,c,d使得 t = s [ a ∼ b ] + s [ c ∼ d ] t=s[a\sim b]+s[c\sim d] t=s[a∼b]+s[c∼d])
715B 图论构造 (给定无向图,部分边权为0,给这些便赋一个正数使得 s s s到 t t t的最短路为 L L L)
802I 后缀数组 ( Σ t 是 s 的子序列 c n t t 2 \Sigma_{t是s的子序列} cnt_t^2 Σt是s的子序列cntt2)
873F 后缀数组 (求 max c n t ( t ) ∗ ∣ t ∣ \max cnt(t)*|t| maxcnt(t)∗∣t∣,其中 t t t是 s s s的子串,某些位置不能作为统计出现次数的结尾)
1089C 交互 (给定无向图,猜一个点 v v v,每次告诉你与所猜点 u u u相邻的点 w w w,满足 d i s ( w , v ) < d i s ( u , v ) dis(w,v)<dis(u,v) dis(w,v)<dis(u,v))
1153E 交互 (蛇)
1153F 期望 (随机 n n n条线段,求重叠大于等于 k k k层的长度的期望)
1513F 数据结构(二分) (给定 { a i } , { b i } \{a_i\},\{b_i\} {ai},{bi},交换一对 a i , a j a_i,a_j ai,aj,最小化 Σ ∣ a i − b i ∣ \Sigma|a_i-b_i| Σ∣ai−bi∣)
1607G 贪心 (给定 { a n } , { b n } \{a_n\},\{b_n\} {an},{bn},给每个 a i , b i a_i,b_i ai,bi总计减去 m m m,最小化 ∣ Σ a i − Σ b i ∣ , n ≤ 1 e 5 |\Sigma a_i-\Sigma b_i|,n\le1e5 ∣Σai−Σbi∣,n≤1e5)
1607H 贪心 (给定 { a n } , { b n } , { m n } \{a_n\},\{b_n\},\{m_n\} {an},{bn},{mn} ,对于每个 i i i , a i , b i a_i,b_i ai,bi 一共减去 m i m_i mi ,求一种方案使得 ∣ { < a i , b i > } ∣ |\{<a_i,b_i>\}| ∣{<ai,bi>}∣ 最小, n ≤ 2 e 5 n\le 2e5 n≤2e5 )
1617D2 交互 (猜测一个长度为 n n n 的01序列,每次查询 ( x , y , z ) (x,y,z) (x,y,z) ,返回 a x , a y , a z a_x,a_y,a_z ax,ay,az 中出现最多的数,即0/1,至多查询 n + 6 n+6 n+6 次,输出 0 0 0 的个数以及其下标)
1629E 构造 (给定一个 n × n n\times n n×n 的矩阵 b n , n b_{n,n} bn,n , b i , j b_{i,j} bi,j 表示与位置 ( i , j ) (i,j) (i,j) 相邻的 a i − 1 , j , a i , j − 1 , a i , j + 1 , a i + 1 , j a_{i-1,j},a_{i,j-1},a_{i,j+1},a_{i+1,j} ai−1,j,ai,j−1,ai,j+1,ai+1,j 的异或和,求原矩阵 a n , n a_{n,n} an,n 的异或和)
1631D 二分答案+双指针 (将序列划分为 k k k段,要求每段中介于 [ x , y ] [x,y] [x,y]的元素个数严格大于 [ x , y ] [x,y] [x,y]之外的元素,最小化 y − x y-x y−x, n ≤ 2 e 5 n\le 2e5 n≤2e5)
1631E 贪心 (给定序列 { a n } \{a_n\} {an}初始都无色,每次选择 i < j < k , a i = a k i<j<k,a_i=a_k i<j<k,ai=ak,可将 a j a_j aj染色,求最多染色个数)
1632D 数学 (定义序列有趣当且仅当所有子段中的gcd都不等于子段的长度,对于给定序列,求其每个前缀需要修改多少个数使其有趣, n ≤ 2 e 5 , a i ≤ 1 e 9 n\le 2e5,a_i\le 1e9 n≤2e5,ai≤1e9)
1634D 交互 ( 2 n − 2 2n-2 2n−2次查询,找序列 { a n } , 0 ≤ a i ≤ 1 e 9 \{a_n\},0\le a_i\le 1e9 {an},0≤ai≤1e9,中唯一的0,每次查询 i , j , k i,j,k i,j,k返回 max ( a i , a j , a k ) − min ( a i , a j , a k ) \max(a_i,a_j,a_k)-\min(a_i,a_j,a_k) max(ai,aj,ak)−min(ai,aj,ak),回答时给出两个数有一个为0即可)
1634E 构造 (给定 m m m个长度为偶数的序列,将每个序列中元素平分到两个集合中,要求最终两个集合相等,给出构造方案)
1638D 构造+BFS ( n × m n\times m n×m的方格染成指定颜色,刷子为 2 × 2 2\times2 2×2,颜色可覆盖,给出一种染色方案不超过 n m nm nm次)
1638E 数据结构 (序列初始颜色为 1 1 1,值为 0 0 0,三种操作:区间染色,指定颜色值增加,查询单点值)
1641B 构造 (给定数列 { a n } \{a_n\} {an},每次可在任意位置插入两个相等的数,要求最后序列可以划分为若干个漂亮的序列,漂亮的序列前一半和后一半完全相同,求是否可行及构造方法)
1641C set/数据结构 ( n n n个人两种信息, [ 0 , l , r ] [0,l,r] [0,l,r], [ l , r ] [l,r] [l,r]中人全部健康, [ 1 , l , r ] [1,l,r] [1,l,r], [ l , r ] [l,r] [l,r]中至少一人生病, [ 2 , x ] [2,x] [2,x],询问第 x x x个人生病情况or不确定,强制在线)
1647D 构造 (整除相关)
1684E 构造 (给定数列 a n a_n an,可以任意修改 k k k个数,最大化 D I F F − M E X DIFF-MEX DIFF−MEX)
1706D2 构造+贪心 (给定 { a n } \{a_n\} {an},求 min ( max ⌊ a i / p i ⌋ − min ⌊ a i / p i ⌋ ) \min(\max \lfloor a_i/pi\rfloor-\min\lfloor a_i/p_i\rfloor) min(max⌊ai/pi⌋−min⌊ai/pi⌋))
1728E 贪心+数论 (利用拓展欧几里得算方案,再求最大值)
1738E DP (给定数列划分为若干子段,使得字段和构成的新数列回文,求方案数)
1735E 构造+贪心 or 网络流 (数轴上有 p 1 , p 2 , { a n } p_1,p_2,\{a_n\} p1,p2,{an}, { d 1 n } , { d 2 n } \{d1_n\},\{d2_n\} {d1n},{d2n}表示 { a n } \{a_n\} {an}与 p 1 , p 2 p_1,p_2 p1,p2的距离但打乱顺序,给定 { d 1 n } , { d 2 n } \{d1_n\},\{d2_n\} {d1n},{d2n},求 p 1 , p 2 , { a n } p_1,p_2,\{a_n\} p1,p2,{an})
1741G DP (图中有 n n n 个点 m m m 条边,有 f f f 个人, k ≤ 6 k\le 6 k≤6 个人没车,每个人可以带多个没车的人,都从 1 1 1 号点出发,只能捎在自己回家最短路上的人,问你最多多少个人得走回去, n ≤ 1 e 4 n\le 1e4 n≤1e4 )
1748E DP计数 (给定子序列 { a n } \{a_n\} {an}, { a n } , { b n } \{a_n\},\{b_n\} {an},{bn}所有子序列中最大值的下标相同,求 { b n } \{b_n\} {bn}个数)
1749E 构造+最短路 (给定地图上有若干障碍物,需放置最少障碍物使得不存在从第一行到第 n n n行的路径,放置障碍物需不能与其他障碍物有公共边,路径上的点必须有公共边)
1736D 构造 (01串选择一个子序列进行旋转后,可以划分为两个完全相等的子序列)
1761E 构造 (给定一张图,每次操作可选定一个点,将其连边状态取反,求最少操作次数及方案使得该图联通)
1764E DP(给定数列 { a n } , { b n } \{a_n\},\{b_n\} {an},{bn}和 k k k,可选定一个排列,然后每次选择一个未染色数 x x x,满足 x ≤ a p i x\le a_{p_i} x≤api或存在染色的 y y y满足 y ≤ a p i y\le a_{p_i} y≤api且 x ≤ y + b p i x\le y+b_{p_i} x≤y+bpi,然后把 x x x染色,问是否能使 k k k染色)
1766E DP(给定序列 { a n } , a i ≤ 3 \{a_n\},a_i\le3 {an},ai≤3,求所有 a [ l ⋯ r ] a[l\cdots r] a[l⋯r]的价值和, n ≤ 3 e 5 n\le 3e5 n≤3e5 )
1776G 构造
1777F 数据结构(给定序列 { a n } ( n ≤ 2 e 5 , 0 ≤ a i ≤ 1 e 9 ) \{a_n\}(n\le2e5,0\le a_i\le 1e9) {an}(n≤2e5,0≤ai≤1e9) ,对任意 l , r ( 1 ≤ l ≤ r ≤ n ) l,r(1\le l\le r\le n) l,r(1≤l≤r≤n) 最大化 max ( a l , a l + 1 , ⋯ , a r ) ⨁ ( a l ⨁ a l + 1 ⨁ ⋯ ⨁ a r ) \max(a_l,a_{l+1},\cdots,a_r)\bigoplus (a_l\bigoplus a_{l+1}\bigoplus \cdots\bigoplus a_r) max(al,al+1,⋯,ar)⨁(al⨁al+1⨁⋯⨁ar) )
1783E 整除+数据结构 (求所有满足 ∀ i , ⌈ a i k ⌉ ≤ ⌈ b i k ⌉ \forall i,\lceil \frac{a_i}k\rceil\le\lceil\frac{b_i}k\rceil ∀i,⌈kai⌉≤⌈kbi⌉的 k k k,其中 a i , b i ≤ 2 e 5 a_i,b_i\le2e5 ai,bi≤2e5)
1773K 图论构造( n n n个点的树, ∣ { 第 i 个点的度数 } ∣ = k |\{第i个点的度数\}|=k ∣{第i个点的度数}∣=k)
1773A 构造 (构造一个排列 a [ i ] a[i] a[i]满足 a [ i ] ≠ i , b [ i ] a[i]\ne i,b[i] a[i]=i,b[i], b [ i ] b[i] b[i]为一个排列)
1780E 数学 多组询问,给定 l , r l,r l,r,求 ∣ { g c d ( x , y ) ∣ l ≤ x , y ≤ r } ∣ |\{gcd(x,y)|l\le x,y\le r\}| ∣{gcd(x,y)∣l≤x,y≤r}∣
1787E 数值构造 (将 1 ∼ n 1\sim n 1∼n划分为 k k k个集合,使得每个集合内元素异或和为 x x x)
1789F 字符串(给定一字符串 s ( ∣ s ∣ ≤ 80 ) s(|s|\le 80) s(∣s∣≤80) ,求其最长的满足如下性质的子序列长度:该子序列是由 k ( k ≤ 2 ) k(k\le2) k(k≤2) 个完全相同的字符串拼接而成的)
1794E 树+哈希 (给定一颗树,给定一个数列 { a n − 1 } \{a_{n-1}\} {an−1},给其中 n − 1 n-1 n−1个数放一个 a i a_i ai,一个点 x x x是好的当且仅当每个点到它的距离就是那个点上放的数,求所有 x x x)
1795F 构造+树型DP (给定一棵树, k k k个点,每个点依次移动到相邻位置,不能重叠,求最大总移动次数)
1797E 数学+数据结构 (给定一个序列 { a n } \{a_n\} {an},对区间 [ l , r ] [l,r] [l,r],第一种是将区间内所有数变为 ϕ ( x ) \phi(x) ϕ(x)最小操作数,每次操作为将一个数变为 ϕ ( x ) \phi(x) ϕ(x),该操作不对原序列产生影响)
1798E DP (给定一个数列,问最少修改多少次使之成为一个 m u l t i t e s t multitest multitest,即数列第一个是组数 T T T,每组第一个数是 n n n,接下来 n n n个数,其中 n n n可以为 0 0 0, n ≤ 2 e 5 n\le 2e5 n≤2e5)
1802F 图论 (给你 n n n 个点, m m m 条边,每条边从 a i a_i ai 到 b i b_i bi 花费 s i s_i si 元,初始在 1 1 1 有 p p p 元,每个点可以进行任意场表演,每场获得 a i a_i ai 元,求到达 n n n 点所需要的最小表演次数, n ≤ 800 , m ≤ 3000 n\le 800,m\le 3000 n≤800,m≤3000 )
1819C 构造 (给定一棵树,每次可以从一个点跳到与其树上距离不超过2的点,找一条回路)
1832D2 DP (给定 { a n } \{a_n\} {an},共执行 k k k次操作,第 i i i次操作是第 j j j选择该元素,加 ( − 1 ) j × i (-1)^j\times i (−1)j×i,问 k k k次操作后 max a i \max a_i maxai,多组询问)
1834E 数学? (求给定数列的所有子段LCM的MEX)
1840G1 交互 ( 2 n 2\sqrt n 2n次旋转,告诉你圆盘上的一个数,求改圆盘大小,圆盘上的数为一个排列)
1842C DP ( { a i } \{a_i\} {ai},每次操作可以取走两相同元素之间的所有元素(包含自己),可执行任意次,最少剩下多少)
1842D 差分约束 (丁真和他的动物朋友们)
1845D 贪心 (依次加 a i a_i ai,可设定一个 k k k,使得加后的数与 k k k取min,求最大结果)
1845E DP计数 (给定 n n n个盒子 m m m个球,一个盒子里至多一个球,问 k k k次操作之后可能存在的情况数)
1846F 交互
1847D 数据结构 (从01串 s s s中取出若干给定子串拼接,进行若干修改操作后使得字典序最小)
1847F 数据结构 (给定无穷数列前n项 a n a_n an, a k = a k − n ∣ a k − n + 1 a_k=a_{k-n}|a_{k-n+1} ak=ak−n∣ak−n+1,求大于 x x x的第一个位置)
1849E 单调栈 (求给定排列满足最大值位置大于最小值位置
的子区间个数)
1853C 模拟 (无穷多个数,每次删掉第 a 1 , ⋯ , a n a_1,\cdots,a_n a1,⋯,an个数,求删 k k k次后的最小值)
1853D 构造
1853E 可反悔贪心 (类似积木大赛,但是可令 a [ i ] = a [ i ] + k a[i]=a[i]+k a[i]=a[i]+k)
1854A1/2 构造
1854B DP (bitset优化)
1856D 交互+分治 (猜测一个排列中的最大数位置,每次查询 [ l , r ] [l,r] [l,r]中的逆序对的个数,代价为 ( r − l ) 2 (r-l)^2 (r−l)2,总代价不能超过 5 n 2 5n^2 5n2)
1856E2 DP (给定排列 p p p和一棵树,求满足 p u < p l c a ( u , v ) < p v p_u<p_{lca(u,v)}<p_v pu<plca(u,v)<pv的个数)
1858D DP+双指针 (给定01串和 k k k,对于 1 ≤ i ≤ n 1\le i\le n 1≤i≤n,求修改至多 k k k次后 max a × l 0 + l 1 \max a\times l_0+l_1 maxa×l0+l1, n ≤ 3000 n\le 3000 n≤3000)
1859D 排序+贪心 (给定 n n n组 l ≤ a ≤ b ≤ r l\le a\le b\le r l≤a≤b≤r,位于区间 [ l , r ] [l,r] [l,r]内的点可以移动到 [ a , b ] [a,b] [a,b]中任意点,不限移动次数, q q q次查询从其实位置 x i x_i xi能到的最右端的点)
1859E DP (给定序列 { a n } , { b n } \{a_n\},\{b_n\} {an},{bn},选择其互不相交的长度和为 k k k的若干区间,每个区间价值为 ∣ a l − b r ∣ + ∣ a r − b l ∣ |a_l-b_r|+|a_r-b_l| ∣al−br∣+∣ar−bl∣,求最大价值, n ≤ 3000 n\le 3000 n≤3000)
1860D DP (给定01串,求最小交换次数使得 01 01 01子序列的个数等于 10 10 10子序列的个数, ∣ s ∣ ≤ 100 |s|\le 100 ∣s∣≤100)
1861E DP计数 (给定 n , k n,k n,k ,定义一个数列的价值为 将其划分为若干连续子序列后,恰为 1 ∼ k 1\sim k 1∼k 的一个排列的子序列的个数 的最大值,求长度为 n n n 的所有元素值为 1 ∼ k 1\sim k 1∼k 的数列的价值和)
1862G set+map乱搞
1863E 拓扑排序 (有 n n n 个任务,某些任务完成有前置任务限制,每个人物只能在时刻 t t t 完成, t ≡ h i m o d k t\equiv h_i \mod k t≡himodk ,你可以自由选择先做哪个任务,求完成第一个任务到最后一个任务的最短时间, n ≤ 1 e 5 n\le 1e5 n≤1e5 )
1864D 构造+坐标变换 (给定01矩阵,每次可选择一个数,以其为金字塔尖的元素全部取反,求最小操作次数使其全为0, n ≤ 3000 n\le 3000 n≤3000)
1864E 贪心+位运算+期望 (Alice知道 a , a ∣ b a,a|b a,a∣b,Bob知道 b , a ∣ b b,a|b b,a∣b,两个人依次说 a < b , a > b , a = b a<b,a>b,a=b a<b,a>b,a=b,我不知道四者之一,一旦有人说前三者,两人都足够聪明,游戏结束,给定数列 { s n } \{s_n\} {sn}, a , b a,b a,b随机从其中选择,求期望中止轮数)
1864F 数据结构 (给定一个序列 { a n } \{a_n\} {an} ,每次查询区间 [ l , r ] [l,r] [l,r] ,将介于该区间的值取出来构成一个新的序列 { b n } \{b_n\} {bn},然后每次操作可以任选 ( x i , y i , z i ) , x i ≤ y i , z i ≥ 0 (x_i,y_i,z_i),x_i\le y_i,z_i\ge 0 (xi,yi,zi),xi≤yi,zi≥0 ,令 { b n } \{b_n\} {bn} 中 [ x i , y i ] [x_i,y_i] [xi,yi] 的数减去 z i z_i zi ,且要求 [ x i , y i ] [x_i,y_i] [xi,yi] 与 [ x j , y j ] [x_j,y_j] [xj,yj] 不相交或包含,对每次询问求最小操作次数, n ≤ 1 e 6 , q ≤ 1 e 6 n\le 1e6,q\le 1e6 n≤1e6,q≤1e6 )
1866D 动态规划(给定 n × m ( n ≤ 10 , m ≤ 1 e 5 ) n\times m(n\le 10,m\le 1e5) n×m(n≤10,m≤1e5) 的数组 { a i j } ( a i j ≤ 1 e 6 ) \{a_{ij}\}(a_{ij}\le 1e6) {aij}(aij≤1e6) ,给定 k ( ≤ min ( m , 10 ) ) k(\le \min(m,10)) k(≤min(m,10)),执行 m − k + 1 m-k+1 m−k+1 次操作,第 p p p 次从第 p ∼ p + k − 1 p\sim p+k-1 p∼p+k−1 列选择一个数加到答案中,然后这个数归零,求最大答案)
1866G 二分答案( n ( n ≤ 2 e 5 ) n(n\le 2e5) n(n≤2e5) 节车厢,每节车厢 a i ( a i ≤ 1 e 9 ) a_i(a_i\le 1e9) ai(ai≤1e9) 个人,每个车厢的的人不能穿越超过 d i d_i di 个车厢间隔,问经过重拍后,人数最多的车厢最少的人是多少)
1867D 构造+图论(太长不好描述)
1867E2 交互 (给定 1 ≤ k ≤ n ≤ k 2 ≤ 2500 1\le k\le n\le k^2\le 2500 1≤k≤n≤k2≤2500为偶数,查询 i i i返回 ⨁ j = i i + k − 1 a j \bigoplus_{j=i}^{i+k-1}a_j ⨁j=ii+k−1aj,至多57次查询求整个数列异或和)
1868B1 位运算+贪心 (给定 { a n } \{a_n\} {an},每个数减去一个二的幂次加到另一个数上,每个数仅减去一次且进接收另一个数减去的数,问是否能所有数相等, n ≤ 2 e 5 n\le 2e5 n≤2e5)
1870E DP (给定一个数列
{
a
n
}
\{a_n\}
{an} ,将其划分为若干不相交子序列,最大化每个子序列的 mex
的异或和,
n
≤
5
e
3
n\le5e3
n≤5e3 )
1872G 贪心 (给定一个数列 { a n } \{a_n\} {an} ,执行至多一次操作 ( l , r ) (l,r) (l,r) ,删除 a l ∼ a r a_l\sim a_r al∼ar ,加入 Π i = l r a i \Pi_{i=l}^r a_i Πi=lrai ,最大化数列的和)
1875F 动态规划+概率(一个有向图,起始在 1 1 1 号点,目的地在 n ( n ≤ 5 e 3 , Σ n ≤ 2 e 5 ) n(n\le 5e3,\Sigma n\le 2e5) n(n≤5e3,Σn≤2e5) 号点,AB两个人共同开车,每次随机选择一条路,如果相同,则走这条路,如果不同,则这两条路都报废,重复上述流程,求两人能走到 n n n 号点的概率)
1876C 构造+图论 (给定一个序列 { a n } \{a_n\} {an} ,构造一种方案,使得每次圈出的元素的下标构成的序列 { p n } \{p_n\} {pn} 等于未被圈出的元素的值按顺序构成的序列 { r n } \{r_n\} {rn} ,一个数可以被多次圈出, n ≤ 2 e 5 , a i ≤ n n\le 2e5,a_i\le n n≤2e5,ai≤n )
1884D 动态规划+数学(给定一个序列 { a n } ( n ≤ 1 e 6 , a i ≤ n ) \{a_n\}(n\le1e6,a_i\le n) {an}(n≤1e6,ai≤n) ,定义 ( i , j ) (i,j) (i,j) 为好的数对当且仅当 1 ≤ i ≤ j ≤ n 1\le i\le j\le n 1≤i≤j≤n ,不存在 k ( 1 ≤ k ≤ n ) k(1\le k\le n) k(1≤k≤n) 使得 a k ∣ a i a_k|a_i ak∣ai 且 a k ∣ a i a_k|a_i ak∣ai ,求好的数对的个数)
1891F 数据结构 (有根树初始一个点,
q
q
q 次操作有两种,1 v
,在
v
v
v 下添加一个编号为当前树 siz+1
的点,2 v x
,给当前
v
v
v 的子树所有点权值 +x
,求最后所有点权值,
q
≤
5
e
5
q\le 5e5
q≤5e5 )
1895E 博弈+图论 (两个人打牌,每个人每张卡有攻击 a i a_i ai 和防御 b i b_i bi ,攻击大于对方防御则可胜利,Alice 和 Bob 轮流出牌,每个人需要轮流出能打败对面的卡,不能出则失败,两人初始卡片集合均给定且互相已知,先手必胜/平局/必败的初始选择种类数, n ≤ 3 e 5 , a i , b i ≤ 1 e 6 n\le 3e5,a_i,b_i\le 1e6 n≤3e5,ai,bi≤1e6 )
1898E 贪心+双指针 (给定字符串 s s s 和 t t t ,每次操作可以删除一个字符或者选择一个区间排序,问是否存在一种操作方法可以从 s s s 到 t t t , ∣ s ∣ , ∣ t ∣ ≤ 2 e 5 |s|,|t|\le 2e5 ∣s∣,∣t∣≤2e5 )
1900D 数学 (定义 f ( a , b , c ) f(a,b,c) f(a,b,c) 为 a , b , c a,b,c a,b,c 中较小的两个数的 g c d gcd gcd ,求 Σ i = 1 n Σ j = i + 1 n Σ k = j + 1 n f ( a i , a j , a k ) \Sigma_{i=1}^n\Sigma_{j=i+1}^n\Sigma_{k=j+1}^n f(a_i,a_j,a_k) Σi=1nΣj=i+1nΣk=j+1nf(ai,aj,ak) , n ≤ 8 e 4 , a i ≤ 1 e 5 n\le 8e4,a_i\le 1e5 n≤8e4,ai≤1e5 )
1900E 图论+动态规划 (给定一个图,每个点非负点权 a i a_i ai ,做一遍传递闭包,求所有最长简单路径的最小路径点权和, n , m ≤ 2 e 5 , a i ≤ 1 e 9 n,m\le 2e5,a_i\le 1e9 n,m≤2e5,ai≤1e9 )
1904E 数据结构 (给定一棵树, q q q 次查询,每次询问 x x x 和 k k k 个点 a i a_i ai ,求从 x x x 出发不经过 a i a_i ai 的最长简单路径, n , q ≤ 2 e 5 , k < n n,q\le 2e5,k<n n,q≤2e5,k<n )
1891E 暴力+讨论(给定一个序列 { a n } \{a_n\} {an} ,可将 k k k 个数置 0 0 0 , min i = 1 n − 1 [ g c d ( a i , a i + 1 ) = 1 ] \min_{i=1}^{n-1}[gcd(a_i,a_{i+1})=1] mini=1n−1[gcd(ai,ai+1)=1] , n , k ≤ 1 e 5 , a i ≤ 1 e 9 n,k\le 1e5,a_i\le 1e9 n,k≤1e5,ai≤1e9 )
1905D 数据结构 (给定一个
0
∼
n
−
1
0\sim n-1
0∼n−1 的排列
{
p
n
}
\{p_n\}
{pn} ,定义价值为前缀
m
e
x
mex
mex ,即
Σ
i
=
1
n
m
e
x
(
p
1
,
p
2
,
⋯
,
p
i
)
\Sigma_{i=1}^n mex(p_1,p_2,\cdots,p_i)
Σi=1nmex(p1,p2,⋯,pi) ,求
{
p
n
}
\{p_n\}
{pn} 的所有 cyclic shift
的最大价值,
n
≤
1
e
6
n\le 1e6
n≤1e6 )
1913D 分治 (给定一个元素互不相同的序列 { a n } \{a_n\} {an} ,每次操作选择一个区间删除其中除了最小元素外的其他元素,求经过任意次操作可能得到的不同序列个数,结果取模, n ≤ 3 e 5 , a i ≤ 1 e 9 n\le 3e5,a_i\le 1e9 n≤3e5,ai≤1e9 )
1917D 数据结构 (给定一个 1 ∼ 2 n − 1 1\sim2n-1 1∼2n−1 的排列 { p n } \{p_n\} {pn} 和一个 0 ∼ k − 1 0\sim k-1 0∼k−1 的排列 { q k } \{q_k\} {qk} ,构造 a i k + j = p i ⋅ 2 q j a_{ik+j}=p_i\cdot 2^{q_j} aik+j=pi⋅2qj ,求 { a n k } \{a_{nk}\} {ank} 的逆序对个数,答案取模, n , k ≤ 2 e 5 n,k\le 2e5 n,k≤2e5 )