jzoj5913】的更多相关文章

這道題我們可以套路的設置f[i]為當前節點為根的滿足條件方案數,然後枚舉根,計算必須包含當前根的方案 但是似乎很難計算 所以我們可以搞一個前綴和,將聯通塊的最大數和最小數相減<=k的方案和<=k-1的方案計算一遍,減去就是答案 則f[i]=(f[son]+1)*- (f[son]滿足條件) 這樣子我們只需要判斷son是否滿足條件,因為son的所有子樹已經判斷過了 但是這樣可能會算重:當有多個節點的值與當前節點的值相同,都會算一遍 於是我們可以硬點只有根標號小的節點才會計算1次,大的直接跳過 代…
快乐dp 反正考场写挂 #include<cstdio> #include<cstring> #include<cctype> #include<iostream> #define MOD 19260817 #define LL long long template <class T>inline void read(T &X) { X=;;; while(!isdigit(ch))W|=ch=='-',ch=getchar(); )+(…