1. 程式人生 > >青春野狼不做小惡魔學妹的夢 - 斯特林數 - 多項式理論

青春野狼不做小惡魔學妹的夢 - 斯特林數 - 多項式理論

題目大意:
對所 n n 個點的連通圖 G \mathrm{G} 求邊數的 k k

次方和。
n 5 × 1 0 4 , k
15 n\le5\times10^4,k\le15

題解:
顯然考慮斯特林數: m k =
i = 0 k S ( k , i ) i ! ( m i ) m^k=\sum_{i=0}^kS(k,i)i!\binom mi
,因此統計 n n 個點的圖並選定其中恰好 i i 條不同的邊的方案數。
那麼設 f m , n f_{m,n} 表示連通圖的情況, g m , n g_{m,n} 表示所有圖的情況,那麼顯然 g m , n = ( ( n 2 ) m ) 2 ( n 2 ) m g_{m,n}=\binom{\binom n2}{m}2^{\binom n2-m} ,然後列舉1所在連通塊大小:
j = 0 m i = 1 n ( n 1 i 1 ) f j , i g m j , n i = g m , n \sum_{j=0}^m\sum_{i=1}^n\binom{n-1}{i-1}f_{j,i}g_{m-j,n-i}=g_{m,n}
那麼令
[ x n ] F m ( x ) = f m , n ( n 1 ) ! [ x n ] G m ( x ) = g m , n n ! [ x n ] H m ( x ) = g m , n ( n 1 ) ! [x^n]F_m(x)=\frac{f_{m,n}}{(n-1)!}\\ [x^n]G_m(x)=\frac{g_{m,n}}{n!}\\ [x^n]H_m(x)=\frac{g_{m,n}}{(n-1)!}
則:
j = 0 m F j ( x ) G m j ( x ) = H m ( x ) \sum_{j=0}^mF_j(x)G_{m-j}(x)=H_m(x)
因此:
F m ( x ) = H m ( x ) j = 0 m 1 F j ( x ) G m j ( x ) G 0 ( x ) F_m(x)=\frac{H_m(x)-\sum_{j=0}^{m-1}F_j(x)G_{m-j}(x)}{G_0(x)}
時間複雜度 O ( n k 2 + n k lg n ) O(nk^2+nk\lg n)
順便重新屯了一波板子(求逆指對)。

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define Rep(i,v) rep(i,0,(int)v.size()-1)
#define lint long long
#define p 998244353
#define ull unsigned lint
#define db long double
#define pb push_back
#define mp make_pair
#define fir first
#define sec second
#define gc getchar()
#define debug(x) cerr<<#x<<"="<<x
#define sp <<" "
#define ln <<endl
using namespace std;
typedef pair<int,int> pii;
typedef set<int>::iterator sit;
inline int inn()
{
	int x,ch;while((ch=gc)<'0'||ch>'9');
	x=ch^'0';while((ch=gc)>='0'&&ch<='9')
		x=(x<<1)+(x<<3)+(ch^'0');return x;
}
inline int fast_pow(int x,int k,int ans=1) { for(k<0?k+=p-1:0;k;k>>=1,x=(lint)x*x%p) (k&1)?ans=(lint)ans*x%p:0;return ans; }
namespace POLY_space{
	const int N=200000;
	int A[N],B[N],C[N],r[N];
	inline void clr(int *a,int n) { memset(a,0,sizeof(int)*n); }
	inline void cpy(int *a,int *b,int n) { memcpy(a,b,sizeof(int)*n); }
	inline int NTT(int *a,int n,int s)
	{
		
            
           

相關推薦

青春野狼惡魔 - - 多項式理論

題目大意: 對所 n n n個點的連通圖

青春野狼姐控偶像的 - 線段樹 - 掃描線 - 單調棧

題目大意:給你一個排列,多次詢問,每次給你一個區間,問有多少子區間,數字取出來sort一遍是連續的一段。 題解: 考慮l=1,r=n咋做。 考慮一段合法,當且僅當max-min=r-l。 那麼用個單調棧預處理每個數字在哪些[l,r]會成為最大/最小值,然後掃描線維護max-min+l的最小值

C++第四篇:的表示和運算、函式呼叫、流水線

在小明學C++第二篇,我們看到,小明用了整型、浮點型等資料型別,那麼這些資料型別在計算機裡面是怎麼表示的?它們的運算操作又是怎麼實現的?此外,主函式呼叫面積計算函式calculate的時候到底發生了什麼?經過翻譯後,一條高階語言編寫的語句變成了很多不可再分

[ACM] hdu 2067 兔的棋盤(卡Catalan)

小兔的棋盤 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5814    Accepted Submissio

創業初期,為什麼要程式而是APP?

       在如今網際網路高速發展,萬眾創新創業時代,產品需要快速迭代,快速找到使用者去驗證你的商業模式,不斷微調產品方向,最終才做出使用者真正需要的產品。   但是,把重點放在埋頭開發APP耽誤了最佳的試錯時間,市場機會便會稍縱即逝。   而在有了

週末深夜,說她想Python資料分析師....

大家好,我是大鵬,目前是一名資料分析師, 上週末晚上,我的學妹突然約我出來喝咖啡,我覺得這件事情不簡單,果然一到她就遞給我手機,開口就問: 鵬哥,你是個很厲害的資料分析師吧,快幫我看看這招聘要求都是什麼意思啊?     我看了一眼,回答到:這不是很正常的

Java,程式設計師還能從事這10個有趣工作!

令我驚訝的是,有些人覺得程式設計並不令人興奮,只將它當作是一份枯燥的工作。 不過,雖然可能的確有很多無聊的程式設計工作, 但這並不意味著你不得不接受這些工作中的一個。 程式設計師有各種各樣的機會,運用他們的技能去做一些有趣的事情,特別是如果他們懂Java的話。 Java也許是時下僱主中最流行的語言

Java,程序員還能從事這10個有趣工作!

ima 24小時 依靠 動畫 學生 消息 ado doc fff 令我驚訝的是,有些人覺得編程並不令人興奮,只將它當作是一份枯燥的工作。 不過,雖然可能的確有很多無聊的編程工作, 但這並不意味著你不得不接受這些工作中的一個。 程序員有各種各樣的機會,運用他們的技能去做一些

零基礎python,大牛三步教你python神經網路!

零基礎,手把手教你第一個神經網路,只需三步! 這篇文章只是為你掃清障礙 程式碼還是要自己打一遍,才會發現各種報錯。 引數要自己除錯一遍。才能體會神經網路的神奇。 注意:需要學習資料視訊書籍的; 新增小編學習交流群943752371即可。 準備工作:

人生規劃,你離捱餓只有三天

                徐小平:不做人生規劃,你離捱餓只有三天  徐小平,新東方教育科技集團董事,新東方文化發展研究院院長,2003年榮登中國《福布斯》名人錄,被中國青年一代尊稱為“人生設計師”。  靠自己的勞動贏得生存就是成功  難以找到工作的青年,一般有三種情況:一是缺少求職技巧的人;二是缺乏就業

2018年新時代到來,還知道為什麼要程式嗎?

​ 剛剛過去的2017年,有兩個新生的事物:小程式、新零售。所以,2017年,也被成為小程式元年、新零售元年。而在這之前,資本市場的動態,大資料等等,都給了一個非常明確的訊號給我們,新時代要來了! 我們可以非常明顯的看到,資本市場越來越不喜歡純網際網路公司,越來越青睞投資

Python 爬蟲(26):為啥上海二手房你都買

人生苦短,我用 Python 前文傳送門: 小白學 Python 爬蟲(1):開篇 小白學 Python 爬蟲(2):前置準備(一)基本類庫的安裝 小白學 Python 爬蟲(3):前置準備(二)Linux基礎入門 小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門 小白學 Pyth

師妹JVM之:深入理解JIT和編譯優化-你看懂系列

[toc] # 簡介 小師妹已經學完JVM的簡單部分了,接下來要進入的是JVM中比較晦澀難懂的概念,這些概念是那麼的枯燥乏味,甚至還有點惹人討厭,但是要想深入理解JVM,這些概念是必須的,我將會盡量嘗試用簡單的例子來解釋它們,但一定會有人看不懂,沒關係,這個系列本不是給所有人看的。 更多精彩內容且看:

AI】八種應對樣本均衡的策略

**文章來自:微信公眾號【機器學習煉丹術】** [TOC] ## 1 什麼是非均衡 分類(classification)問題是資料探勘領域中非常重要的一類問題,目前有琳琅滿目的方法來完成分類。然而在真實的應用環境中,**分類器(classifier)扮演的角色通常是識別資料中的“少數派”**,比如: *

有些事現在,一輩子都

做了 some 放下 only sta iou sim 自己的 don 【有些事現在不做,一輩子都不會做了】   年輕的時候,總是想著,等到怎樣怎樣,我就怎樣怎樣。   等到忙完這一陣,我就健身減肥;   等到忙完這一陣,我就拿起kindle充電;   等到忙完這一

前端06

好的 空格 cti 回顧 overflow 目前 效率 col over 回顧一下這幾天吧: 非常後悔的行為: 一口氣看完一遍head first html就一頭開始想著做網頁,實則很多技巧就像剛剛開始學編程就生搬硬套的寫算法,不是這樣不可行,而是這樣的學習曲線很陡峭,很容

前端07

css 寫法 什麽 實現 總結 正在 url text pix 2017-05-12 16:02:53:1.小技巧:在<style type="text/css"><!--.../*your css code*/--></style>利用

前端12

人生 nbsp ons hidden 前端 創建 vertical tab 輸出 1.var string = "you are";var text = string;string = "best";console.log(text); //輸出"you are"變量為一

前端20

javascrip 感覺 空指針 java 自己 struts2 慢慢 畢業 程序員 也許今天都是一個空指針吧1.大致的理解了struts2,因為畢業的需要,不過感覺其實一直都是,啊,java耶。就立馬興致沖沖的去學java,好像學會了java之後自己就會是一個程序員,自己