
小结论
thusloop
这个作者很懒,什么都没留下…
展开
-
Robin-Miller测素数
#include <bits/stdc++.h>using namespace std;int qpow(int a, int b, int mod){ int ans = 1; while (b) { if(b&1)ans=ans*a%mod; a=a*a%mod; b=b>>1; } return ans;};bool primalityTest(int n, int t){ if (n == 2 || n == 3)return tr原创 2021-10-29 10:20:28 · 123 阅读 · 0 评论 -
质数最小拆分(哥德巴赫猜想)
如果N==2,答案是1如果N>3&&N是偶数时,根据猜想可以拆分成两个质数之和,所以答案是2如果N>3&&N是奇合数时,奇合数=奇数+偶数如果这个偶数是2&&N-2为素数,答案是2如果N-2不是素数,我们可以让奇合数=奇数+偶数中的奇数为素数,所以答案是3模板题 :简单的序列//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<原创 2021-10-15 22:41:48 · 696 阅读 · 0 评论 -
Harbour.Space Scholarship Contest 2021-2022 Permutation Shift
题目连接思路:下表从0开始,之后a[i]-- 方便操作 {2,3,4,1} -->{1,2,3,0}well-known problem :若排列数组a通过交换变为排列数组b 需要建图 在 a[i]与b[i] 之间建立一条无向边 需要交换的次数为 n-c(c为联通分支数)比如 a={1,2,0,3} b= {1,2,3,0}则 1–1 2–2 0—3 建边 联通分支为c=3 则需要交换 4-3 =1 次(可用并查集实现)位移k次后 p[i]=(i-k+n)%n;k=.原创 2021-07-23 11:23:33 · 215 阅读 · 0 评论 -
树的重心的性质
性质(一) 树中所有点到某个点的距离和中,到重心的距离和是最小的;如果有两个重心,那么他们的距离和一样。(二) 把两个树通过一条边相连得到一个新的树,那么新的树的重心在连接原来两个树的重心的路径上。(三) 把一个树添加或删除一个叶子,那么它的重心最多只移动一条边的距离。(四) 一棵树最多有两个重心,且相邻。(五) 一个点是重心,等价于以这个点为根,它的每个子树的大小,都不会超过整个树大小的一半。...原创 2021-10-03 10:56:33 · 632 阅读 · 1 评论 -
~小结论~
逆序对:1~n排列 奇数次交换任意2元素个数为奇,偶数次交换个数为偶;若 a%m=b%m 则(a-b)%m==0长度至少为 5 的序列包含长度为 3 的非递减或非递增子序列卡特兰数 f[i]=f[i-1](4i-2)/(i+1)默慈金数 f[i]=((2*i+1)f[i-1]+3(i-1)*f[i-2])/(i+2)绕点的旋转公式:(例题:atcode Opposite)圆心(xm,ym)x=(x0−xm)∗cos(a)−(y0−ym)∗sin(a)+xmy=(x0-xm)∗sin(a)+(原创 2021-08-02 23:10:31 · 354 阅读 · 1 评论