![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 79
abcdhhhh_
不会 CS 的 CS 人
展开
-
【Gym 103729I】Latitude Compressor(生成函数)
题目链接对称群记为 SnS_nSn,求 ∣{pm∣p∈Sn}∣|\{p^m\mid p\in S_n\}|∣{pm∣p∈Sn}∣ 。n,m≤5×104n,m\le 5\times 10^4n,m≤5×104 。一个置换可以拆成若干个互不相交的循环。一个长度为 kkk 的循环的 mmm 次方是 gcd(k,m)\gcd(k,m)gcd(k,m) 个长度为 kgcd(k,m)\frac{k}{\gcd(k,m)}gcd(k,m)k 的循环。记 T={pm∣p∈Sn}T=\{p^m\mid p\in S原创 2022-07-02 00:07:33 · 214 阅读 · 0 评论 -
【ICPC Camp PTZ-Shanghai 2022 Day2 C】Casual Dancers (生成函数)
题目链接原创 2022-02-09 10:01:01 · 464 阅读 · 0 评论 -
【ICPC Camp PTZ-Shanghai 2022 Day1 E】Number Guessing (分类讨论)
题目链接题目大意Alice 有一个整数 y∈[1,1018]y\in [1,10^{18}]y∈[1,1018] ,Bob 每次猜一个数 x∈[1,1018]x\in [1,10^{18}]x∈[1,1018],Alice 会反馈结果(y<xy<xy<x 为 000 ,y=xy=xy=x 为 111 ,y>xy>xy>x 为 222)。但 Bob 收到的反馈结果被异或了一个随机数。这个随机数生成器的代码如下:n,Pn,Pn,P 已知,seedseedseed 未知原创 2022-02-08 10:43:08 · 557 阅读 · 0 评论 -
2021 ICPC 沈阳站总结
热身赛4道原题,3道水题+1道防AK(乱搞?)题,10min水出前3题提前下班正式赛题目有梯度,给出题人点赞!开场前1h签了5个到,当时排名很靠前。之后就3人卡3题(ILM),I 我之前一直手推行列式,后来发现不如直接把矩阵存下来写代码算。L是个容斥,M是SAM,队友好像忽略了某个细节。不过最后都过了。之后推G,状压DP,发现要二分查找,我二分写的有点丑,不过测了几组样例没问题,然后交上去过了。之后我在想D,感觉像是个网络流,但是担心复杂度会炸。正好队友没有别的题写,我就上去写写看。写到一半,原创 2021-11-21 20:07:00 · 4104 阅读 · 1 评论 -
2021 CCPC 广州站总结
热身赛题目比较水,打完后测了下环境(其实和上次一样),然后就跑路了正式赛和桂林那场形成鲜明反差。毕竟北大出题,风格不一样原创 2021-11-14 21:32:39 · 2542 阅读 · 12 评论 -
2021 CCPC 桂林站总结
一些废话:最近疫情防控挺严啊,又全都是线上赛了4月那场EC-final也许真的就是我最后一次线下赛了吧用的PTA,之前也用过,感觉还算比较友好(虽然比不上牛客热身赛测了下环境,大概了解了下配置如何。还挺正常热身赛3道题,T1签到;T2是一个博弈,要发现一个性质;T3是二分答案trie,也要发现一个性质(虽然最后口胡了个做法没写完)要是思维上少走点弯路就好了不多说了,明天加油...原创 2021-11-06 18:54:20 · 2121 阅读 · 2 评论 -
【Gym 102893 L】The Firm Knapsack Problem (贪心)
题目链接题目大意一个 01 背包问题,物品数 n≤105n\le 10^5n≤105 ,容量 W≤1012W\le 10^{12}W≤1012 。将体积上限放宽到 32W\frac{3}{2}W23W ,求一组解使得物品总价值不低于容量为 WWW 时的最优解。思路01 背包问题通常是 DP 求解,但该数据范围显然不可行。先考虑将物品按(价值/体积)进行排序,然后贪心取,取到放不下为止。这样取到的不一定是满足要求。但显然,贪心方案一定是当前总体积的最优解。(最优解的总体积可能比它大,总(价值/体积原创 2021-11-25 12:25:49 · 602 阅读 · 1 评论 -
【Gym103261D】FFT Algorithm (Carmichael function + Pollard Rho)
题目链接题目大意给定 m,k(m≤1018,15≤k≤23)m, k (m\le 10^{18}, 15\le k\le 23)m,k(m≤1018,15≤k≤23) ,求一个数 www 满足:w2k≡1(modm)w^{2^k}\equiv 1\pmod mw2k≡1(modm)w2k−1≢1(modm)w^{2^{k-1}}\not\equiv 1\pmod mw2k−1≡1(modm)思路Carmical 函数 λ(n)=max{o(a)∣a⊥n}\lambda(n)=\max原创 2021-10-14 23:47:06 · 147 阅读 · 0 评论 -
【gym 103069G】Prof. Pang‘s sequence (离线+线段树+矩阵)
题目链接题目大意给定序列 a1,a2,...,ana_1, a_2, ..., a_na1,a2,...,an ,有 mmm 组询问。每组询问给定 l,rl, rl,r 问有多少个区间 [i,j][i, j][i,j] 满足 l≤i≤j≤rl\le i\le j\le rl≤i≤j≤r 且 aaa 下标在 [i,j][i,j][i,j] 中的不同的数个数为奇数。n,m≤5×105,1≤ai≤nn, m\le 5\times 10^5, 1\le a_i\le nn,m≤5×105,1≤ai≤原创 2021-09-13 16:40:26 · 535 阅读 · 2 评论 -
【ABC218H】Red and Blue Lamps(带权二分)
题目链接题目大意有 NNN 盏灯,你可以把其中 RRR 盏染成红色,其他染成蓝色。当第 iii 盏和第 i+1i+1i+1 盏灯颜色不同时,你将获得 AiA_iAi 的收益,问最多可以获得多少收益。思路当 2R>N2R>N2R>N 时,可以将 RRR 换成 N−RN-RN−R。可以证明,最优方案染红的灯一定是不连续的。因此转化为,你将 RRR 盏灯染红,将第 iii 盏灯染红可以获得 Ai−1+AiA_{i-1}+A_iAi−1+Ai 的收益,要求红灯不连续,求最大收益。原创 2021-09-12 09:43:35 · 233 阅读 · 0 评论 -
【ABC217H】Snuketoon (堆)
题目链接题目大意最初,你在数轴的0点。每一秒,你可以向左或向右移动1格,或者不动。在 TiT_iTi 秒的时候,你会受到一次伤害,规则如下:设你当前的位置为 ppp,若 Di=0D_i=0Di=0 ,你受到 max(p−Xi,0)\max(p-X_i,0)max(p−Xi,0) 点伤害,否则受到 max(Xi−p,0)\max(X_i-p,0)max(Xi−p,0) 点伤害。伤害共有 nnn 次(n≤2×105n\le 2\times 10^5n≤2×105),求你受到的最小总伤害。原创 2021-09-07 23:14:57 · 229 阅读 · 0 评论 -
【hdu 7110】Shooting Bricks (分组背包)
题目链接洛谷对应题目链接主要是要注意边界情况,比如背包留空,子弹用完代码#include <bits/stdc++.h>#define rep(i, l, r) for (int i = l; i <= r; ++i)#define per(i, r, l) for (int i = r; i >= l; --i)using namespace std;const int N = 205;const int inf = 1e9;typedef long long原创 2021-09-01 19:30:02 · 176 阅读 · 0 评论 -
【hdu 6889】Graph Theory Class (min_25 筛)
题目链接题目大意nnn 个点的完全图,点的编号为 1∼n1\sim n1∼n,点 iii 和 jjj 之间的边权为 lcm(i+1,j+1)\text{lcm}(i+1, j+1)lcm(i+1,j+1) ,求MST的大小。(n≤1010n\le 10^{10}n≤1010)思路将点的编号+1。点2无贡献,其他点编号为素数的贡献为2,其他点贡献为1。因此关键要求出 nnn 以内的素数和。需要用到 min_25 筛。min_25筛通常用来求积性函数 f(n)f(n)f(n) 的前缀和,要求是原创 2021-09-01 17:19:34 · 102 阅读 · 0 评论 -
【hdu 6869】Slime and Stones (k-wythoff 博弈)
题目链接题目大意玩家A和B玩取石子游戏。有两堆石子,分别有 aaa 个和 bbb 个石子。双方轮流操作,每次操作有两种选择:从一堆中取走任意多个从两堆中分别取走 xxx 个和 yyy 个,其中 ∣x−y∣≤k|x-y|\le k∣x−y∣≤k当没有石子可取时,玩家失败。给定 a,b,ka, b, ka,b,k ,问当前局面必胜还是必败。思路参考设第 iii 个必败局面为 (ai,bi)(a_i, b_i)(ai,bi),则ai=mex{0,a1,b1,a2,b2,...,ai−原创 2021-09-01 15:27:38 · 100 阅读 · 0 评论 -
【2021牛客多校10J】Illuminations (凸包切线+环形最小覆盖)
题目链接题目大意一个 nnn 边形凸包外有 mmm 盏路灯,要选出尽可能少的路灯,使得凸包的外围都被照亮。(n,m≤2×105n,m\le 2\times 10^5n,m≤2×105)思路Step 1 凸包切线要找路灯 P(x0,y0)P(x_0, y_0)P(x0,y0) 的切线,可以先找到凸包横坐标最小的点 Q1(x1,y1)Q_1(x_1,y_1)Q1(x1,y1) 和横坐标最大的点 Q2(x2,y2)Q_2(x_2,y_2)Q2(x2,y2) ,然后分类讨论。x0<原创 2021-08-22 16:58:11 · 270 阅读 · 0 评论 -
【hdu 7085】Pty loves SegmentTree (推式子)
题目链接题目大意一棵线段树,分割点任选,每个节点有1个权值。规定:叶节点权值为1右子树线段长度恰好为 kkk 的节点权值为 AAA其他节点权值为 BBB定义线段树的权值为所有节点权值之积。定义 fnf_nfn 为区间 [1,n][1,n][1,n] 所有可能的线段树的权值和。给定 k,A,Bk,A,Bk,A,B,多组询问,每次问 ∑i=LRfi2\sum_{i=L}^Rf_i^2∑i=LRfi2 的值(L,R≤107L,R\le 10^7L,R≤107)。思路其实就是要在 O(原创 2021-08-20 11:59:26 · 208 阅读 · 2 评论 -
【hdu 7070】Did I miss the lethal? (记忆化搜索)
题目链接题目大意有 n(≤200)n(\le 200)n(≤200) 张手牌,第 iii 张手牌有 did_idi 点攻击力,但打出后会强制从当前手牌中随机弃掉 ai(≤4)a_i (\le 4)ai(≤4) 张牌,求最优策略下至少能打出多少攻击力。思路将手牌按 aia_iai 分为 4 类,分别按 did_idi 排序。由于要考虑最坏情况,因此默认弃掉攻击力最强的那批牌,只需记录当前每类用掉了前多少张牌。状态数为 50450^4504 。转移时,要考虑哪些是合法的。下面分情况进行讨论。原创 2021-08-19 11:00:58 · 162 阅读 · 2 评论 -
【2021牛客多校10I】War of Inazuma (Hard Version) (构造)
题目链接题目大意给一个 nnn 维超立方体的每个顶点进行黑白染色,要求每个顶点的相邻同色顶点数不超过 ⌈n⌉\lceil\sqrt{n}\rceil⌈n⌉ ,并且黑白点数目不等,输出方案。思路在 Easy Version 中没有黑白点数目不等的限制,因此可以直接相间染色,即直接输出每个顶点编号的 popcount。这样就可以保证同色点之间没有边。对于本题,可以考虑从原点集 SSS 中选一个点集 S1S_1S1 进行反色,同时需要保证反色点与原色点的二分图最大度数不超过 ⌈n⌉\lceil\sq原创 2021-08-19 10:39:58 · 165 阅读 · 1 评论 -
【2021牛客多校9A】A Math Challenge (类Euclid算法)
题目链接题目大意给定 a,b,c,p,q,na, b, c, p, q, na,b,c,p,q,n ,求∑i=0n∑j=0[ai+bc]ipjq\sum_{i=0}^n\sum_{j=0}^{[\frac{ai+b}{c}]}i^pj^qi=0∑nj=0∑[cai+b]ipjq其中 0≤p,q≤50,0≤a,b≤109,1≤c,n≤1090\le p, q\le 50, 0\le a, b\le 10^9, 1\le c, n\le 10^90≤p,q≤50,0≤a,b≤109,1≤c,n≤1原创 2021-08-17 21:03:22 · 182 阅读 · 1 评论 -
【2021牛客多校8H】Scholomance Academy (线性递推)
题目链接题目大意G(N)=∑k1+k2+...+kt=NF(p1k1p2k2...ptkt)G(N)=\sum_{k_1+k_2+...+k_t=N}F(p_1^{k_1}p_2^{k_2}...p_t^{k_t})G(N)=k1+k2+...+kt=N∑F(p1k1p2k2...ptkt)F(n)=∑a1a2...am=nφ(a1)φ(a2)...φ(am)F(n)=\sum_{a_1a_2...a_m=n}\varphi(a_1)\varphi(a_2)...\varphi(a原创 2021-08-11 16:46:53 · 387 阅读 · 0 评论 -
【2021牛客多校7J】xay loves Floyd (dp+bitset)
题目大意n(≤2000)n(\le 2000)n(≤2000) 个点 m(≤5000)m(\le 5000)m(≤5000) 条有向边的图,用Floyd算法求最短路,如果把松弛点的循环放在内层,问有多少组答案依然正确。思路可以先 O(nmlogn)O(nm\log n)O(nmlogn) 求所有点对间的最短路。考虑错误的 Floyd 求 sss 到 ttt 的最短路。能得到正解当且仅当有一个有效的松弛点 vvv 使得 vvv 在最短路上且 sss 到 vvv,vvv 到 ttt 均得到正解。固定原创 2021-08-10 23:43:23 · 226 阅读 · 1 评论 -
【2021牛客多校8F】Robots (bitset)
题目链接题目大意一个网格地图,3种机器人分别可以向下、向右、向右或向下。多组询问,每次给定机器人和起止点,问可达性。思路前两种直接看前缀和,最后一种用 bitset O(n4/w)O(n^4/w)O(n4/w) 乱搞。代码#include <bits/stdc++.h>#define rep(i, l, r) for (int i = l; i <= r; ++i)using namespace std;const int N = 505;int T;int n, m原创 2021-08-09 17:18:49 · 112 阅读 · 1 评论 -
【hdu 7023】Yet Another Matrix Problem (多项式快速幂)
题目链接题目大意矩阵 An×rA_{n\times r}An×r 和 Br×nB_{r\times n}Br×n 每个元素为 [0,m][0, m][0,m] 的整数。其中 r=nmr=n^mr=nm。设 f(x)f(x)f(x) 为 ABABAB 所有元素和恰好为 xxx 的方案数,求 f(0),f(1),...,f(m)f(0), f(1), ..., f(m)f(0),f(1),...,f(m)。思路式子:∑1≤i,j≤n(AB)ij=∑1≤k≤r(∑1≤i≤naik)(∑1≤j≤n原创 2021-08-08 17:04:39 · 125 阅读 · 1 评论 -
【hdu 7028】Decomposition (构造)
题目链接题目大意nnn (为奇数)个点的完全图,拆成 kkk 条简单路径,使得第 iii 条路径的长度为 li(≤n−3)l_i(\le n-3)li(≤n−3)。思路把1号点置于中心,剩下的构成正 n−1n-1n−1 边形,每次选一个角度的一系列平行线,交错地串起来。如 n=7n=7n=7 ,则第一串为 [123475651][1 2 3 4 7 5 6 5 1][123475651] ,第二串为 [13425761][1 3 4 2 5 7 6 1 ][13425761]代码#inclu原创 2021-08-07 22:32:20 · 135 阅读 · 0 评论 -
【hdu 7013】String Mod (单位根反演)
题目链接题目大意求长度为 L(≤1018)L(\le 10^{18})L(≤1018) 的,由前 kkk 个小写字母构成的,‘a’ 的个数 ≡i(modn)\equiv i\pmod n≡i(modn),‘b’ 的个数 ≡j(modn)\equiv j \pmod n≡j(modn) 的字符串个数。思路Aij=∑l−i≡m−j≡0(modn)[xlym](k−2+x+y)L=∑l≡m≡0(modn)[xlym](k−2+x+y)L−i−jA_{ij}=\sum_{l-i\equiv m-j\equi原创 2021-08-07 12:02:03 · 100 阅读 · 0 评论 -
【opentrains 10530K】We apologize for any inconvenience (Floyd)
不会放题目链接qwq,opentrains的UI太丑了题目大意有 nnn 个站台和 kkk 路地铁,依次停开 sss 列地铁,每停开一列,输出所有车站对之间的最小转车数(不可达的不考虑)n,k≤750n,k\le 750n,k≤750思路建立一个两侧点数分别为 n,kn, kn,k 的二分图,跑Floyd。先对站台以及未停开的地铁进行松弛,然后按时间倒序对停开的地铁进行松弛。每松弛一次,记录站台之间的最大转车数。代码#include <bits/stdc++.h>#define原创 2021-07-31 19:02:55 · 127 阅读 · 0 评论 -
【hdu 6991】Increasing Subsequence (CDQ分治)
题目链接题目大意给定一个 1∼n1\sim n1∼n 的排列 a1,a2,...,ana_1, a_2, ...,a_na1,a2,...,an ,求极大上升子序列(即不存在真包含它的上升子序列)的个数。(n≤105n\le 10^5n≤105)思路首先有一个 O(n2)O(n^2)O(n2) 的做法:记 fjf_jfj 为 a1,a2,...,aia_1, a_2, ..., a_ia1,a2,...,ai 中以 aia_iai 为结尾的极大上升子序列个数。然后 fjf_jfj原创 2021-07-30 11:21:02 · 189 阅读 · 0 评论 -
【hdu 6987】Cycle Binary (杜教筛)
题目链接题目大意我们可以将字符串 sss 写成 kp+p′kp+p'kp+p′ 的形式(其中 p′p'p′ 是 ppp 的前缀),表示将字符串 ppp 重复 kkk 次后拼接上 p′p'p′ 。定义 sss 的循环次数 v(s)v(s)v(s) 为 kkk 的最大值。对所有长度为 n(≤109)n(\le 10^9)n(≤109) 的 01 串 sss ,求他们的 v(s)v(s)v(s) 之和。思路记 f(i)f(i)f(i) 为长度为 nnn 的,循环节长度恰好为 iii 的 01 串个数,则原创 2021-07-29 20:48:40 · 260 阅读 · 2 评论 -
【hdu 6978】New Equipments II (补图BFS/增广路)
题目链接题目大意二分图,两边各 n(≤4000)n(\le 4000)n(≤4000) 个点,补图有 m(≤10000)m(\le 10000)m(≤10000) 条边,每个点有个点权,对 k=1,2,...,nk=1,2,...,nk=1,2,...,n, 求匹配数恰好为 kkk 时匹配边的最大点权和。思路考虑增广路算法,需要增广 nnn 次,问题的关键是如何快速地找到一条贡献最大的增广路。考虑从左侧出发,按点权从大到小依次选择起点,并用数组 wait_list 记录右侧待访问的点集。(用 un原创 2021-07-28 12:36:56 · 188 阅读 · 0 评论 -
【hdu 6975】Forgiving Matching (FFT/NTT)
题目链接题目大意给定长度为 nnn 的字符串 sss 和长度为 mmm 的字符串 ttt ,字符串包含字符 ‘0’ ~ ‘9’ 以及通配符 ‘*’ ,统计 ttt 在 n−m+1n-m+1n−m+1 个位置上与 sss 匹配时失配的字符数。思路对每个字符,考虑它在 sss 和 ttt 中的生成函数,进行卷积。如 s=“12311”, t=“5115” ,则两者字符 ‘1’ 的生成函数分别为 1+x3+x41+{x^3}+{x^4}1+x3+x4 , x−1+x−2x^{-1}+x^{-2}x−1+原创 2021-07-27 19:09:02 · 383 阅读 · 0 评论 -
【2021牛客多校4A】Course (Lagrange 插值)
题目链接题目大意有 n(≤100)n (\le 100)n(≤100) 门课程,培养方案构成一棵有根树。第 iii 门课的学分为 si(1≤si≤5)s_i (1\le s_i\le 5)si(1≤si≤5) 。课程可以重复选,学分叠加。要求以 iii 为根的子树至少选 ci(0≤ci≤150)c_i (0\le c_i\le 150)ci(0≤ci≤150) 学分,求总学分为 w(0≤w≤108)w (0\le w\le 10^8)w(0≤w≤108) 的选课方案数。思路课程 iii 的生原创 2021-07-26 23:37:10 · 154 阅读 · 0 评论 -
【2021牛客多校3I】Kuriyama Mirai and Exclusive Or (差分)
题目链接题目大意给定一个长度为 n(≤6×105)n(\le 6\times 10^5)n(≤6×105) 的数组,有两种操作:将 [l,r][l,r][l,r] 的所有数异或上 xxx将 [l,r][l,r][l,r] 的所有数异或上 x+i−lx+i-lx+i−l ( iii 为下标)求 q(≤4×105)q(\le 4\times 10^5)q(≤4×105) 次操作后的数组。思路由于只需要求最终数组,因此操作顺序无关。操作1可以直接利用差分维护。操作2可以按位考虑,将每个操作拆原创 2021-07-25 16:40:09 · 231 阅读 · 0 评论 -
【hdu 6966】I love sequences (FWT)
题目链接题目大意给定序列 [a1,...,an],[b1,...,bn],[c1,...,cn][a_1,...,a_n], [b_1,...,b_n], [c_1,...,c_n][a1,...,an],[b1,...,bn],[c1,...,cn] ,要求 ∑p=1n∑k=1+∞dp,kcpk\sum_{p=1}^n\sum_{k=1}^{+\infty}d_{p,k}c_p^k∑p=1n∑k=1+∞dp,kcpk 的值。其中 dp,k=∑1≤i,j≤np,i⊕j=kaibjd原创 2021-07-22 21:58:10 · 216 阅读 · 2 评论 -
【hdu 6960】Necklace of Beads (Polya计数)
https://acm.dingbacode.com/showproblem.php?pid=6960题目大意n(3≤n≤106)n (3\le n\le 10^6)n(3≤n≤106) 个珠子的的环形项链,每个珠子可以涂红色、蓝色或绿色,要求相邻珠子颜色不同,且绿色珠子数目不超过 kkk 。旋转后相同的方案视作同一种。求方案数。解题思路可将不允许旋转时的所有着色方案看作一个集合,我们所要求的则是这个集合在旋转作用群作用下的轨道数目。根据 Burnside 引理,集合 XXX 在群 GGG 作用下原创 2021-07-21 14:48:08 · 264 阅读 · 0 评论 -
2020 ICPC EC-Final 总结
生平第一次(也可能是最后一次)参加线下赛,总算是弥补了一直以来没机会外出打比赛的遗憾。原创 2021-04-19 23:03:26 · 3216 阅读 · 7 评论 -
常系数齐次线性递推
题目描述数列{an}\{a_n\}{an}满足kkk阶线性递推关系:an=∑i=1kfian−i(n≥k)a_n=\sum_{i=1}^kf_ia_{n-i} (n\ge k)an=∑i=1kfian−i(n≥k)。现给定n,kn,kn,k以及f1,f2,...,fk,a0,a1,...,ak−1f_1,f_2,...,f_k,a_0,a_1,...,a_{k-1}f1,f2,...,fk,a0,a1,...,ak−1,求anmod 998244353a_n \mod 99824原创 2021-02-25 15:18:24 · 242 阅读 · 0 评论 -
【gym 101955K】Let the Flames Begin(约瑟夫环问题)
题目链接约瑟夫环算法参考按上述回答中的方式进行编号,如果是nnn个人围成一圈,每kkk个人踢掉1个,那么第mmm个被踢掉的人编号为mkmkmk。n=10,k=3n=10, k=3n=10,k=3的情况如图:可知编号mk+dmk+dmk+d的人下一次编号为n+m(k−1)+d(1≤d<k)n+m(k-1)+d (1\le d<k)n+m(k−1)+d(1≤d<k)。若N=n+m(k−1)+dN=n+m(k-1)+dN=n+m(k−1)+d,则m=[N−n−1k−1]m=[\fra原创 2021-02-21 10:48:15 · 195 阅读 · 0 评论 -
【洛谷P2617】Dynamic Rankings(整体二分)
https://www.luogu.com.cn/problem/P2617是一个动态区间第k大的模板题,主要有两种方法:在线: 主席树套树状数组离线: 整体二分(更方便)整体二分的题通常需要满足如下条件:单组询问可以二分存在高效的数据结构维护修改对询问的影响(像区间修改就不存在)题目可以离线做(废话)对于该题来说,每个询问都可以二分答案,而修改的影响也可以利用树状数组维护前缀和的方式实现。具体做法如下:读入所有加点、删点操作和询问操作分治:(ql,qr)为操作的区间,(l,原创 2021-02-17 20:57:39 · 392 阅读 · 0 评论 -
【gym_102878E】Eigen Substring(后缀自动机)
https://codeforces.com/gym/102878/problem/E题目描述如果字符串sss的子串s[l..r]s[l..r]s[l..r]在sss中只出现一次,那么称它为sss的特征子串。给定字符串sss,询问它的每个前缀的最短特征子串的长度。输入格式共两行。第一行一个整数n(1≤n≤106)n(1\le n\le 10^6)n(1≤n≤106),表示sss的长度。第二行一个字符串sss,所有字符均为英文小写字母。输出格式共nnn行。第iii行一个整数,表示字符串s[原创 2021-02-17 19:08:42 · 154 阅读 · 1 评论 -
2020 ICPC 上海站总结
Day 0准备工作环境懒得测了,听别的队说是C++14还是C++17的什么特性用不了?反正我们都是C语言码风,不怎么在乎。队友嫌桌面不好看,换了个阳间的电脑桌面打印机坏了,热身赛结束后又整了半天热身赛上来先看A题,第一眼:这就不是[n2][\frac{n}{2}][2n]吗?后来发现是题面第2段断句断错了。不然题目也太水了吧原来还是要判断两个元素是否互质。它是完全随机选取的,那不就是算数学期望嘛?O(n2)O(n^2)O(n2)做,最后用gcd约分就行了。打了一发,样例过了,交上去RE了。原创 2020-12-12 23:40:04 · 1096 阅读 · 0 评论