求樹上聯通快中最大值與最小值之差為k
kk的方案數
設最大值與最小值之差為xxx
x
xx正好為k
kk的方案數=x≤
k=x\leq k
=x≤k
的方案數-x
x< k的方案數 於是我們就可以樹形dpdp dp啦fi= ∏(fs on+1 )f_i=\prod (f_+1) fi=∏( fson +1)#include
#define mod 19260817
using
namespace std;
typedef
long
long ll;
int l[
3501
],n,k,tot,v[
3501];
struct nodee[
7001];
inline
void
add(
register
int u,
register
int v)
;l[u]
=tot;
return;}
ll ans;
inline ll dp
(register
int x,
register
int fa,
register
int mx)
signed
main()
2023年10月30日提高組
jzoj 5194 盟主的憂慮 jzoj 5907 輕功 問乙個樹中有多少個連通塊最大最小點權之差等於kkk 也就是 k 的個數 k 1 的 個數 k 的個數 k 1 的個數 k 的個數 k 1 的 個數,那麼就可以列舉點,對於這個點求的是以它為最大點權符合要求的個數,那麼容易得到合法條件a m a...
2023年10月30日提高組 T3 C
給定一棵無邊權樹,中間新穿插m mm條有邊權的邊,問原樹中所有邊連向的兩個點在失去此邊後的最短路 比較容易想到暴力spf aspfa spfa o n ke o nke o nke include include include include using namespace std int n,m...
2023年10月29日提高組 T1 A
n nn個球,m mm個盤,盤子不能空,求本質上不相同的方案數 首先深搜 include using namespace std int n,m,ans inline void dfs register int dep,register int sy,register int last 分完了,統計...