牛客 病毒擴散 K K K

2022-06-18 01:24:15 字數 665 閱讀 4229

思路:正面想問題 因為隨著時間的影響會讓人數增長 所以直接從整體考慮

因為這是相當於不同的人走到同乙個點的問題 每當有乙個人停了一步再走 就相當於這個是後一秒感染的人在走動 所以就相當於

把問題轉化成 從0 0 到 x y 用了時間為t的有多少種方案數 (即此時這裡有多少個人)

路徑的方案數 就是 c(x,x+y) 時間的方案數 隨著時間增加 不像路徑那樣一定要動 

所以時間的考慮應該是 可以x+1 可以y+1 也可以保持不動 所以是c(x+y,t) 在t時刻內走動了x+y步

1 #include2

using

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 }

view code

牛客 牛妹愛數列 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...