摘要:
符号 \(a \perp b\) 表示a和b互素 剩余类相关 剩余类&剩余 若$m$是一个给定的正整数,则全部整数可分成m个集合,记作$K_0,K_1…,K_$.其中$K_r(r =0,1,…,m-1)$是由一切形如$qm+r$的整数所组成的。$K_0,K_1…,K_$叫做模m的剩余类,一个剩余类中 阅读全文
摘要:
题意: 给定一个带费用的流量网络,要求最大费用(不要求最大流)。 思路: 最小费用最大流魔改,将插入边的费用取反,此时每次进行增广会选一条最短的路径对答案产生贡献,开始这个路径是负的,但是之后为了满足最大流,贡献可能变成正的,因此只要对cost不断取min,最后的mincost就是答案的相反数。 # 阅读全文
摘要:
https://codeforces.com/gym/102870 题意: 给定数组a,定义一次操作为对a求异或前缀和数组,求出的数组作为新的a。求a进行k次操作后的值 \(n<=1e5,a_i<=2^{17},k<=1e18\) 解法: 找规律可以发现,不停进行求前缀和操作,a的值会循环变化,循环 阅读全文
摘要:
定义 序列 \(a\) 的普通生成函数(ordinary generating function,OGF)定义为形式幂级数: \[ F(x)=\sum_{n}a_n x^n \] \(a\) 既可以是有穷序列,也可以是无穷序列。常见的例子(假设 \(a\) 以 $0$ 为起点): 序列 \(a=\l 阅读全文
摘要:
定义 康托展开可以用来求一个 $1\sim n$ 的任意排列的排名。 把 $1\sim n$ 的所有排列按字典序排序,这个排列的位次就是它的排名。 时间复杂度 康托展开可以在 \(O(n^2)\) 的复杂度内求出一个排列的排名,在用到树状数组优化时可以做到 \(O(n\log n)\) 。 全排列到 阅读全文
摘要:
long double double 占8字节,long double 占12字节 long double a; scanf("%LF",&a); a=sqrtl(a); printf("%.10LF",a); 常用函数都要在末尾加个 “l”, 如fabsl(a) , sqrtl(a) , cosl 阅读全文
摘要:
HDU4773 Problem of Apollonius(反演变换) 题意: 给定两个相离的圆,一个点P,求出过点P并且和两个圆都外切的所有圆。 思路: 以P为反演中心将两个圆O1,O2分别反演,得到O1',O2',则和O1,O2相切的圆反演后是一条不经过P点且与O1'、O2‘相切的直线。显然这条 阅读全文
摘要:
题意: 给定n和k,给定一个数论函数$g$的前n项,找到这样一个数论函数$f$使得$f^k=g$(在狄利克雷卷积意义下,mod p意义下)(p为质数),打印$f$的前n项。(保证$g(1)=1$) 解法: 在$g(1)=1$的条件下可以由$fk=g$推出$f=g{1/k}$($1/k是k的逆元$), 阅读全文
摘要:
/* T组输入,给定n,判断n是否为素数,若不为素数输出最大的质因数 */ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef __int128 lll; const int S = 20;//随机算 阅读全文
摘要:
typedef long long ll; typedef __int128 lll; const int S = 20;//随机算法判定次数,S越大,判错概率越小,一般5~20 inline ll fp(ll b, ll p, ll mod) { ll ans = 1; while (p) { i 阅读全文