自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Link/Cut Tree

从辅助树根出发,只要有实边就向左走,最终到达的点即为根。LCT(Link/Cut-Tree),又名实链剖分。像这类问题,存在加边和删边操作,被称为动态树问题。由于辅助树上的节点按中序遍历标记深度,那么。中存在一个细节:所有路径上的点都为右儿子。不多说,但有一点不一样,已在代码中标注。构成的,多个辅助树结构就构成了森林。有了前面的函数,这两个函数很好解决。前置知识:Splay,树链剖分。原树的根位于辅助树根节点所在。到根节点的所有边都变为实边。想要成为根,就要反转这颗。如图,现在我们有一棵原树。

2024-01-22 22:38:12 945 1

原创 快速沃尔什变换(FWT)

其中, ⊕表示任意位运算符号(与(&),或(|),异或(^)之一)的形式,相乘后再用逆变换转换成多项式形式。是用于解决对下表进行位运算卷积问题的方法。采用分治策略,每一次将多项式分为左半边。且就是说可以通过按位相乘的方式,以。接下来要解决的是如何求一个多项式的。如图所示,先分别计算两边的值,由于。以下会对三种位运算符号分别推导。其一定满足左半边下标最高位为。更确切地说,给定两个多项式。,右半边下标最高位为。,所以最终合并的结果为。同上或的递推式,由于。

2024-01-21 21:18:35 1595 1

原创 快速傅里叶变换(FFT)

设i2−1i^2 = -1i2−1,则一个复数表示为abiab∈Rabiab∈R其中bibibi为虚部,aaa为实部复平面上,从00(0,0)00到ab(a,b)ab的向量表示abia+biabi棱长:∣Z∣a2b2∣Z∣a2b2​幅角:为从xxx正半轴逆时针旋转的角度。

2024-01-21 20:53:53 2102 1

原创 【多项式】子集卷积

时,这就是一个普通的 FWT 卷积,考虑如何消掉这个条件。,所以我们只需在 FWT 的基础上多增加一维即可。,我们重新定义它的值为。,你需要求出一个序列。

2024-01-20 22:39:45 923

原创 二次剩余(Cipolla)

Cipolla求二次剩余

2024-01-20 22:38:06 1971

原创 【数学】莫比乌斯反演

莫比乌斯反演

2022-12-11 14:21:03 108 1

原创 【数据结构】树链剖分

树链剖分

2022-12-11 14:07:34 1373 1

原创 【数学】欧拉函数

欧拉函数

2022-12-11 13:34:39 264

c++01背包问题动态规划

#include<bits/stdc++.h> using namespace std; const int N=1010; int f[N]; int main() { int n,m; cin>>n>>m; for(int i=0;i<n;i++) { int v,w; cin>>v>>w; for(int j=m;j>=v;j--) f[j]=max(f[j],f[j-v]+w); } cout<<f[m]; return 0; }

2024-01-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除