摘要: Splay 核心代码。 总结就是双旋 void rot(int x,int &k){ int y=tr[x].fa,z=tr[y].fa; int kd=(tr[y].son[0]==x)?0:1; if(y==k) k=x; else { if(tr[z].son[0]==y) tr[z].son 阅读全文
posted @ 2023-08-20 22:41 Shui_dream 阅读(62) 评论(1) 推荐(0)
摘要: 通过观察 rqy 的题解,发现可以考虑只有区间推平操作的历史和问题。 现有问题:给定一个序列,操作要求区间推平,维护历史版本和。 考虑在线段树上维护 \(s,hs,l\) 表示区间和、区间历史版本和、区间长度。 \((tg,htg,upd)\) 表示标记队列。 考虑一个线段树节点加上一个标记队列: 阅读全文
posted @ 2023-08-20 22:41 Shui_dream 阅读(65) 评论(1) 推荐(0)
摘要: 先粘个 $\rm NTT$ 和 $\rm FFT$ 的 [板子](https://www.luogu.com.cn/paste/yst8dup3)。 ```cpp inline void times(LL *f,LL *g,int n,int lim){ int kn=initr(n); NTT(f 阅读全文
posted @ 2023-08-06 11:19 Shui_dream 阅读(31) 评论(0) 推荐(0)