摘要: 多项式 FFT cpp void FFT(Complex P,int opt){ for (int i=0;i 1] 1)|((i&1) 1); for (int i=0;i 1); for (int i=0;i 1); for (int i=0;i 1,ls=Stack[top ]; solve( 阅读全文
posted @ 2018-04-21 15:00 租酥雨 阅读(1912) 评论(3) 推荐(10) 编辑
摘要: "bzoj" "luogu" 题意 给你一个$n m$的网格,每个位置上有一个箭头指向上或下或左或右。有些位置上还没有箭头,现在要求你在这些没有箭头的位置上填入箭头,使得从网格的任意一个位置开始,都可以沿着箭头走出网格。 求填入的方案数膜$10^9+7$ sol 给“网格外”建一个点。每个格子向它指 阅读全文
posted @ 2018-04-21 11:39 租酥雨 阅读(225) 评论(0) 推荐(0) 编辑
摘要: "bzoj" sol 矩阵树定理裸题 其实可以不用辗转相除直接乘逆元就好了。~~然而我还是写的辗转相除~~ code cpp include include using namespace std; int gi() { int x=0,w=1;char ch=getchar(); while (( 阅读全文
posted @ 2018-04-21 10:28 租酥雨 阅读(142) 评论(0) 推荐(0) 编辑
摘要: "bzoj" "luogu" sol 就是求以$1$为根的生成树的数量。 直接矩阵树定理。 code cpp include include include using namespace std; int gi() { int x=0,w=1;char ch=getchar(); while (( 阅读全文
posted @ 2018-04-21 10:21 租酥雨 阅读(152) 评论(0) 推荐(0) 编辑
摘要: "bzoj" "luogu" Description 你突然有了一个大房子,房子里面有一些房间。事实上,你的房子可以看做是一个包含n m个格子的格状矩形,每个格子是一个房间或者是一个柱子。在一开始的时候,相邻的格子之间都有墙隔着。 你想要打通一些相邻房间的墙,使得所有房间能够互相到达。在此过程中,你 阅读全文
posted @ 2018-04-21 10:19 租酥雨 阅读(187) 评论(0) 推荐(0) 编辑
摘要: "vjudge" "luogu" 题意 就是要你求无向图的生成树个数。$n\le 12$,保证答案不爆$long long$。 sol 矩阵树定理直接上。 如果怕掉精可以写整数意义下的高斯消元,需要辗转相除,复杂度多个$\log$ code cpp include include include u 阅读全文
posted @ 2018-04-21 10:15 租酥雨 阅读(203) 评论(0) 推荐(0) 编辑
摘要: ~~别想了这里没有证明~~ 矩阵树定理 可以求一张图(无向图有向图均可)的生成树个数。 针对无向图 对于一张无向图$G$,构造其基尔霍夫矩阵: 对于一条无向边$(u,v)$,$a[u][u]++,a[v][v]++,a[u][v] ,a[v][u] $。 把基尔霍夫矩阵去掉任意一行一列然后求行列式即 阅读全文
posted @ 2018-04-21 10:05 租酥雨 阅读(292) 评论(2) 推荐(1) 编辑