mx rdf 邮寄
Day -??
被告知来 mx。
Day -2
放了 48h 历时 3 天的暑假。
Day 0
玩径人踪灭,千山鸟飞绝。
晚上闲的没事去 wc 搓差分宇宙,结果 tm 忘带纸了,给 4 个人发 wx 没一个人回我,最后急中生智上 luogu 才把 KinNa 摇过来。
Day 1
考试。
没啥说的,菜。
T1 写了 70,T2 写了 40,T3 一眼秒了,T4 写了 20。
本来还是有很多分可以写的,但鉴定为脑子瓦特和时间不够就没写,摆摆。
最后交的时候发现 T4 code 不见了(?,发现是之前删文件时删了(??
出场和大家一合计觉得 70+80+100+40=290 是大众分,被踩爆了。
结果一出榜就两个 290 以上的,还是小学生(???
rk3 的也就两个还是 KinNa 和 PC。(upd:PC 在 T3 改时限后豪取 290
一分没挂,但是只有 210,但但是是能排 15。
以下是题解。
T1
一直在想用线段的左右端点做下标转移,最后发现优化不能。
令 \(f_{i,j}\) 表示以 \(i\) 为最右端点,最多选出 \(j\) 条不交线段的方案数,考虑转移至 \(f_{k,j+1}\)。
显然能加的线段有 \(k-i\) 条,故转移系数先乘上个 \(2^{k-i}-1\)。
然后考虑能新增的无用线段,有 \((n-k)\times (k-i)\) 条,故再乘上 \(2^{(n-k)\times (k-i)}\) 即可。
T2
首先爆搜能拿 80,嗯。。。
考虑 DP,令 \(f_{i,j}\) 表示在 \([1,i]\) 中,能被 \(a_1,a_2\dots a_j\) 整除的数的个数,考虑静电容斥,那么有:
T3
线段树,没啥好说的。
人傻自带 14 的常数但是没被卡,那么又是谁被卡了呢/tx
维护右端点最长 1 段、最长 0 段,左端点最长 1 段、最长 0 段,右端点最长 10 段、最长 01 段,左端点最长 10 段、最长 01 段,全局最长 10 段、01 段即可。
T4
咕
Day 2
练习。
上午梦熊加了 8 道题,于是变成了找原题大赛,通过数最少的两道题是因为找不到。。。
以下是题解。
CF379D
md 洛谷恶评。
考虑造成贡献的只有 \(s1,s2,s1+s2,s2+s1,s2+s2\),所以使用 fib 的方式算出系数,再暴力求解即可。
AT_arc171_d
考虑把 \(\text{hash}(l,r)\) 变为 \((\text{suf}_l-\text{suf}_{r+1})\times B^{n-r}\)。
所以 \(\text{hash}(l,r) \ne 0\),当且仅当 \(\text{suf}_l \ne \text{suf}_{r+1}\)。
所以对于每队 \(l,r\),连边 \(l\to r+1\)。
然后对图进行 \(p\) 染色即可。
P3977
观察到 \(m\) 很小,所以对每行状压,1 表示插眼,设 \(f_{i,j}\) 表示第 \(i\) 行状态为 \(j\) 的方案数。
发现 \(n\) 有 \(10^6\),所以考虑矩阵。
令 \(A_{i,j}\) 表示上一行的状态 \(i\) 是否可以转移到下一行的 状态 \(j\)。
矩阵快速幂即可。
CF757D
直接状压,设 \(f_{i,j}\) 表示 \(i\) 处切了一刀,切完后数集为 \(j\) 的方案数,刷表法转移即可。
PS:不知道为啥填表法寄了 link
P4359
发现 \(k\) 很小,考虑第 \(k\) 大的经典求法,每次取出堆顶,再塞入一些比他小的数。
考虑如何不重不漏地塞数。
考虑对每个数分组。
这里我们按照最高次幂和 \(k\) 分组,每次取出后将其某一项由最高次幂修改为小于上次操作的质数,每次最多扔入 \(P\) 个,\(P\) 为质数个数。
CF906C
朴素状压。
令 \(f_i\) 表示将状态 \(i\) 变为全部认识的最小步数。
\(O(n)\) 转移即可。
Day 3
考试。
nm 以后不冲题了,md 本来阳历全过了,因为 sb subtask 爆单了,nm。
以下是题解。
T1
赛时没仔细看,其实就是欧拉回路,字典序最小即可,用 set 或者 vector 存个点就行。
T2
被期望骗了。
其实不是期望,是分数规划。
只写了 60,A 了再来补。
T3
直接退。
T4
我与 subtask 不共戴天。
做法比较神秘,只能处理 \(|B|\ge|P|\) 的情况(其实另外一种应该也能做,懒得想了)。
对于 \(P\) 的正反串建 SAM,把 \(A\) 的正反串的每一位和 \(B\) 的正反串扔上去跑匹配,跑出匹配位置 \(pos\),和匹配长度 \(len\)。
最对于正反串的 SAM 使用线段树合并,但是由上到下,正串是是前缀下标加 1,反串是 \(len-i-1\)。
然后扫一遍 \(A\),对于每一位把 \(B\) 插进去使用线段树上按点与算贡献,注意一些边界问题。
我真是天才。
Day 4
练习赛。
上午七道题,切了中心对称的 4 道题,赛后补了 6 道(懒
以下是部分题的题解。
CF623B
比较厉害啊。
考虑 \(a_1\) 和 \(a_n\) 总会有一个被剩下来,所以对于 \(a_1-1,a_1,a_1+1,a_n-1,a_n,a_n+1\) 分解质因数,然后对于每个质因数去跑 DP。
具体的,设 \(f_{i,0/1/2}\) 表示到第 \(i\) 位,删前、删中、删后的最优值,正常转移即可。
CF1139D
神笔期望。
大力推狮子:
又因为 \(P(len>i)=1-P(len=i)\),所以有:
直接算即可。
CF1260E
显然 \(n\) 是必然要买的,考虑让他收益最大化,也就是消灭 \(\dfrac{n}{2}\) 个人,那么剩下 \(n-1\) 个人中,会剩下 \(\dfrac{n}{2}\) 个人,我们需要让最强的人花费最小即可。
递归下去就是最优答案。
所以开一个堆,里面存打不过的人的花费,依次加入,每次遇到 \(2\) 的整数次幂取出堆顶即可。
Day 5
考试。
怎么说呢,
咱就是说,
能不能,
害,就是说,
别卡常了行不行啊!!!!!
T1
数位 DP 赛事胡了个 70 就走人了,然后被卡成了 40。。。
\(O(n)\) 但是带 \(2^{10}\) 巨大常数做法很显然,现在考虑真正的 \(O(n)\)。
容易发现状压的原因是因为在有上界限制下,之前选了哪些数对当前状态是有后效性的,所以需要状压。
但是。
在没有上界限制下,是无后效性的,所以只记忆化无上界即可。
T2
比较神秘。
赛时考虑了一个线段树上维护 3 值的做法,巨大难写。
实际只用一个维护区间最值的线段树即可。
考虑现在有一个长为 \(n\) 的递增序列,显然从后往前暴力扫一遍相邻的三个数就行。
那么在无法形成三角形的情况下,肯定有 \(b_{i-2}+b_{i-1}\le b_i\) 又因为 \(b_{i-2}\le b_{i-1}\) 所以有 \(b_{i-2}\le \dfrac{b_i}{2}\),非法情况的下降速率是 \(\log V\) 级别的。
暴力查找最大值即可。
T3
多项式,不会。
T4
神秘,还卡常。
赛前 tby 说是园方树,直接给我唬住了,以为是园方树上容斥之类的神秘东西,结果发现直接建边双树然后淀粉质即可。
Day bleem
我也不知道为什么加在 4 后面了。
今天是 noi Day2。
本来觉得 HE 能来个 Au 的,但看来还是差一点。
看到了很多强大选手退役了也是很惋惜,但是自己明年可能连队都进不了,更加惋惜。
但但是是明年 Honkai:Star Rail 联动 fsn-ubw✌。
但是如果退役的话小 ez 会给你提前开学,可能玩不上。
没退役的话,会给你补课,也玩不上。
唉,玩不上,哎。
拜谢 APJ,fls,耳朵龙,LAP,haosen,ReTF,Estelle_N,yswn,jijidawang,5k(排名不分先后)。
Day 5
摆烂日。
从 Day 4 晚 10 点发手机到 Day 5 早 10 点除去两个小时睡觉时间一直在万元神捏。
Day 6
考试。
给自己糖丸了。
上来直接把签到认为最不可作的题,于是全场几乎就我没切。
T1
优先队列板子。
T2
对于 60 pts 来说可以按位贪心,做 \(q\) 次,复杂度 \(O(qn\log V \alpha(n)))\)。
对于 100 pts 我口胡一下,先预处理决策树,将 \(q\) 个询问离线下来在上面类似整体二分的跑。
T3
不是这数据怎么这么水。
正解应该是现在线把 Trie 树补满,再把其他询问离线下来剖一下。
其中找 \(S[1:k]\) 时应倍增跳 \(k\) 级祖先,要不然复杂度不对。
总复杂度 \(O(q \log^2 \sum |S|)\)。
T4
但是数据水了。
考虑跟前几天 T2 一样的做法,每次取出最大值 \(mx\) 和子区间和 \(sum\),容易发现符合条件的情况是 \(mx<sum-mx\)。
故失配时 \(mx\ge sum-mx\) 即 \(mx\ge \dfrac{sum}{2}\),所以最劣适配次数是 \(\log nV=\log n+\log V\) 级别的。
然后暴力计算即可。
时间复杂度 \(O(q\log n(\log n+\log V))\)。
但是其实常熟巨大,目前 lz 的 T 在 #14 上了。
PS:好像时间复杂度分析有误,但是我也不会分析正确的。
现在是纪事本末体了
之前编年体写起来太费劲,也没什么优势,故弃之(主要是咕了会很明显)。
2024/07/26 T1
原题是 Baekjoon 19064 by 神之眼拥有者素纸盒
抽象贪心。
深刻体会到了优先队列不能 lowerbound 的劣势。
没有字典序最小的限制还是很好处理的,考虑加上限制。
显然原序列中每个数会向左向右找位置,考虑依照向左向右分段,显然段内只要不变向任意互换位置是无影响的。
然后赛时想到了这,下面的就不会维护了555
然后使用人类智慧,对于向左的段贪心的把大数尽可能往右放,向右的贪心把小数贪心的往左放。
然后使用 set 依照上文求一下就行了。
2024/07/26 T2
原题是 Gym 225975L by 神之眼拥有者素纸盒
神秘根号分治。
首先考虑一下答案怎么算,有:
然后对于每种颜色根号分治,对于掌管灯泡个数小于 \(\sqrt{n}\) 的 1 类颜色的暴力维护,对于大于 \(\sqrt{n}\) 的 2 类颜色的考虑预处理。
先考虑 1 类颜色和 2 类颜色的情况,处理 1 类颜色暴力处理就行。
对于 2 类颜色和 2 类颜色的情况,因为 2类颜色一共只有 \(\sqrt{n}\) 个,所以直接归并暴力处理就行。
2024/07/26 T3
有来源,但是看不到。
\(m=1\) 时小算一波 SG 函数就行。
考虑有多棵树的情况,容易发现我们不能只用先手必胜或必败来描述这棵树。
考虑使用一对 0/1 对 \((a,b)\) 来描述。
\(a\) 表示先手期望胜胜还是败。
\(b\) 表示先手期望败胜还是败。
考虑四种情况:
-
\((1,1)\) 先手一直赢
-
\((1,0)\) 先手要想赢就能赢
-
\((0,1)\) 不能要
-
\((0,0)\) 一直输
所以只需要统计 \((1,1)\) 和 \((1,0)\) 的个数就行了。
2024/07/26 T4
不是难度递降十八。
考虑经典公式,设 \(f_{i,j}\) 表示 \(i\) 个人选出 \(j\) 个人在 \(S\) 集合中的概率,那么有:
直接算是 \(O(n^2)\) 的。
考虑优化。
场上有 nb 老哥想到了。
发现转移不只有上面这一种转移,还有:
和上面含义相反,上面表示向 \(S\) 中加一个 \(i\),下面表示向 \(S\) 中加一个 \(1\)。
然后联立解方程就行了,需要特判 \(P=\dfrac{1}{2}\) 的情况。
2024/07/27 T1
神秘题。
考虑观察性质。
发现如果有两个类型相同的树桩,那么从左侧飞来的豌豆一定有附魔,而右侧一定是 0/1 交错的,所以附魔和不附魔是交错的。
依据这点讨论即可。
2024/07/27 T2
对于部分分可以考虑 bitset 暴力艹。
考虑正解。
对于每一个 \(i\) 我们考虑他可以到达的区间 \([l,r]\)。
经过讨论发现始终是连续的一段,所以依照上面所说按行讨论,最后差分计算即可(?
2024/07/27 T3
考虑每个时刻,有刺的点始终是一个连通块。
那么每次移动相当于找出一个里 \(x\) 最近的点为根,把连通块拉出来,再把叶子节点删掉,所以每次只需要维护叶子节点个数即可。
2024/07/27 T4
类人智慧
由于 \(n,m\le 8\times 10^4\),所以 \(nm\) 有 90pts。。。
正解是 \(O(n\sqrt{n\log n})\) 的分块凸包,不会。
2024/07/29 T1
抽象推狮子。
然后隔板法求即可。
2024/07/29 T2
首先 \(O(Tn^2)\) 是好想的。
考虑矩阵,这是容易的。
但是因为他要求 \(1\dots T\) 答案的异或和,所以不方便,但是分块。
把答案记录下来每个块暴力统计即可。
2024/07/29 T3
对于每个点求出 \((x_i+c_i\times a,y_i+c_i\times b)\in S\) 的最小的 \(c_i\)。
考虑依照 \(x_i\bmod x\) 分组,然后暴力统计即可。
2024/07/29 T4
大力卡常。
考虑分块。
对于每个块预处理出 \(g_{i,j}\) 表示块被覆盖成 \(j\) 是的答案,可以 \(O(V\log \log V)\) 求出。
2024/07/31 T1
爆搜,挺牛马的,需要预处理和大力卡常。
赛时使用神秘优化挂大分。
2024/07/31 T2
md暴力加个记状态就行了。
考虑暴力。
对于每个点分别考虑,发现影响答案的只有到根链的向左向右个数和自身,全放状态里,大力组合数即可。
2024/07/31 T3
鉴定为今天脑子瓦特了,连着两道都是离正解差eps。
先转化。
赛时很快想到了,对于每一对 \(i\&j=0\) 的 \(i,j\) 连边,最后对于每个连通块贪心即可。
发现是 \(n^2\) 的。
考虑优化建图,对于 \(s\) 向它的每一位 \(1\) 变 \(0\) 的 \(t\) 连边,最后把每个 \(a_i\) 向 \(a_i\) 的按位取反连边,跑 tarjan 求 scc 即可。
以上为单向边。
2024/07/31 T4
转化一下,有:
一眼淀粉质。
因为有相乘所以把柿子拆开。
对于一个分治重心开一颗线段树在 \([l_i,r_i]\) 存上 \(dep_i\times k_i^{-1}\) 的和和 \(k_i^{-1}\) 的乘积,每次询问计算 \([l_j,r_j]\) 的区间值即可。
时间复杂度 \(O(n\log^2n)\)。
2024/08/02 T1
首先有显然的 \(O(nm^2)\) 的 DP 狮子:
然后发现是若干次 \(\min +\) 卷积的形式,直接快速幂即可。
但是我不会 \(\min +\) 卷积啊喂
2024/08/02 T2
赛事看错题了,导致在错误做法的路上狂奔 2h 成功保单。
首先依据贪心,先建反图对每个 \(T\) 跑一边可达点。
然后对于每个可达点 \(u\) 选编号最小的 \(v\) 连边建新图,那么会形成基环森林,然后再在基环森林上暴力跳看是否可达 \(T\)。
最后对于询问,我们对于可达的点在书上倍增跳即可。
2024/08/02 T3
这种题就是很一眼的先找出 \(O(nq)\) 暴力在上线段树维护的东西。
但是我不会 \(O(nq)\) 暴力啊喂
根据人类智慧有:
从左端点出发,每次优先满足左边第一个不为 \(0\) 的元素,要求满足完成前 \(r-l\) 个元素后,最后一个元素恰为 \(0\),且贪心过程中每个元素均非负则有解,否则无解。从右端点出发是对称的,如果能找到右端点出发的解那么反向就是左端点出发的一组解。
然后由于每个数至少要进行一次 \(-1\) 操作,所以先对 \(a_i\) 整体 \(-1\)。
然后考虑把这玩意推成能维护的东西。
设在 \(i\) 处来回跳了 \(b_i\) 次,那么根据贪心有 \(b_i=a_i-b_{i-1}\),瞪几眼发现这玩意跟奇偶性有关,所以对奇数位和偶数位个开一棵线段树即可。
2024/08/02 T4
flow。
这场我确实写了 flow,但是 T3。
发现是一个长得很像分数规划的东西,所以理所应当的先二分。
然后发现这玩意不能像分数规划那样写,因为有组合技。
考虑一下狮子:
可以化成:
然后根据数据范围理性猜测这玩意可以写成 flow。
确实可以写成。
对于每一对 \((i,j)\) 可以看成是一个组合收益 \(p_{i,j}\),然后根据只有全选才能获得这个收益的性质,很难不联想到最大权闭合子图。
然后对于限制再在图上加一条竖插边即可。
2024/08/03 T1
比较神秘啊。
赛时没细想转化,然后狂砍 20pts。
其实就是对于每一个数做唯一分解,那么对于同一个底数来说,它上面的指数是可以任意排列的,这是可猜的。
那么我们要求和最大并且积不变,那么也就是把指数排一遍序,从大往小取即可。
2024/08/03 T2
赛时看错题了但是过大洋里了
先考虑没有 3 操作时怎么做。
我们可以把柿子拆开:
容易发现最前面常数项就是奇偶性讨论,后面直接拆成两部分算链和和子树修改即可。
然后考虑加上 3 操作。
对于前半边没什么好说的,直接 dfn 序上推平即可。
关键是后半边。
我们使用差分,但是线段树。
因为你对于一个子树来说你进行子树修改,差分的是 \(dfn[u]\) 和 \(ed[u]\),那么你进行区间推平的时候直接对于 \(dfn[u]\) 和 \(ed[u]+1\) 推平即可,因为你差分的区间只可能被包含或者包含。
被包含就恰好是子树,包含就正好无关。
另外为了考虑端点不重合的情况,我们使用欧拉序。
2024/08/03 T3
容斥。
有显然的做法是设 \(f_{S,i,d}\) 表示状态 \(S\) 以 \(i\) 结尾走了 \(d\) 天的方案。
可以上矩阵,复杂度 \(O((2^kn)^3\log d)\)。
这是错的。
我们考虑一下没有限制时。
直接跑路径计数即可。
对于有限制我们可以这么想,直接钦定某些点选或不选,容斥即可。
复杂度 \(O(2^kn^3\log d)\)
2024/08/03 T4
不是乱搞给我放过去了???
正解是线段树分治,对于每一次修改指把 \(1\) 改成 \(0\) 扔线段树上。
然后暴力线段树分治,注意实现的复杂度不要写假了。
2024/08/05 T1
居然是签到惊讶了。
很简单的二分答案然后 dij 求最短路判合法性。
有神秘细节,但是好像因为我的写法导致没挂(?
2024/08/05 T2
贴个 70pts 的做法。
考虑朴素狮子:
直接算是 \(O(nV^2)\) 的。
这是发现 \(f_1\) 是凸函数,归纳一下发现不只是 \(f_1\) 其他 \(f_i\) 也是。
然后发现 \(\min\) 里面的东西就是两个凸函数相加,且随着 \(j\) 的变化,极值点单调不降。
所以就有了一个 \(O(nV)\) 的决策单调性做法。
2024/08/05 T3
不是,谁家 noip 模拟赛放支配树啊。
是 DAG,所以不用使用 tarjan。
建出支配树后就好说了,直接求树上若干路径并就行。
由于 \(q\) 高达 \(1e6\),所以我们选用 \(O(1)\) 做法。
最朴素的做法是树剖线段树双 \(\log\),但是我们根据虚树的建发求出一个单 \(\log\) 的做法。
将点按 \(dfn\) 排序,然后求相邻两点 \(lca\)。
但是还不够优秀,我们可以使用 \(O(n\log n)-O(1)\) 求 lca 和离线桶排优化至 \(O(1)\) 询问。
2024/08/05 T4
不会。
2024/08/07 T1
签到。
对于 \(k\) 的每一个因数 \(d\) 分别考虑,然后去 \(a\) 中找长为 \(i\) 的子串和去 \(b\) 中找长为 \(\dfrac{k}{i}\) 的子串,然后计数。
时间复杂度 \(O((n+m)\sigma(k))\)。
接下来是正题
另一种做法,期望复杂度比另一种更优。
考虑如何寻找 \(a\) 中长为 \(k\) 的段个数。
令 \(s\) 为 \(a\) 的前缀和,那么有:
然后我们进行一下下标变换,令 \(h_{n-i}=g_i,f'_{i+n}=f_i\) 有:
然后就可以愉快 NTT 了(((
复杂度 \(O(n\log n+m\log m+\sigma(k))\)
2024/08/07 T2
也是签。
但是因为上界细节的原因大部分写二分的坠机了。
考虑二分,树是简单的不再叙述。
考虑基环树。
树边也是简单的,考虑环边,进行分讨。
如果有少于两条环边需要背赋额外权,当成树做就行。
如果有大于等于两条环边需要背赋额外权,选出其中权值最小的两个当成一个使。
即当一个用完了再开另外一个。
复杂度 \(O(n\log n)\)。
2024/08/07 T3
不太会,贴个 60 分做法。
分别考虑一对 \((i,j)\) 算贡献。
那么当一对 \((i,j)\) 产生贡献时,他们中间的一些必经点肯定没被割掉,记 \(x\) 为 \((i,j)\) 的必经点个数,那么这对 \((i,j)\) 的贡献为:
所以统计每对点对间的必要点计数即可。
2024/08/07 T4
dp of dp。
挺形象的。
把背包压状态里然后数位 DP,需要大力卡常。
2024/08/09 T1
贪心。
赛时细节写挂了以为自己策略错了,后来发现是 shaber。
贪心的考虑让出现次数最大的几个当绝对众数,考虑剩下的数塞进去能不能没有剩余。
复杂度瓶颈在排序,所以二不二分都一样。
复杂度 \(O(n\log n)\)。
2024/08/09 T2
4-sat 计数。
可以给出题人发图灵奖了。
实际上是神秘找规律计数。
考虑每个必要点间形成的连通块。
打表发现,树的情况对答案的贡献是 \(x\),环的情况是 \(1\),基环树的情况是 \(2\),其他情况则为 \(0\)。
将贡献相乘即可。
复杂度瓶颈在于确定连通块形状是 \(O(k)\) 或 \(O(k\alpha(k))\) 的,\(k\) 为 \(1\) 的数量。
2024/08/09 T3
很好的题。
赛事怕后效性写的区间 dp,但是这题居然没有后效性,震撼了。
首先说明一下在只有 \(0,1\) 情况下一个区间被删的充要条件是 \(A=ka\) 且 \(B=kb\)。
必要性是显然的,考虑一下充分性。
把区间分成 \(\dfrac{len}{a+b}\) 的若干块,那么假如有一块 \(A=a\) 那么就能删掉,考虑剩下 \(A\ne a\) 的块。
任意时刻肯定有相邻的两个块 \(i,j\) 有 \(A_i<a\) 且 \(A_j>a\)。
这是我们把 \(i\) 向 \(j\) 移动由于每一步 \(0\) 的数量变化是小于等于一的,所以总有一个时刻 \(A=a\)。
有额外字符同理。
然后就有了 \(O(n^2)\) DP:
第二个狮子还要满足 \(A_{i+1,j}\le a,B_{i+1,j}\le b\)。
然后考虑优化,我们这边可以使用 cdq 套一个二位数点把复杂度优化至 \(O(n\log^2 n)\)。
但由于还没研究明白怎么进行坐标变换,所以就先咕着了(((。
2024/08/09 T4
明天补。
2024/08/12 T1
典典题。
之前某道原的弱化,原是 DAG,这题是网格。
原的复杂度带两个老哥,这题是 \(n=2000\) 的网格,显然不太适用。
考虑性质,由于只能往右方和下方走,所以从原点到每个点的路径长度实际上是一样的,那我们可以考虑维护走 \(i\) 步可以到达的点集中字典序最小的,每次拓展即可。
2024/08/12 T2
状压 DP。
令第 \(i\) 个人有水表示为 \(1\) 反之为 \(0\),把状态压起来,令 \(f_S\) 表示达到状态 \(S\) 的最小花费,每次转移显然是由 \(1 \to 1\),所以正常状压即可。
2024/08/12 T3
DP 好题。
操作完成后的序列中肯定有一点在其前面全是执行加入队头的点,且序号单调递减,后面全是执行加入队尾的点且序号单调递增。
那么如果把序号从小到大看,前面的最长上升子序列就是原序列从分界点到 \(n\) 的最长下降子序列,后面的就是最长上升子序列。
容易发现最长下降子序列和最长上升子序列是只交于 \(i\) 一点的,所以我们可以枚举分界点 \(i\) 算贡献。
2024/08/12 T4
AC 自动机加数位 DP 板子。
详情可以参照一下 p3311。
只不过需要加上一个状压。