2025年2月24日
摘要:
include<bits/stdc++.h> using namespace std; const int N=1000010; int n,ans; int step; queue<pair<int,int> > que; bool st[N]; int main() { cin>>n; ans=
阅读全文
posted @ 2025-02-24 10:36
下头小美
阅读(93)
推荐(0)
2025年2月16日
摘要:
bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r,int x) { while (l < r) { int mid = l
阅读全文
posted @ 2025-02-16 10:38
下头小美
阅读(7)
推荐(0)
2025年1月13日
摘要:
单调栈 —— 模板题 AcWing 830. 单调栈 常见模型:找出每个数左边离它最近的比它大/小的数 int tt = 0; for (int i = 1; i <= n; i ++ ) { while (tt && check(stk[tt], i)) tt -- ; stk[ ++ tt] =
阅读全文
posted @ 2025-01-13 20:21
下头小美
阅读(6)
推荐(0)
摘要:
并查集 —— 模板题 AcWing 836. 合并集合, AcWing 837. 连通块中点的数量 (1)朴素并查集: int p[N]; //存储每个点的祖宗节点 // 返回x的祖宗节点 int find(int x) { if (p[x] != x) p[x] = find(p[x]); ret
阅读全文
posted @ 2025-01-13 20:20
下头小美
阅读(13)
推荐(0)
2025年1月12日
摘要:
unordered_map<int,map<int,int>>map;
阅读全文
posted @ 2025-01-12 21:01
下头小美
阅读(8)
推荐(0)
2025年1月10日
摘要:
费马小定理 定义 如果p是一个 质数,而 整数 a不是p的倍数,则有a^(p-1)≡1(mod p) 对于任意整数 a,有 a^p = a (mod p)。 因为 ax = 1 mod b; a^(b-1) = 1 mod b(根据 费马小定理); 所以 x =a^{b-2} mod b。 如果取模
阅读全文
posted @ 2025-01-10 21:22
下头小美
阅读(29)
推荐(0)
摘要:
快速幂 —— 模板题 AcWing 875. 快速幂 求 m^k mod p,时间复杂度 O(logk)。 int qmi(int m, int k, int p) { int res = 1 % p, t = m; while (k) { if (k&1) res = res * t % p; t
阅读全文
posted @ 2025-01-10 19:46
下头小美
阅读(3)
推荐(0)
摘要:
一、 高精度加法 —— 模板题 AcWing 791. 高精度加法 // C = A + B, A >= 0, B >= 0 vector add(vector &A, vector &B) { if (A.size() < B.size()) return add(B, A); vector<in
阅读全文
posted @ 2025-01-10 19:00
下头小美
阅读(28)
推荐(0)
摘要:
一、1<=b<=a<=2000 递推法求组合数 —— 模板题 AcWing 885. 求组合数 I 10w // c[a][b] 表示从a个苹果中选b个的方案数 for (int i = 0; i < N; i ++ ) for (int j = 0; j <= i; j ++ ) if (!j)
阅读全文
posted @ 2025-01-10 11:31
下头小美
阅读(28)
推荐(0)
2025年1月9日
摘要:
求集合间的交并后的元素 int res = 0; for(int i=1;i<1<<m;i++){ int t = 1,sign = -1; for(int j=0;j<m;j++){ if(i&1<<j){ if((ll)tprim[j]>n){ t = 0; break; } sign = -s
阅读全文
posted @ 2025-01-09 20:44
下头小美
阅读(4)
推荐(0)