首页 > 其他分享 >6月杂题

6月杂题

时间:2023-06-02 19:45:43浏览次数:39  
标签:LCT 多项式 sum geq 考虑 杂题 dp

还有 50 天左右就 NOI 了,感觉状态比较糟。

1.P7275 计树

做着玩的。题目就是说,只看 \(i,i+1\) 这样的边,每一段长度都要 \(\geq 2\) 。

先考虑一种容斥:枚举实际上 \((i,i+1)\) 的集合 \(S\) ,再在剩下的 \((i,i+1)\) 中进行容斥,强制选集合 \(T\) 。

考虑包含 \(S\cup T\) 的树个数,如果现在形成了 \(k\) 段,每段是 \(a_1,...,a_k\) ,则剩下的边方案就是 \(n^{k-2}\prod a_i\) 。

现在转为枚举 \(a\) 。令 \(f_i\) 表示,把 \(i\) 分成 \(k\) 段,每段 \(\geq 2\) 的 \((-1)^{k-1}\) 之和,则对应方案为 \(n^{k-2} \prod a_if_{a_i}\) 。

\(f\) 和上述问题都可以多项式求逆解决。

2.ARC134F Flipping Coins

好题。考虑只保留 \(i<p_i\) 的边,则 \(k\) 就是长度为奇数的链的个数,把环按最小值从大到小排成一排,最小值转到最前面,这样构成了另一个排列,它和原排列形成双射。

则现在重定义 \(k\) 为长度为奇数的极长上升子段个数。由于只关心长度的奇偶,我们把每个奇段的末尾位置钦定出来。

也就是说,我们先把序列染成 \(A,B,C\) 三色,\(C\) 代表奇段的末尾,则 \(AB\) 相邻成对地出现。我们要求每个 \(A\) 值小于后面的数 ,\(C\) 大于后面的数。

在没有限制的两个位置间分界,可以把序列分成 \(C..CAB\) 的形式,它的段内方案就是 \(len-1\) 。末尾还有一段 \(C...C\) ,方案为 \(1\) 。

由此即可多项式求逆解决。

3.P8518 [IOI2021] 分糖果

把修改离线下来,对位置做扫描线,

维护一条折线,\(y_i\) 表示考虑操作 \(1\) 到 \(i\) 且不考虑卡界时,这个盒子的值是多少。

如果只被卡上界,则答案就是 \(c_i-(\max y_i-y_q)\) ,因为 \(\max y_i\) 处一定被卡,且之后一定不会再被卡。

现在有上下界,我们就想知道它到底是被哪个界卡的。考虑找到最大的 \(t\) 使得 \(t\) 到 \(q\) 这一段 \(y\) 的极差 \(\geq c_i\)。

那如果 \(y_t\) 是后缀最小值,之后就被且仅被卡上界;否则仅被卡下界。

线段树维护这个过程即可。

4.P6611 [Code+#7]六元环

手玩可以得到,建出大根笛卡尔树后答案等同于取一个大小为 \(4\) 的连通块,但不能取根。

现在要做的就是动态维护笛卡尔树。考虑建立类似于 LCT 的结构:对于每个实链,要么一直向左,要么一直向右。

现在单点加,相当于 \(x\) 要往上单旋。利用 splay 找到所在链上最大的比 \(a_x\) 小的位置,则改变的边的量是 \(O(1)\) 的。此时要么停止上旋,要么 \(x\) 会进入另一条链,继续往上。

实现起来有一些细节,比如说要把这个二叉树和维护的 splay 区分开,还要注意这个题的 LCT 与普通 LCT 的不同。复杂度 \(O(n\log n)\) 。

5.LOJ3074 「2019 集训队互测 Day 3」操作序列计数

显然 \(\le n\) 的答案 和 \(=nk\) 的答案相等。

问题相当于是要让 \(\sum a_ik^i=n-k^L\) ,求 \(a\) 的方案。先把 \(n-k^L\) 转成 \(\sum b_ik^i\) ,其中对于 \(0\le i<L\) ,\(b_i<k\) 。

则 \(a\) 可以通过在 \(b\) 上调整得到。考虑 \(dp_{i,j}\) 为:\(a_{i+1}\) 向 \(a_i\) 贡献了 \(j\) ,填 \(a_0\) 到 \(a_{i-1}\) 的方案数。

有 \(dp_{i,j}=\sum _{k=0}^{jk+b_i}dp_{i-1,k}\) 。观察可以发现 \(dp_i\) 是关于 \(j\) 的 \(i\) 次多项式。

用点值维护这个多项式,不难做到 \(O(L^3)\) ,其中 \(L\) 是 \(n\) 转成 \(k\) 进制后的位数。

标签:LCT,多项式,sum,geq,考虑,杂题,dp
From: https://www.cnblogs.com/cwhfy/p/17452772.html

相关文章

  • 5-28 字符串杂题
    训练一共布置了8题,其中除了H以外,剩下的题目都是字符串题。这些题全部都可以只用哈希做,也全部都可以不用哈希做。CF126B-Password题意:要求找到一个字符串同时是\(S\)的前缀、后缀、非前后缀子串。哈希做法:首先,我们要查找,需要多短的前缀才能保证其有过非前后缀子串的出现......
  • 网络流杂题选做
    最近总是不知不觉地就做到了网络流的题,感觉知识树要点偏。算了,先随便写点东西再说。[AHOI2009]最小割题面显然一条边至少要满流才有可能是被割边。先考虑存在性问题,若一条边为某个最小割割边集中的边,那么这条边一定是该最小割中无法取代的。对于一条流量为\(0\)的边\((u,v)......
  • 杂题乱做
    给一棵有根树,求距离\(x\toy\)的链不大于\(d\)的点的个数。保证\(x\)是\(y\)的祖先。\(d\len,q\le2e5\)。冷静分析一波,我们发现假如我们设\(f_{u,d}\)表示\(u\)子树内距离不超过\(d\)的点的个数,我们要算的就是\(\sum_{u\inx\toy}f_{u,d}-f_{u,d-1}+f_{x,d-1......
  • Polynomial 杂题
    pjudgects比赛,什么都不会暴力也打不出啥,自闭了。下午做一些杂题回一回神吧,可能不太算杂题因为你发现大部分都是Poly。UOJ424集训队作业2018count同构等价于笛卡尔树同构,而所有的数都出现过的要求是不必要的(因为可以等价成一个\([1,m]\)都出现的序列)。那么考虑对笛卡尔树......
  • 2023.5 杂题记录
    2023.5.18开始记的。一道校赛的题(Easy,概率期望DP)题目链接。有一个长度为\(n\)的字符串\(s\),\(s_i\)为o、x、?中的一个。每个?都等概率替换成o或x。设填完之后o连续段长度为\(a_1,a_2,\cdots,a_m\),则对于\(k=1,2,3\),总贡献为\(\sum_{i=1}^ma_i^k\),对\(k=1,2,......
  • 22.3 杂题
    WC2021斐波那契这种分析的方法太经典了。设\(f_0=0,f_1=,f_{n}=f_{n-2}+f_{n-1}\),\(f_n\)就是常见的斐波那契数列,易得\(F_n=af_{n-1}+bf_{n}\)。于是我们只需找出最小的\(n\)使得\(a'f_{n-1}\equivb'f_{n}\pmodm\),如果\(m\)是质数我们可以直接预处理(这里用到结论\(......
  • 23.5 杂题
    CF543EListeningtoMusic先稍微转换问题,对于所有\(a_i<x\),相当于给所有\(\in[i,\min(i+m-1,n)]\)的右端点答案加一。最后就是求一个区间\(\min\)。于是有一个离线扫描线的\(n\logn\)做法。可持久化+标记永久化,可以做到\(O(n\logn)\)时空。考虑分块。对于散块询问,我......
  • 杂题选解
    Tag结论(包括定理,指的是通过题目信息或者用到的知识点推出一个性质的题目)二分暴力贪心(贪心题或者题目中用到贪心)位运算(下分具体运算)数论技巧(做题通用的小trick)构造计算几何点到线段的距离模拟图形模拟字符串(指的是问题载体是字符串的题目)图论最短路dijkst......
  • 杂题
    P1438无聊的数列如果用上差分的思想,就变成了单点修改和区间查询,变得很容易写。但是我没有这样想,我直接暴力做,记两个懒标记k和d分别表示:该子树表示区间全部加上了首项是k,公差是d的等差数列。维护的时候pushdown都很容易写,但是调了很久。因为没注意到懒标记定义中的全部,也就是......
  • 5月杂题
    5.7做了什么:坐飞机,大吃大喝。P9139[THUPC2023初赛]喵了个喵II:先考虑每个出现两次怎么做,发现只要每对区间不是包含关系即可。回到此题,相当于要把4个数分成两组,有\(1-2,3-4\),\(1-3,2-4\)两种选法。2-SAT+主席树优化建图即可。5.8做了什么:模拟赛,发的题,CF。LOJ647......