困難雖然當你知道:答案是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...