組合數學 Yes or No

2022-04-04 22:00:12 字數 688 閱讀 4885

有\(n+m\)個詢問,其中\(n\)個是yes,\(m\)個是no,你回答乙個問題之後會知道這個問題的答案,求最優策略下你期望對多少個。

顯然最優策略是回答多的那個。

不妨設\(n \geq m\),將正確答案畫在二維平面上,發現是\((n,m)\)到\((0,0)\)的一條路徑。

畫一條對角線\(y=x\),我們發現如果路徑不經過對角線那麼答案就是\(n\)。

我們考慮計算答案的增量,發現在對角線處才會貢獻有\(\frac\)的概率貢獻\(1\)的增量,所以答案是

\(n+\frac_}}\)。

#includeusing namespace std;

typedef long long ll;

const ll mod=998244353;

ll f[1000005],invf[1000005];

ll qpow(ll a,ll b)

return ret;

}void init(ll n=1000000)

ll c(ll n,ll m)

int main()

ans=ans*qpow(c(n+m,n),mod-2)%mod;

ans=(ans+n)%mod;

printf("%lld\n",ans);

return 0;

}

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...

數學 組合數學

mod must be a prime const int mod 1e9 7 namespace combinatory ll inv ll x ll fac maxn invfac maxn void initc int n ll a ll n,ll m ll c ll n,ll m ll d ...

組合數學筆記

從n個數中選m個數,每個數至多選一次,方案數 性質 c n,0 c n,n 1 c n,m c n,n m c n,m c n 1,m 1 c n 1,m 楊輝三角 二項式展開 x y n i 0.n c n,i x iy n i 那這裡先說一下楊輝三角 前提 每行端點與結尾的數為1 每個數等於它上...