鏈結
不斷從深度最大的節點的kk級父節點進行擴充套件
注意擴充套件時使用 dfsdfs, 因為 bfs
bfs 儲存上乙個經過的節點較麻煩
**中有bfs
bfs 函式, 僅供參考, 由於回環往復地入隊, tle
tle 不可避免,
#include
#define reg register
intread()
while
(isdigit
(c)) s = s*
10+ c-
'0', c =
getchar()
;return s * flag;
}const
int maxn =
100005
;int n;
int k;
int num0;
int ans;
int head[maxn]
;int fa[maxn]
;int f[maxn]
, used[maxn]
;std::queue <
int> q;
struct edge edge[maxn <<1]
;void
add(
int from,
int to)
; head[from]
= num0;
}void
bfs(
int k)}}
struct node t[maxn]
;void
dfs(
int k,
int fa)
}void
dfs_2
(int k,
int left,
int last)
}bool
cmp(node a, node b)
intmain()
for(reg int i =
1; i < n; i ++
)dfs(1
,0);
std::
sort
(t+1
, t+n+
1, cmp)
;for
(reg int i = n; i >=
1; i --)}
printf
("%d\n"
, ans)
;return0;
}
P3942 將軍令 貪心
鏈結 不斷從深度最大的節點的k kk級父節點進行擴充套件 注意擴充套件時使用 dfs dfsdf s,因為 bfs bfsbf s 儲存上乙個經過的節點較麻煩 中有bfs bfsbf s 函式,僅供參考,由於回環往復地入隊,tle tletl e 不可避免,include define reg re...
洛谷 P3942 將軍令 解題報告
又想起了四月。如果不是省選,大家大概不會這麼輕易地分道揚鑣吧?只見乙個又乙個昔日的隊友離開了機房。憑君莫話封侯事,一將功成萬骨枯。夢裡,小 f 成了乙個給將軍送密信的信使。現在,有兩封關乎國家生死的密信需要送到前線大將軍帳下,路途凶險,時間緊迫。小 f 不因為自己的禍福而避趨之,勇敢地承擔了這個任務...
貪心 洛谷3942將軍令
貪心 好 如果某個點沒被控制,我們當然選擇在他的第k的祖先 建站,這也就是貪心的思路。這個 某個點 我們肯定要從深度最大的點開始。所以說,先bfs一遍,bfs完的佇列就是按深度從小到大排序的了,我們從最後開始往前面迴圈,對於沒有被控制的點,ans,找出他的第k個祖先,然後dfs他的第k個祖先,向所有...