• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
xuanru
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2023年4月26日

线段树
摘要: 1 #include<iostream> 2 #include<string> 3 #define ll long long 4 const int N = 1e5 + 5; 5 6 using namespace std; 7 8 ll tree[N<<2]; // 线段树,可以是对应的结构体 9 阅读全文
posted @ 2023-04-26 19:23 蓒鳰 阅读(16) 评论(0) 推荐(0)
 
 

2023年4月9日

强连通分量,tarjan
摘要: 强连通:有向图两个点互相可以到达,则称为强连通,强连通分量指将图分成多个子图,每个子图的点都能相互到达,子图就称为强连通分量; const int N = 1e5 + 5; vector<int>e[N]; int dfn[N]//dfs顺序 , low[N]//往前跳能到达的最小数 , dex, 阅读全文
posted @ 2023-04-09 22:36 蓒鳰 阅读(30) 评论(0) 推荐(0)
 
 

2023年3月18日

字符串哈希
摘要: ULL get(int l, int r) // 计算子串 str[l ~ r] 的哈希值 { return h[r] - h[l - 1] * p[r - l + 1]; } 连续的数组也可以用这种方法哈希 string s; cin>>s; s=" "+s; p[0]=1; for(int i= 阅读全文
posted @ 2023-03-18 22:28 蓒鳰 阅读(20) 评论(0) 推荐(0)
 
 

2022年10月21日

容斥定理
摘要: 用来求解集合计数问题,求解多个集合并的数目,转化为求交,结果等于加上奇数集合交的数目,将去偶数集合交的数目 经典题目求错位排列,反求不是错位排列的条件,在交集合的时候可以合并条件,题目一般反向求,将条件转化为多个子集合,在用二进制计数来表示集合 阅读全文
posted @ 2022-10-21 18:27 蓒鳰 阅读(184) 评论(0) 推荐(0)
 
 

2022年10月20日

组合计数
摘要: 卢卡斯定理 c(n,m)%p=c(n%p,m%p)*c(n/p,m/p)%p; Prufer序列性质 prufer序列中,点u出现的次数,等于点u在树中的度数-1 n个点的无根树,唯一对应长度为n-2的prufer序列,序列每个数都在1到n的范围内。 Cayley定理:n个点的无向完全图的生成树的计 阅读全文
posted @ 2022-10-20 20:25 蓒鳰 阅读(31) 评论(0) 推荐(0)
 
 

2022年10月4日

组合数,计算上的优化
摘要: 逆元的主要用处,当求a/b模p时,a与b过大,就可以用逆元,求出b的逆元,一般是pow(b,p-2),a/b及等于a*b逆。 组合数使用了这一个特性,求出阶乘的逆 1 int fac[N]//表示阶乘; 2 int infac[N]//表示阶乘的逆; 3 int main(){ 4 int a,b; 阅读全文
posted @ 2022-10-04 23:12 蓒鳰 阅读(131) 评论(0) 推荐(0)
 
 

2022年10月3日

求逆元,欧拉函数,中国剩余定理
摘要: 求a/b的mod 等价于a*b逆的mod 求1到n的逆元可以用线性法 1 int ins[N]; 2 int main() { 3 int n, p; 4 cin >> n >> p; 5 for (int i = 2; i <= n; ++i) { 6 ins[i] = (p - p / i) * 阅读全文
posted @ 2022-10-03 23:04 蓒鳰 阅读(52) 评论(0) 推荐(0)
 
 

2022年9月27日

数论:同余,逆元,求同余方程,翡蜀定理
摘要: 同余表示两个数模上另一个数相同;写作ax=b(mod p), 我们把ax=1(MOD P) x称为a在p的逆元; 求逆元就是求同余方程 求同余方程使用扩展欧几里得法 1 int exgcd(int a, int b, int& x, int& y) { 2 if (b == 0) { 3 x = 1 阅读全文
posted @ 2022-09-27 22:04 蓒鳰 阅读(143) 评论(0) 推荐(0)
 
 

2022年7月27日

扩展欧拉定理,扩展欧几里得,逆元
摘要: 扩展欧拉定理,用来求幂 1 int pow(int x, int y, int mod) { 2 if (y >= p[mod]){ 3 return pow(x, y%p[mod] + p[mod], mod);//扩欧拉,p表示欧拉函数 4 } 5 int ret = 1; 6 while (y 阅读全文
posted @ 2022-07-27 22:58 蓒鳰 阅读(60) 评论(0) 推荐(0)
 
 

2022年7月25日

线性筛,gcd
摘要: 线性筛:线性时间内求质数 1 int prime[N]; 2 bool isp[N]; 3 int cnt = 0; 4 void getp(int x) { 5 for (int i = 2; i <= x; ++i) { 6 if (!isp[i]) 7 prime[cnt++] = i; 8 阅读全文
posted @ 2022-07-25 20:06 蓒鳰 阅读(28) 评论(0) 推荐(0)
 
 
下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3