上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页
摘要: 容易发现: \[E_i=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^n\frac{q_j}{(i-j)^2} \]不妨设 \(a_i=q_i,b_i=\dfrac 1{i^2}\): \[E_i=\sum_{j=1}^{i-1}a_jb_{i-j 阅读全文
posted @ 2025-01-18 14:57 white_tiger 阅读(16) 评论(0) 推荐(0)
摘要: 看名字,然后准备转化为多项式乘法。 \[c_k=\sum_{i=0}^{n-k-1}a_{i+k}b_i \]将 \(a\) 反转,得: \[c_k=\sum_{i=0}^{n-k-1}a_{n-i-k-1}b_i \]这已经是多项式乘法的格式了,直接多项式乘法,最后对函数 \(c\) 的 \(0\ 阅读全文
posted @ 2025-01-18 11:55 white_tiger 阅读(20) 评论(0) 推荐(0)
摘要: 注:由于发现 FWT 解决的问题和 FFT,NTT 差别有点大,加之 FMT 的存在,本文就只解决 FFT 和 NTT,剩下两个放在别的算法总结里讲。 多项式一向是算法竞赛中相当博大精深的东西,作为一个蒟蒻,我将会以最大的努力完成这篇记录,以防自己以后看不懂qwq。 FFT(快速傅里叶变换) FFT 阅读全文
posted @ 2025-01-18 11:01 white_tiger 阅读(61) 评论(0) 推荐(0)
摘要: 学原根发现拔山盖世算法忘光了,干脆一块儿写了吧。 \(BSGS\) 算法 \(BSGS\) 算法,又名拔山盖世算法、北上广深算法。他解决的问题如下: 求解最小的可行的 \(k\),满足 \(a^k\equiv b(\bmod p)\),其中保证 \(\gcd(a,p)=1\)。 容易想到暴力枚举,时 阅读全文
posted @ 2025-01-17 11:26 white_tiger 阅读(39) 评论(0) 推荐(0)
摘要: 遗憾离场。 阅读全文
posted @ 2025-01-16 17:06 white_tiger 阅读(117) 评论(0) 推荐(0)
摘要: 个人感觉各方面难度高于《在美妙的数学王国中畅游》,也不知道是不是求导的关系,这题 \(luogu\) 难度评级还更低。不过感觉这题作完对 \(LCT\) 理解更顺畅了。 前四个操作简单,关键在第五人格操作。 注意力惊人的注意到我们无法像普通 \(Splay\) 一样,直接对 \(LCT\) 中的 \ 阅读全文
posted @ 2025-01-09 17:14 white_tiger 阅读(23) 评论(0) 推荐(0)
摘要: 事实证明物竞笔记是个好东西,可惜没带,不然还能谎称自己会一点求导和微积分。 顺便在这里把比较经典的一些关于求导的东西记录一下: 常用函数求导: \(C'=0,(x^n)'=nx^{n-1},(\log_ax)'=\frac 1{x\ln a}\) \((\ln x)'=\frac 1x,(a^x)' 阅读全文
posted @ 2025-01-09 09:27 white_tiger 阅读(15) 评论(0) 推荐(0)
摘要: \(LCT\) 动态维护树上路径最值,典中典了。 时间复杂度 \(O(n\log n)\)。 #include<bits/stdc++.h> #define fa(x) lct[x].fa #define fl(x) lct[x].fl #define mx(x) lct[x].mx #define 阅读全文
posted @ 2025-01-08 18:24 white_tiger 阅读(18) 评论(0) 推荐(0)
摘要: 名字感觉挺奇怪的。 考虑离线算法。首先答案就是用 \(n\) 减去连完边后的生成树森林边数。生成树当然就可以用 \(lct\) 求解了。我是不会告诉你这个时候我已经开始想回滚莫队了的。 考虑当我们倒序加入 \([l,r]\) 中的边时,哪些边会产生贡献。我们考虑假如我们新加入一条边,与原先的生成树形 阅读全文
posted @ 2025-01-08 18:21 white_tiger 阅读(32) 评论(0) 推荐(0)
摘要: 最大值最小的路径肯定在最小生成树上,考虑用 \(LCT\) 维护最小生成树,只需要维护长度最长的边即可实现。由于 \(LCT\) 维护最小生成树不支持删边,所以采用倒序加边的方式处理。 时间复杂度 \(O(n\log n)\)。 #include<bits/stdc++.h> #define fa( 阅读全文
posted @ 2025-01-08 14:37 white_tiger 阅读(19) 评论(0) 推荐(0)
摘要: 加边删边 \(LCT\),标记下放同 \(luogu\) 线段树 \(2\) 一题。 时间复杂度 \(O(n\log n)\),第一次交的时候我维护 \(sum\) 不维护 \(sz\ WA\) 完了。 #include<bits/stdc++.h> #define int long long #d 阅读全文
posted @ 2025-01-08 10:57 white_tiger 阅读(35) 评论(0) 推荐(0)
摘要: 一眼树链剖分或 \(LCT\),由于在学后者所以就写了。 取反操作相当于把 \(min,max\) 取反后交换,所以要维护 \(min,max,val\)。 时间复杂度 \(O(m\log n)\)。 #include<bits/stdc++.h> #define fa(x) lct[x].fa # 阅读全文
posted @ 2025-01-06 21:19 white_tiger 阅读(29) 评论(0) 推荐(0)
摘要: 似乎所有的线段树分治题都能被 \(LCT\) 平替掉? 一眼动态树,直接 \(LCT\)。 Connect x y 操作用 \(link(x,y)\) 实现,Destroy x y 操作用 \(cut(x,y)\) 实现,Query x y 操作用 \([find(x)=find(y)]\) 实现。 阅读全文
posted @ 2025-01-06 17:40 white_tiger 阅读(21) 评论(0) 推荐(0)
摘要: 首先,\(LCT\) 一般指疏松结缔组织。 疏松结缔组织是指一种柔软而富有弹性的结缔组织。主要填充在各器官或组织间的间隙中,如剥制动物标本时,将皮肤拉开,就可见到薄而透明的疏松结缔组织。 对不起,刚才生物同志走错片场了。 \(LCT(Link\ Cut\ Tree)\),是一种可以解决动态树问题的数 阅读全文
posted @ 2025-01-06 17:12 white_tiger 阅读(95) 评论(0) 推荐(0)
摘要: 啊啊啊啊啊啊啊啊啊啊啊我终于改完啦啊啊啊啊啊啊啊。 因为没有在最开始的时候将所有点设置为已经重构的,所以直接 \(R15-R70\) 间卡了两三天。 似乎也是我第一次大规模使用指针了。 这道题假如只有一次询问,就是一道简单淀粉质,直接在根节点建立平衡树,记录 \(r_x-dis(x,rt)\),然后 阅读全文
posted @ 2025-01-05 10:12 white_tiger 阅读(30) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页