思路:正面想問題 因為隨著時間的影響會讓人數增長 所以直接從整體考慮
因為這是相當於不同的人走到同乙個點的問題 每當有乙個人停了一步再走 就相當於這個是後一秒感染的人在走動 所以就相當於
把問題轉化成 從0 0 到 x y 用了時間為t的有多少種方案數 (即此時這裡有多少個人)
路徑的方案數 就是 c(x,x+y) 時間的方案數 隨著時間增加 不像路徑那樣一定要動
所以時間的考慮應該是 可以x+1 可以y+1 也可以保持不動 所以是c(x+y,t) 在t時刻內走動了x+y步
1 #include2view codeusing
namespace
std;
3#define ll long long
4#define pb push_back
5const
int maxn=2e6+10;6
const
int mod=998244353
;7 ll c[2005][5005];8
9int
main()
1024}25
}26intq;
27 cin>>q;
28while(q--)
2934
3536
3738 }
牛客 牛妹愛數列 K K K
思路 剛開始考慮的是貪心,讓sum 0 遇到1就 0則 找到sum最大的時候,在這個時候反轉一次,這樣是會漏情況的 如 0 0 0 0 0 1 1 1 可以把0變為1 再全部變為0 那麼只能考慮dp了 首先要確定dp的意義,根據要求的 肯定是要dp n 為前n為都為0的 那麼考慮把dp i 定為 前...
牛客病毒感染
b.病毒感染 題意 給出一顆所有路徑都為1的樹,讓你找出到其餘點距離和最小的點,若存在多個,都輸出。暴力法 跑n邊迪傑斯特拉,n 5e5,顯然不行。試著畫圖模擬找思路 上圖中,1到其餘各點的距離和為7 1 1 1 1 1 2 2到其餘各點的距離和為10 1 1 2 2 2 2 因為題目保證了各路徑長...
NC204088 病毒擴散
dp動態規劃 首先考慮在一條直線上傳播的情況,容易推出 f t n f t 1 n f t 1 n 1 由於在不同路徑上的傳播情況可以迭加,所以最終結果即為 ans 0,0 到 x,y 路徑數 f t n 路徑數的dp公式也易推出 dp x y dp x 1 y dp x y 1 ac includ...