数学
月光下的魔术师
这个作者很懒,什么都没留下…
展开
-
GYM101845A:Apple Trees矩阵快速幂
GYM101845A题解f(i,j)表示第i年年龄为j的树有多少。 f(n,0)=16f(n-1,9)+9f(n-1,19)+4f(n-1,29)+1f(n-1,39) f(n,i)=f(n-1,i-1)代码#include <bits/stdc++.h>using namespace std;int const MOD = 1e9 + 7;typedef...原创 2019-05-20 09:39:37 · 314 阅读 · 0 评论 -
UVA11806:容斥原理+状态压缩
UVA11806题意:总共有k个啦啦队队员,站在n*m的格子里,每条边至少有一个人,问有几种方法。一个角落可以同时属于两条边。题解:利用容斥原理和状态压缩。0001,0010,0100,1000分别表示上下左右没人。则0000表示四条边都有人;0011表示其中上下两边没人。以此类推,共有16种组合方式。如果上下两边没人那么,高度变为n-2,所以有C((n-2)*m,k)种方式。用这样的...原创 2019-02-22 12:32:40 · 124 阅读 · 0 评论 -
HDU5877:Weak Pair(树状数组+离散化+DFS序)
Weak PairTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 5448Accepted Submission(s): 1564Problem DescriptionYou are given arooted...原创 2019-02-07 15:57:11 · 132 阅读 · 0 评论 -
HDU5468:DFS序+容斥原理
Puzzled ElenaTime Limit: 5000/2500 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2103Accepted Submission(s): 731Problem DescriptionSince both Stefan an...原创 2019-02-06 17:04:54 · 128 阅读 · 0 评论 -
HDU4135容斥原理
Co-primeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8481 Accepted Submission(s): 3374Problem DescriptionGiven a number N, you are ...原创 2019-02-06 15:32:44 · 140 阅读 · 0 评论 -
高精度模板
高精度加法#include <bits/stdc++.h>using namespace std;int const N = 100 + 10;int a[N],b[N];char sa[N],sb[N];void Bigadd(int a[N],int lena,int b[N],int lenb){ int c[N]; int x = 0; ...原创 2020-05-05 21:29:38 · 115 阅读 · 0 评论 -
博弈论
SG函数//f[N]:可改变当前状态的方式,N为方式的种类,f[N]要在getSG之前先预处理//SG[]:0~n的SG函数值//S[]:为x后继状态的集合int f[N],SG[MAXN],S[MAXN];void getSG(int n){ int i,j; memset(SG,0,sizeof(SG)); //因为SG[0]始终等于0,所以i从1开始...原创 2019-10-09 22:17:51 · 81 阅读 · 0 评论 -
ural1996:KMP + FFT
ural 1996题解只有最后一个数字可以修改,所以我们把最后一个单独那出来。比如A串单独拿出来为1 0 1 1 0 1,B串为1 0 0。那么对于第i个位置,我们可以计算从第i-m+1个位置开始至此,共有多少个01不匹配。上面这个为 1 1 1 3 1 1,记做res[N]; 我们可以先计算A串为1,B串为0,有多少不匹配。再计算A串为0,B串为1有多少不匹配。再相加。 对于第一种情...原创 2019-04-25 14:13:16 · 188 阅读 · 0 评论 -
矩阵模板
高斯消元 (浮点数运算)inline void gauss(){ int i, j, k, l; for(i = 1; i <= n; i++){ l = i; for(j = i + 1; j <= n; j++) if(fabs(matrix[j][i]) > fabs(matrix[l][i]))...原创 2019-10-10 20:28:52 · 236 阅读 · 0 评论 -
线性基学习
求线性基模板#include <bits/stdc++.h>using namespace std;typedef long long ll;int const N = 1e5 + 10;int maxbit = 64;ll a[N],p[N]; //p数组储存所有的线性基int n;int main(){ scanf("%d",&n); memse...原创 2019-10-09 22:15:12 · 233 阅读 · 0 评论