Crash 的文明世界

題目描述

給一棵樹,求以每個點為根時下列式子的值。

題解

當k=1時這就是一個經典的換根dp問題。

所以這道題還是要用換根dp解決。

部分分做法:

考慮轉移時是這樣的一個形式(圖是抄的)。

用二項式定理展開就可以nk2做了。

觀察到結果是一個xk的形式。

然后這個可以用斯特林數代換。

我們可以先求出每個點的后面的東西,在乘上前面的就是答案了。

這是個組合數,可以用組合數的遞推解決。

代碼

#include<iostream>
#include<cstdio>
#define N 50009
#define KK 151
using namespace std;
typedef long long ll;
const int mod=10007;
int dp[N][KK],f[KK],h[KK],jie[KK];
int n,m,a[N],tot,head[N],K,s[KK][KK];
inline ll rd(){ll x=0;char c=getchar();bool f=0;while(!isdigit(c)){if(c=='-')f=1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}return f?-x:x;
}
struct edge{int n,to;}e[N<<1];
inline void add(int u,int v){e[++tot].n=head[u];e[tot].to=v;head[u]=tot;e[++tot].n=head[v];e[tot].to=u;head[v]=tot;
}
void dfs(int u,int fa){dp[u][0]=1;for(int i=head[u];i;i=e[i].n)if(e[i].to!=fa){int v=e[i].to;dfs(v,u);(dp[u][0]+=dp[v][0])%=mod;for(int j=1;j<=K;++j)(dp[u][j]+=dp[v][j]+dp[v][j-1])%=mod;}
}
void dfs2(int u,int fa){for(int i=head[u];i;i=e[i].n)if(e[i].to!=fa){int v=e[i].to;for(int j=0;j<=K;++j)f[j]=0;f[0]=dp[u][0]-dp[v][0];for(int j=1;j<=K;++j)(f[j]+=dp[u][j]-dp[v][j-1]-dp[v][j]+mod*2)%=mod;(dp[v][0]+=f[0])%=mod;for(int j=1;j<=K;++j)(dp[v][j]+=f[j]+f[j-1])%=mod;dfs2(v,u);}
}
int main(){n=rd();K=rd();int u,v;for(int i=1;i<n;++i){u=rd();v=rd();add(u,v);}s[0][0]=1;for(int i=1;i<=K;++i){s[i][1]=1;for(int j=2;j<=i;++j)s[i][j]=(s[i-1][j-1]+s[i-1][j]*j)%mod;}jie[0]=1;for(int i=1;i<=K;++i)jie[i]=jie[i-1]*i%mod;dfs(1,0);dfs2(1,0);for(int i=1;i<=n;++i){int ans=0;for(int j=0;j<=K;++j)(ans+=s[K][j]*jie[j]%mod*dp[i][j]%mod)%=mod;printf("%d\n",ans);} return 0;
}

?

轉載于:https://www.cnblogs.com/ZH-comld/p/10265041.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280669.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280669.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280669.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

wampServer配置WWW根目錄遇到的坑

直接在官網下載之后開始安裝&#xff0c;一切正常 打開使用&#xff0c;一切正常 設置WWW目錄。坑了一波 按照的都是百度上的教程&#xff0c;設置httpd.conf 這里配置之后網頁訪問127.0.0.1 還是localhost都還是原始的www目錄 后來 我發現了這里 是配置虛擬URL的地方。以上是正…

windows安裝程序創建_如何在Windows上創建已安裝程序的列表

windows安裝程序創建Reinstalling Windows is a good way to fix serious problems with your computer, or just to get a fresh slate. But before you reinstall Windows, you should make a list of programs you currently have installed on your PC so you know what yo…

實現一個更新所有 dotnet tool 的 dotnet tool

實現一個更新所有 dotnet tool 的 dotnet toolIntrodotnet tool 是從 .NET Core 2.1 開始支持的命令行工具&#xff0c;在使用 dotnet tool 比較多了的時候&#xff0c;想要更新所有的 dotnet tool 就比較麻煩&#xff0c;而目前 .NET SDK 還不支持&#xff0c;也有一些人希望能…

C# 普通權限運行程序\非管理員運行\降低權限運行

一、目的與實際 1.VS設置管理員權限運行程序后&#xff0c;發現調用powershell命令或程序需要普通權限即可&#xff0c;Administrator權限反而錯。 2.網上搜索關鍵字&#xff0c;大部分都是怎么使用管理員權限運行。 3.bing搜索意外發現有相關資料&#xff0c;記錄分享。 二…

am335x PDK3.0 設置為單網口配置記錄

原來的配置是雙網口的&#xff0c;現在要配置為單網口。一直以為這個配置是在 make menuconfig 里面&#xff0c; 沒想到是在設備樹里面。修改設備樹// vim arch/arm/boot/dts/am335x-sbc7109.dts722 &mac {723 pinctrl-names "default", "sleep"…

[AHOI2009]飛行棋 BZOJ1800

題目描述 給出圓周上的若干個點&#xff0c;已知點與點之間的弧長&#xff0c;其值均為正整數&#xff0c;并依圓周順序排列。 請找出這些點中有沒有可以圍成矩形的&#xff0c;并希望在最短時間內找出所有不重復矩形。 輸入輸出格式 輸入格式&#xff1a;第一行為正整數N&…

webapi+Quartz.NET解決若干定時程序同時運行的問題

項目現狀&#xff1a; 有若干定時程序需要自啟動運行&#xff0c;為了簡便程序部署等問題&#xff0c;采取這種辦法把定時程序集中管理到webapi中跟隨api發布 代碼架構介紹&#xff1a; 新建一個類庫&#xff0c;類庫引用Quartz&#xff08;Quartz.2.3.2&#xff09;&#xff0…

mac恢復iphone_免費下載:舊Mac和iPhone壁紙的令人震驚的完整檔案

mac恢復iphoneLove or hate Apple, you’ve got to admit: their background images are consistently stunning. Now you can download all of them. 愛或恨蘋果&#xff0c;您必須承認&#xff1a;它們的背景圖像始終令人贊嘆。 現在&#xff0c;您可以下載所有這些文件。 A …

Django01-1: request 方法

#POST request.method #返回全大寫字符穿&#xff0c;<class str> POST/GETrequest.POST #用戶提交數據&#xff0c;不包含文件 #<QueryDict>request.POST.get(hobby) #拿列表最后一個 request.POST.getList(hobby) #拿多個&#xff0c;列表全部#GET 獲取url &a…

Magicodes.IE 2.7.1發布

2.7.12022.12.01Magicodes.IE.EPPlus默認添加SkiaSharp.NativeAssets.Linux.NoDependencies包&#xff0c;以便于在Linux環境下使用導入驗證支持將錯誤數據通過Stream的方式返回&#xff0c;感謝sampsonye &#xff08;見pr#466&#xff09;2.7.02022.11.07添加SkiaSharp移除Si…

Oracle監聽的靜態注冊和動態注冊

靜態注冊&#xff1a;通過解析listene.ora文件 動態注冊&#xff1a;由PMON進程動態注冊至監聽中 在沒有listener.ora配置文件的情況下&#xff0c;如果啟動監聽&#xff0c;則監聽為動態注冊。用圖形化netca創建的監聽&#xff0c;默認也為動態注冊 1.靜態注冊 listener.ora文…

AKOJ-1695-找素數

題意&#xff1a; 給定區間L&#xff0c;R。 計算區間中素數個數。 2 < L,R < 2147483647, R-L < 1000000。 思路&#xff1a; 素數區間篩 先篩(2-sqrt(r))。 再用(2-sqrt(r))中的素數篩(l-r)。 代碼: 1.自己寫的區間篩&#xff0c;將篩2-sqrt&#xff08;r) 分開了。…

Spring 環境與profile(一)——超簡用例

什么是profile,為什么需要profile? 在開發時&#xff0c;不同環境&#xff08;開發、聯調、預發、正式等&#xff09;所需的配置不同導致&#xff0c;如果每改變一個環境就更改配置不但麻煩&#xff08;修改代碼、重新構建&#xff09;而且容易出錯。Spring提供了解決方案。 方…

Django04-1: ORM增刪改查

ORM 增刪改查 一、字段增加 #終端輸入 1.model里添加字段&#xff0c; 2.執行遷移命令。 3.終端里輸入默認值&#xff0c;繼續執行遷移命令。 #允許為空 再nulltrue&#xff0c;終端不需要輸入默認值 #設置默認值 defalult‘xxxx‘ 二、字段修改 1.直接修改代碼&…

Comcast以純文本泄露客戶Wi-Fi登錄信息,立即更改密碼

A Comcast Xfinity website was leaking Wi-Fi names and passwords, meaning now is a good time to change your Wi-Fi passcode. Comcast Xfinity網站泄漏了Wi-Fi名稱和密碼&#xff0c;這意味著現在是更改Wi-Fi密碼的好時機。 The site, intended to help new customers se…

SpringBoot詳解(一)-快速入門

SpringBoot詳解系列文章&#xff1a;SpringBoot詳解&#xff08;一&#xff09;-快速入門SpringBoot詳解&#xff08;二&#xff09;-Spring Boot的核心SpringBoot詳解&#xff08;三&#xff09;-Spring Boot的web開發SpringBoot詳解&#xff08;四&#xff09;-優雅地處理日志…

龍芯上跑WTM,為國產化做點貢獻

點擊上方藍字關注我哦“信創”&#xff0c;是一項國家戰略&#xff0c;即信息技術應用創新產業&#xff0c;它是數據安全、網絡安全的基礎&#xff0c;也是新基建的重要組成部分。信創從名稱上來看本意指向創新&#xff0c;但是自從漂亮國親手撕碎了“科技沒有國界”的謊言之后…

Class與Style綁定

對于數據綁定&#xff0c;一個常見的需求是操作元素的class列表和它的內聯樣式。因為它們都是attribute&#xff0c;我們可以用v-bind處理它們&#xff1a;只需要計算出表達式最終的字符串。不過&#xff0c;字符串拼接麻煩又易錯。因此&#xff0c;在v-bind用于class和style時…

PHP安裝之configure的配置參數

1、生成環境安裝配置如下 要求安裝如下庫&#xff1a; imagickgdmysqlmysqlimysqlndphalconPharsoapsocketsxwebxsvczipzlib 具體查看 vim php-config 就可以知道是如何配置的 --prefix/home/php --with-config-file-path/home/php/etc --with-mysql --with-pdo-oci --with-ope…

Django05: 請求生命周期流程圖/路由層

請求生命周期流程圖 擴展知識&#xff1a; 緩存數據庫 路由層 路由匹配 url(r^test/, views.test), 1. 第一個參數是正則匹配。 只要第一個匹配了&#xff0c;就不會執行下面。 輸入url會默認加斜杠&#xff0c;django會重定向 a. 一次匹配不行 b. url再加斜杠匹配 可以…