這個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 一行乙個整數代...