省選專練 2018雅禮集訓 立方體Cube

2021-08-21 08:00:20 字數 951 閱讀 7321

困難雖然當你知道:答案是c(n,m)*2^(n-m)時甚易

如何推出:

觀察計算式:

我們知道當你有四個點時,乙個點旁邊有有兩個點,他們分別連線然後為4*2個但是乙個點作為起點終點使用兩次故除二

#include#include#include#include#includeusing namespace std;

typedef int int;

#define int long long

inline void read(int &x)

ch=getchar();

} while(ch>='0'&&ch<='9')

x*=f;

}const int mod=998244353;

int quick_pow(int x,int k)

x=(x*x%mod+mod)%mod;

k=k/2;

} return (ret%mod+mod)%mod;

}const int n=2e5+10;

int fac[n]={};

int inv[n]={};

int pre()

// cout<

inv[n-1]=quick_pow(fac[n-1],mod-2);

// cout<

for(int i=n-2;i;i--)

}int c(int n,int m)

int main()

// cout<<48545*quick_pow(2,48545-1)%mod;

}

2018雅禮省選集訓3 31 Max 期望DP

注意到 m m 比較小,不妨狀壓 m role presentation style position relative mm。我們設fi,j,s fi,j,s表示ai a i用掉集合 s s 中的操作後值為 j role presentation style position relative j...

2018雅禮省選集訓3 25 bsh 分治最短路

因為是三角剖分,所以每一條對角線都把多邊形分成兩部分,於是考慮分治。先找到一條把多邊形分得比較均勻的對角線,對兩個端點做一下bfs,處理掉起點和終點分別在這條對角線兩側的詢問 分經過某個點或者經過這條邊三種情況更新 然後繼續分治直到三角形為止。選對角線的時候直接選最遠的即可。include incl...

雅禮集訓 2018 Day4 Magic

傳送門本部分 於 這位大佬 題中要求本質不同的序列數量,不太好搞。我們考慮給相同顏色的牌加上編號,這樣所有牌都不相同。那麼如果我們求出了答案,只需要將答案除以 prod a i 就好了。恰好有 k 對 不能直接求,考慮容斥,如果我們求出了 g x 表示至少有 x 對的方案數,那麼答案即為 sum l...