fzyzojP3782 組合數問題

2022-02-05 09:22:02 字數 1244 閱讀 7270

這個ai<=2000有點意思

啟發我們用o(w^2)的演算法

fft不存在,對應關係過緊

考慮組合意義轉化建模,再進行分離

(除以2不需要逆元不懂為啥,但是算個逆元總不費事)

由於終點可能在起點的右下,所以,從左上到右下要再做一遍

但是每個終點正上方的起點統計了兩次,再減掉即可

(注意大力卡常:

1.s2[i][j]沒有,就不用算了

2.f,ans開long long 儘量減少取模

3.組合數用階乘計算

#include#define il inline

#define reg register int

#define numb (ch^'0')

using

namespace

std;

typedef

long

long

ll;il

void rd(int &x)

namespace

miracle

return

ret;

}ll mo1(ll x)

ll mo2(ll x)

intn;

int c(int n,int

m)int

main()

ans%=mod;

///cout

=1;--i)

}ans%=mod;

//cout

}ll inv2=5e8+4

; ans=ans*inv2%mod;

printf(

"%lld

",ans);

return0;

}}signed main()

/*author: *miracle*

date: 2019/2/8 18:52:17

*/

總結:核心:轉化問題,分離終點和起點

和這個題的最後差分分離思路有異曲同工之處:agc 018e.sightseeing plan——網格路徑問題觀止

Bzoj4870 SHOI2017 組合數問題

題目顯得一臉不可做。一般的來說,讀題是不會看前面一些沒有什麼太大意義的話的。確實也如此,譬如題面首句 組合數cm n 表示的是從n個互不相同的物品中選出m個的方案數 想來大家也是知道的 再觀察前面的式子 可以表示成如下形式 q modk rcq n k 回顧題面首句 代入?可以得到講人話的題面,大致...

BZOJ 4870 HEOI 2017 組合數問題

第一行有四個整數 n,p,k,r,所有整數含義見問題描述。1 n 10 9,0 r k 50,2 p 2 30 1 一行乙個整數代表答案。我也是很迷呢,這題如果用組合數公式 性質硬搞什麼也搞不出來,然後就用組合數的實際意義好了,c i,j 表示從i個物品中選出j個的方案數,那麼原題就是從n k個物品...

BZOJ 4870 HEOI2017 組合數問題

題面 time limit 10 sec memory limit 512 mb submit 484 solved 242 submit status discuss 第一行有四個整數 n,p,k,r,所有整數含義見問題描述。1 n 10 9,0 r k 50,2 p 2 30 1 一行乙個整數代...