- 博客(44)
- 收藏
- 关注
原创 中国剩余理论
M1(逆)可以用扩展欧几里得求-->M1*M1(ni)===1(mod m1)x=a1*M1*M1(逆)+......Mi为m数组前i-1项积;
2023-09-14 19:20:42
45
原创 欧拉定理;
k(n)=n*(1-1/p1)*(1-1/p2)...其中pn是n的素因子。y与上面各式相乘都互不相等,且因为y和n互质,所以属于上式的重排序。当y和n互质,n为素数时,y^(n-1)=1(mod n)证明:y1,y2....y(k(n))都与n互质且小于n。欧拉定理特例:费马小定理。
2023-09-13 11:14:48
36
原创 线性筛求欧拉函数前n个和
phi[1] = 1;i <= n / i;i++)if (!str[i])j++)break;elsell res = 0;return res;int main()int n;cin >> n;
2023-09-12 22:12:02
74
原创 求约数总和;
int main()int n;cin >> n;i < n;i++)int x;cin >> x;j <= x / j;j++)x /= j;prime[j]++;ll res = 1;ll t = 1;
2023-09-11 22:27:49
30
原创 求约数个数
int main()int n;cin >> n;i < n;i++)int x;cin >> x;j <= x / j;j++)x /= j;prime[j]++;ll res = 1;
2023-09-11 22:19:16
29
原创 埃氏质数筛
int su[N];int idx=0;i <= n;i++)if (!str[i])j <= n;int main()return 0;
2023-09-11 10:26:55
24
原创 krusal算法求最小生成树
int p[N];struct edg}edgs[N];if (p[x]!= x)int main()int n, m;i < m;i++)i < n;i++)p[i] = i;i < m;i++)if (a!= b)res += w;cnt++;a = p[b];
2023-09-11 10:02:51
91
原创 二分图的最大匹配--匈牙利算法
e[idx] = b;i!= -1;i = en[i])if (!str[i])int main()int a, b;add(a, b);i!= -1;i = en[i])
2023-09-11 09:42:07
43
原创 染色法判定二分图
e[idx] = b;i!= -1;i = en[i])if (!color[j])if (!int main()i < n;i++)int a, b;i < n;i++)if (!color[i])if (!dfs(i, 1))break;
2023-09-10 21:36:55
19
原创 prim算法
int prim()i < n;i++)int t = -1;j < n;j++)if (!t = j;j < n;j++)return res;int main()int a, b,c;cout << t;
2023-09-10 13:53:59
26
原创 Flord算法
int Q;k<=n;k++)i <= n;i++)j <= n;j++)int main()i<=n;i++)j <= n;j++)floyd();int a, b;
2023-09-09 22:56:47
208
原创 spfa 算法找负环
版权声明:本文为CSDN博主「ikarty」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/ikarty/article/details/132782232。
2023-09-09 22:07:15
101
原创 spfa算法
int n;e[idx] = b;w[b] = c;int spfa()q.push(1);q.pop();i!= -1;i = en[i])if(!str[j])int main()
2023-09-09 21:07:51
26
原创 bellman_ford算法
int a,b,w;}edgs[M];i < k;i++)j < m;j++)int main()i < n;i++)
2023-09-09 20:16:02
70
原创 堆优化dijkstra算法
int n;e[idx] = b;w[b] = c;heap.pop();i!= -1;i = en[i])int main()
2023-09-08 22:15:47
72
原创 朴素dijkstra算法
int n;i <= n;i++)int t = -1;i <= n;i++)if (!i <= n;i++)int main()
2023-09-08 21:45:47
9
原创 有向图的拓扑排序
e[idx]=b;h[a]=idx++;i < n;i++)if(!i!= -1;d[j]--;int main()int n,m;int a,b;cin>>n>>m;i < m;i++)cin>>a>>b;add(a,b);d[b]++;
2023-09-07 03:30:00
15
原创 dfs算法
简单全排列问题:i<n;i<n;i++)if(!dfs(u+1);return;int main()dfs(0);return 0;n-皇后问题:NO.1N;i<n;i++)if(!shu[u] &&!dfs(u+1);NO.2:int y;int s)if(x==n)if(s==n)i<n;i++)if(!shu[u]&&!hen[i]&&!xie[u+i]&&!
2023-09-06 02:45:00
34
1
原创 哈希表拉链法补充
i!= -1;i = en[i])if(!find(x))e[idx] = x;h[k]=idx++;}num[x]++;return;int main()int k = 0;int n,m;i < n;i++)a[i] -= m;i < n;i++)
2023-09-05 15:30:00
31
1
原创 哈希表+堆的补充
/交换两个元素的查询-->通过元素下标找元素的查询。swap(hp[ ph[a] ],hp[ ph[a] ]) //交换两个数的下标。//ph以插入顺序(因为会排序)找元素 //hp以元素找下标。int k=(x%n+n)%n //保证k不为负数;null=超出数据范围数字;
2023-09-04 22:00:00
18
1
原创 并查集操作;
int with(int a//属于集合1,int b//属于集合2)int find(int x) //寻找一个元素在哪个集合;
2023-09-04 02:00:00
12
1
原创 trie字符串统计-->字母存储;
idx;cnt[N]int p=0;str[i];i++)if(!cnt[p]++;return;str[ ];i++)if(!
2023-09-04 01:00:00
16
1
原创 c++去重;
vector<int>a;sort( a.begin() , a,end() );erase( unique( a.begin() , a,end() ) )
2023-08-22 09:45:08
33
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人