bzoj3456: 城市規劃 生成函式 多項式求逆 多項式求ln
bzoj3456: 城市規劃
分析
方法1:算二次法
考慮一張
點的有標號無向圖的個數,顯然一共
條邊,所以方案數是
設
表示
個點的無向連通圖,一種計數的套路是列舉標號為1的點的所在聯通快大小,得到
這是一個卷積的形式
令
那麼有
多項式求逆即可。
方法1:指數生成函式
具體可以看這裡
搞出
的EGF
搞出
的EGF
根據指數生成函式的集合劃分意義,可以得到
然後
所以多項式求ln即可
具體方法是
然後
求導->多項式求逆->積分即可。
式子退出來是和方法1一樣樣的
程式碼
#include<bits/stdc++.h>
const int N = 524288, P = 1004535809;
int ri() {
char c = getchar(); int x = 0, f = 1; for(;c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;
for(;c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) - '0' + c; return x * f;
}
int fix(int x) {return (x >> 31 & P) + x;}
int add(int a, int b) {return a += b, a >= P ? a - P : a;}
int mul(int a, int b) {return 1LL * a * b % P;}
int Pow(int x, int k) {
int r = 1;
for(;k; x = mul(x, x), k >>= 1)
if(k & 1)
r = mul(r, x);
return r;
}
int Inv(int x) {return Pow(x, P - 2);}
int n, L, InvL, R[N], w[N], f[N], g[N], G[N], F[N], dG[N];
namespace NTT {
void Pre(int m) {
int x = 0; L = 1;
for(;(L <<= 1) < m; ++x) ;
for(
相關推薦
bzoj3456: 城市規劃 生成函式 多項式求逆 多項式求ln
bzoj3456: 城市規劃
題目傳送門
分析
方法1:算二次法
考慮一張
n
n
n點
[BZOJ3456]城市規劃(生成函數+多項式求逆+多項式求ln)
n) 100% 存在 d+ ont inner tar 現在 一行
城市規劃
時間限制:40s 空間限制:256MB
題目描述
剛剛解決完電力網絡的問題, 阿貍又被領導的任務給難住了.
剛才說過, 阿貍的國家
BZOJ3456: 城市規劃 多項式求逆
sca 如果 數據 fpm void its bzoj3456 limit set
3456: 城市規劃
Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 798 Solved: 451[Submit][Status][Di
[JZOJ3303][BZOJ3456] 城市規劃【多項式】【生成函式】【未完成】
Description
剛剛解決完電力網路的問題, 阿狸又被領導的任務給難住了. 剛才說過, 阿狸的國家有n 個城市, 現在國家需要在某些城市對之間建立一些貿易路線, 使得整個國家的任意兩個城市都直接或間接的連通. 為了省錢, 每兩個城市之間最多隻能有一條直接的貿易路徑. 對
2019.01.03 bzoj3456: 城市規劃(生成函式+多項式取對)
傳送門 生成函式好題。 題意:求n個點的簡單(無重邊無自環)無向連通圖數目
思路: 對簡單無向圖構造生成函式
f
(
「Codeforces438E」The Child and Binary Tree-生成函式+多項式求逆+多項式開方
Description
連結
Solution
設
f
i
[帶標號無向連通圖計數 容斥原理 多項式求逆 多項式求ln 模板題] BZOJ 3456 城市規劃
可以通過容斥求出答案的表示式fi=2C2i−∑j=1i−1Cj−1i−1∗fj∗2C2i−j
其中前一部分表示i個點任意連邊 後半部分列舉1所在的連通塊然後容斥掉
∑j=1ifj(j−1)!∗2C2i−j(i−j)!=2C2i(i−1)!
這是個卷積的
luoguP4389 付公主的揹包 多項式求逆 多項式求ln 多項式求exp 生成函式
luoguP4389 付公主的揹包
題目傳送門
分析
神仙題系列。。。 首先寫出每件商品的生成函式,假設體積為
V
V
【BZOJ3625】【codeforces438E】小朋友和二叉樹 生成函數+多項式求逆+多項式開根
== reverse turn chang 一個 函數 span 化簡 amp 首先,我們構造一個函數$G(x)$,若存在$k∈C$,則$[x^k]G(x)=1$。
不妨設$F(x)$為最終答案的生成函數,則$[x^n]F(x)$即為權值為$n$的神犇二叉樹個數
bzoj3456 城市規劃
ret 化簡 include bzoj tdi 解決 總數 所在 繼續
Description
求含有n個點有標號的無向聯通圖的個數(沒有重邊),n<=130000
Input
3
Output
4
BZOJ3456: 城市規劃
BZOJ3456: 城市規劃
https://lydsy.com/JudgeOnline/problem.php?id=3456
分析:
設\(f[n]\)表示\(n\)個點的答案, \(g[n]\)表示總方案數。
列舉和\(1\)連通的點的個數, \(f[n]=g[n]-\sum\limit
[BZOJ3625][Codeforces Round #250][多項式求逆][多項式開根]小朋友和二叉樹
模板題
題解
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstrin
[bzoj 3625][Codeforces Round #250]小朋友和二叉樹 NTT多項式求逆+多項式開根
Description
我們的小朋友很喜歡電腦科學,而且尤其喜歡二叉樹。
考慮一個含有n個互異正整數的序列c[1],c[2],…,c[n]。如果一棵帶點權的有根二叉樹滿足其所有頂點的權值都在集合{c[1],c[2],…,c[n]}中,我們的小朋友就會將其稱作
bzoj3625(NTT+多項式求逆+多項式開根)
這題是我搜NTT搜到的,當時就看到“多項式開根”這樣的標題,於是找到了L-leader的部落格,補了下冪級數的東西,用兩節數學課學會了。
題面
我再看題解,好像都是教我怎麼開方,求逆的,然後又拖了幾天。終於昨晚睡不著,突然就想到了。。。
先介紹一下生成函式
[Notes][多項式]雜記 · 多項式演算法—多項式求逆 多項式取模 多項式開根…
多項式
由若干個單項式相加組成的代數式叫做多項式
形如:f(x)=∑ni=0aixif(x)=∑i=0naixi,
degf(x)degf(x)稱為ff的度,是f(x)f(x)最高次項的次數。
生成函式
形如∑∞i=0aixi∑i=0∞aixi
luogu P4725 多項式對數函數 (模板題、FFT、多項式求逆、求導和積分)
lld sum %d detail define tdi 博客 while 復雜度 手動博客搬家: 本文發表於20181125 13:25:03, 原地址https://blog.csdn.net/suncongbo/article/details/84487306
題目鏈
洛谷P4841 城市規劃 [生成函數,NTT]
show play 所在 i+1 lin problem int pac emp 傳送門
題意簡述:求\(n?\)個點的簡單無向連通圖的數量\(\mod \;1004535809?\),\(n \leq 130000?\)
經典好題呀!這裏介紹兩種做法:多項式求逆、多項式求
luoguP4512 【模板】多項式除法 NTT+多項式求逆+多項式除法
swa define space wap mod inpu eve urn -- Code:
#include<bits/stdc++.h>
#define maxn 300000
#define ll long long
#define MOD
求逆元求組合公式(有取餘)
https://blog.csdn.net/weixin_40149887/article/details/79861045
求解方法:
先算出n!%p、m!%p、(n-m)!%p,用fac[i]表示 i!%p 的值
因為組合數取模是(n!)/(m!(n-m)!)%p,因此需要計