随笔分类 - 数学 数学技巧/思维题
摘要:【算法】欧几里德算法 【题解】紫书原题 #include<cstdio> #include<algorithm> using namespace std; const int maxn=10010; int T,t,n,a[maxn]; int gcd(int a,int b) {return b=
阅读全文
摘要:【数论】数论——onion_cyc 【计数问题】计数问题(排列组合,容斥原理,卡特兰数)——onion_cyc 【概率与期望】链接 【链与反链】链接 【生成树计数(矩阵树定理)】专题链接 【快速幂】 原理:将指数化为二进制再分为若干个数相乘。 每次自己乘自己相当于平方,增加二进制权。 int qui
阅读全文
摘要:【算法】快速幂运算 【题解】ans=(m*10^k+x)%n,用快速幂计算10^k即可,复杂度为O(log k)。 #include<cstdio> long long n,m,k,x,ans; long long quickpow(long long x,long long n,long long
阅读全文
摘要:【算法】找规律(听说还有写RMQ的www) 【题解】ans+=(a[i]-a[i-1]) (i=1...n)(a[i]>a[i-1]) 后面比前面大k,说明要新叠加k个区间来达到所需高度。(看似很复杂的区间覆盖问题,从前往后扫描就很容易得到贪心策略) #include<cstdio> int n,a
阅读全文
摘要:【算法】数论 【题解】均分的本质是A整除B,A整除B等价于A的质因数是B的子集。 1.将m1分解质因数,即m1=p1^a1*p2^a2*...*pk^ak 所以M=m1^m2=p1^(a1*m2)*p2^(a2*m2)*...*pk^(ak*m2) 2.如果s[i](细胞初始个数)不能被M分解出来的
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文
摘要:Day1 T1(暴力):大水题 #include<cstdio> const int ok[5][5]={ 0,0,1,1,0, 1,0,0,1,0, 0,1,0,0,1, 0,0,1,0,1, 1,1,0,0,0, }; int a[210],b[210]; int main() { int n,
阅读全文