日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > BZOJ 1211 HNOI2004 樹的計數 Prufer序列

BZOJ 1211 HNOI2004 樹的計數 Prufer序列

來源:程序員人生   發布時間:2014-11-19 08:18:59 閱讀次數:3218次

題目大意:給定1棵樹中所有點的度數,求有多少種可能的樹

Prufer序列,具體參考[HNOI2008]明明的煩惱

直接乘會爆long long,所以先把每一個數分解質因數,把質因數的次數相加相減,然后再乘起來

注意此題無解需要輸出0

當n!=1&&d[i]==0時 輸出0

當Σ(d[i]⑴)!=n⑵時輸出0

寫代碼各種腦殘……竟然直接算了n⑵沒用階乘……

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define M 160 using namespace std; typedef long long ll; int n,sum,d[M]; int cnt[M]; ll ans=1; ll Quick_Power(ll x,int y) { ll re=1; while(y) { if(y&1)re*=x; x*=x; y>>=1; } return re; } void Decomposition(int x,int flag) { int i; for(i=2;i*i<=x;i++) while(x%i==0) cnt[i]+=flag,x/=i; if(x^1) cnt[x]+=flag; } int main() { int i,j; cin>>n; for(i=2;i<=n⑵;i++) Decomposition(i,1); for(i=1;i<=n;i++) { scanf("%d",&d[i]); if(!d[i]&&n!=1) { puts("0"); return 0; } sum+=d[i]⑴; for(j=2;j<=d[i]⑴;j++) Decomposition(j,⑴); } if(sum!=n⑵) { puts("0"); return 0; } for(i=1;i<=n⑵;i++) if(cnt[i]) ans*=Quick_Power(i,cnt[i]); cout<<ans<<endl; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美国产日本在线观看 | 在线看的毛片 | 欧美综合在线观看 | 久久免费国产视频 | 亚洲成人精品在线观看 | 日韩欧美一区二区三区在线视频 | a在线一区| 精品久久久一区二区 | 自拍偷拍亚洲欧美 | 国产精品免费无遮挡 | 狠狠色伊人亚洲综合成人 | 国产视频二区 | 日韩a级毛片免费看 | 欧美性受xxx | 国产在线精品福利 | 国产黄色一级电影 | 欧美精品在线观看 | 97精品在线视频 | 狠狠色狠狠色综合日日五 | 国产人成精品一区二区三 | 国产中文字幕网 | 亚洲人免费视频 | 欧美激情视频一区二区三区 | 一区二区视频观看 | 欧美日一区二区三区 | 欧美日本精品 | 国产电影在线 | 日韩欧美在线免费观看 | 国产欧美一区二区三区在线看 | 美女一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 精品欧美乱码久久久久久1区2区 | 欧美日韩在线播放 | 国产露脸国语对白在线 | 国产一区二区三区视频在线 | 日韩三级av | 爱爱免费观看 | 日韩在线中文字幕 | 黄色片91 | 日韩小视频 | 欧美日韩在线一区二区 |