這道題嘛。。。以前看的時候都不知道怎麼寫,現在才會寫了
於是有了乙份肯定能跑出正確答案的**
#include
#include
using
namespace std;
int n,m;
struct nodea[
100007][
107]
;int qs;
//在這一層的起始位置
long
long ans;
//保險起見
intmain()
ans+
=a[i+1]
[mqwz]
.sz;
//加上更上一層的房間的數字
ans%
=20123
;//邊加邊模
qs=mqwz;
//更新這一層的起始位置(到了下一層了)
} cout<20123
/再模一遍
return0;
}
然而,這是tle的
不管是用scanf+printf,還是關閉同步,還是開啟o2,都不行
所以……要優化
如果數字比這一層所有的有樓梯的房間的總數還多,就模一下
寫法是:
if
(mb>mclts[i]
) mb=
(mb-1)
%mclts[i]+1
;
也可以寫成:
if
(mb>mclts[i]
)
這樣就避免了跑很多次
#include
#include
using
namespace std;
int n,m;
struct nodea[
100007][
107]
;int qs;
long
long ans;
int mclts[
100007];
intmain()
while
(sumans+
=a[i+1]
[mqwz]
.sz;
ans%
=20123
; qs=mqwz;
} cout<20123
}
(除了取模運算部分其他都是一樣的,就不再寫一遍注釋了) 洛谷 P4892 GodFly的尋寶之旅
題意有點繞,讀懂題意之後就是一道簡單計數狀壓dp。大致題意 給出一幅圖,要求計算從起點開始走到終點的 在題目特殊規則下統計的 路徑條數。根據題意,一條路徑會被乙個複雜的公式分成0路徑和1路徑兩種,而題目則是要求到達終點的opt opt為已給的0或1 路徑有多少。opt為輸入資料 include de...
洛谷P5049 洛谷P5022 題解 旅行
原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...
洛谷練習P2279 P1346
2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...