摘要:
Problem \(\text{Solution:}\) 对于 p1 的获得条件,要求端点两个值恰好是次大值和最大值;对于 p2 的获得条件,要求其中一个是最大值。 线段树并不一定是用来动态直接回答询问的,这题区间的答案也并不好合并。考虑处理出每一个点左右比他大的第一个数的位置后贡献应该长什么样: 阅读全文
摘要:
Problem \(\text{Solution:}\) Loj真好用) 观察一下发现我们只需要简单维护区间最大值就可以了。但是如何判断 maybe 的情况? 对于未知年份: 考虑我们如果不知道一对已知年份中有没有未知年份,那一定有一个未知年份是和一个已知年份相邻的。 所以,我们在离散化的时候将所有 阅读全文
摘要:
Problem \(\text{Solution:}\) 本文用的 FHQ_Treap 合并来实现。 观察到数据范围很大,如果做过 方伯伯的OJ 和 ZJOI的书架 那题应该可以想到,这个题是这两个题的操作弱化版 但是却成了二维。 因为数据范围的原因,我们不能像 ZJOI书架 那题一样直接把点全部建 阅读全文
摘要:
Problem \(\text{Solution:}\) 当$k=1$的时候,中位数就可以解决问题。 这引起思考:$k=2$是不是一个拓展版? 考虑无论将线段按照左还是右端点排序都不能满足要求,于是我们发现:当桥靠近一个线段的中点的时候,走它一定会优。 所以,我们将线段按照中点排序,并考虑枚举分界点 阅读全文
摘要:
Problem \(Solution:\) 这题看起来和 ZJOI 那个书架很像叭,但是它的数据范围不友好。 于是引入一个思路:将没有访问过的点合并成一段。这也意味着,树上每个节点中的排名和编号均是递增的。 考虑一下发现,我们需要维护一个编号对应的排名(用 map ),还需要排名对应的编号。 于是, 阅读全文
摘要:
Problem \(\text{Solution:}\) 首先发现模数不是质数,这意味着没有逆元可以让我们把除操作变成乘操作。而$x$本身又没有去取模,所以我们应该考虑维护一段连续区间的乘积。 那么删除操作就变成了将某个之前的节点删除。这对于 fhq_treap 是小意思了。 由于是一段有序的操作区 阅读全文
摘要:
用的 fhq_treap 不得不说比 splay 好写多了 (虽然以后写LCT还是要用是play) P1110 报表统计 考虑维护两个平衡树 一个维护相邻两数的差 一个维护不相邻的数差 实际上每次插入一个数,维护相邻数的平衡树需要删掉一个原本相邻的差值并加入两个新的值,而不相邻的极差只需要每次操作时 阅读全文
摘要:
Berlekamp_Massey算法是用来在$O(n^2)$时间内求解长度为$n$的数列的最短递推式算法。 如果我们已经知道前$i$项的递推式$R,$它不满足第$n$项,我们如何来调整它使得它满足第$n$项? 考虑往$R$上面加上一个递推式$F.$ 设$\Delta_$表示第$i$个递推式在匹配失败 阅读全文
摘要:
学习笔记总目录: qwq 多项式任意模数乘法:MTT 多项式求逆 多项式对数函数 多项式牛顿迭代(内含多项式指数函数、多项式开根) 多项式快速幂 多项式全家桶 阅读全文
摘要:
Problem 设旋转好后我们加的值是$c.$ \(\sum_{i=0}^n (a_i-b_i+c)^2\) \(=\sum a_i^2+b_i^2+c^2-2a_ib_i+2a_ic-2b_ic\) 这个式子除了$\sum -2a_ib_i$都是定值。考虑求这个东西的最大值。 把$-2$扔了,原式 阅读全文
摘要:
题目大意: \(F(x)\equiv A^k(x)(\bmod x^n)\) 求$F(x).$ 解法: 首先我们直接$\log k$次倍增求怎么想都有亿点慢。考虑推式子: \(\ln F(x)\equiv k\ln A(x)(\bmod x^n)\) 于是,先求$\ln$再$\exp$回去就好惹qw 阅读全文
摘要:
Taylor 展开 对于一个函数$f(x),$如果我们知道它在$x_0$处的各阶导数,那么: \(f(x)=\sum_{i=0}^n \frac{f^{(i)}(x_0)(x-x0)^i}{i!}\) 即 我们在$x_0$处逼近了$f(x).$ 牛顿迭代 考虑求: \(G(F(x))\equiv 0 阅读全文
摘要:
P.s. 本文是菜鸡笔者整理知识点以及做书上例题搞的 可能偏鸡肋/easy,谨慎食用) 例题:(《组合数学》习题二) 1.求不包含连续$0$的$01$序列个数。 设$f_n$表示长度为$n$的满足题意的序列个数。则$f_n=f_+f_.$ 解析:考虑往合法序列末尾能加的数,只有两种:$1,10.$所 阅读全文
摘要:
由于山东省选算$WC$的$30%%$分数,所以是在济南线下考,于是菜鸡笔者就去了山东省会济南膜拜了一番。 Day 0 周五考试,周四要报到试机,于是提前出发了。中午听完$WC$(实际上是颓$pvz$)淦 贝塔版起飞我差一点就过了 去对面吃了一顿饺子就出发了。 一路上并没有注意什么风景,和 do_wh 阅读全文
摘要:
用于任意模数多项式乘法。 题目链接 我们所得到的数最大是$mod2*Len,$大概是$10{23}$次方级别。这个时候朴素的$FFT$虽然支持取模但是精度会爆炸。 考虑将原来的多项式$F(x)$分解成$A(x)M+B(x).$这样可以使得这两个多项式的系数不至于过大。 \(A[i]=F[i]/M,B 阅读全文
摘要:
题目戳我 \(\text{Solution:}\) 所求即为$\sum_^j \frac{(i-j)^2}-\sum_^n \frac{(i-j)^2}$ 令$f[i]=q_i,g[i]=\frac{1}{i^2}$ 原式$=\sum_^j f[i]g[j-i]-\sum_^n f[i]g[i-j] 阅读全文
摘要:
#Day 0 学校里请了一下午假,坐车去日照准备接受 NOIp 的洗礼。 毕竟山东是一个有分就可以进NOIp的神奇省份 下午到了宾馆,去绕了好大一圈吃了一顿饭,晚上和 dwt 一个宿舍在宿舍里写模板。 我:割点和割边咋写啊? dwt:不就是一个$low$和$dfn$还有一个$child$的区别吗? 阅读全文
摘要:
题目戳我 \(\text{Solution:}\) 看到异或~~(以及E题的位置)~~想到$01Trie.$ 考虑维护一个$sum$数组代表树上$x$点内有多少数字。那么添加操作每次走一个二进制位的时候更新$sum+1,$删除时更新$sum-1.$ 考虑如何询问: 先读好题,上面说的是异或$p_i$ 阅读全文
摘要:
Day -n 一直在努力肝文化课……老师说的年级前十的目标好像一个重担压在身上。故考试不到一个月的时候,仍在努力备战文化课…… 月考结束 月考结束了,成功闯进年级前十(第十名压线)。感觉卸下一个重担。剩下的任务就是备战 CSP 了。 Day -1 唯一一次因为竞赛没有写作业(第二天在学校课间补完了) 阅读全文
摘要:
具体地,线段树合并是指合并两棵动态开点权值线段树。 模板 考虑合并过程,将树$x$合并到$y.$ 当当前位置两棵树中有一者为空的时候,可以直接继承当前节点返回。 若到叶子的时候,直接合并信息。 然后对当前树$x$的左右叶子合并即可。 int merge(int x,int y,int l,int r 阅读全文