2019.02.15【NOIP提高組】模擬 B 組總結

100+80+30=210
T1:很容易看出是棵樹
求出最長距離,深搜一下
如果一個點是葉子節點
暫時在它與它父親那條邊上放陷阱直到與根節點的距離達到最大值
如果是父親節點
由於一個節點與它父親的邊上的陷阱可以影響這個點的所有兒子
也就是說我們可以在i與i的父親的那條邊上放陷阱來減少i到i的兒子的邊上的陷阱數
但放太多會使某些點距離大於最大值
求個min就好。
T2:

一眼狀壓

但是2^15*10000會爆掉,沒法DP
所以打了兩個狀壓寬搜,從起點到終點和從終點到起點

其實差不多,都是部分分
打着打着打不下去
忽然看出求答案的過程只與起點,k個點,終點有關
我們把它們剝離出來,做k+2遍最短路,求出兩兩之間的最短距離
然後兩次狀壓寬搜(第一個求起點到終點,第二個求終點到起點)

第一個的初值是f1[1,0]=0

第二個的初值是f2[k+2]=f1[k+2]
要開int64
要開int64
要開int64
一開始打的int64,後來想了一下可能會時超
如果它不卡你可以開longint
但它卡了
而我在最後一分半鐘交了longint
100->80

T3:
二叉字典樹(二進制,31層)
沿着走
如果只有一個子節點就走
否則,如果風水值這位爲1,就走0,否則走1
字典樹記錄一下編號,輸出即可

已AK

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章