首页 > TAG信息列表 > 逃学
[NOI2003] 逃学的小孩
洛谷题面 题面描述 \(\rm Chris\) 家的电话铃响起了,里面传出了 \(\rm Chris\) 的老师焦急的声音:“喂,是 \(\rm Chris\) 的家长吗?你们的孩子又没来上课,不想参加考试了吗?”一听说要考试,\(\rm Chris\) 的父母就心急如焚,他们决定在尽量短的时间内找到 \(\rm Chris\)。他们告诉 \(\rm C[NOI2003]逃学的小孩
嘟嘟嘟 题中说任意两个点之间只有唯一1条路径,意思就是这是个树~ 概括一下,就是求min(c->a, c->b) + a->b 的最大值。 显然,让整体最大,那就让这两项最大即可,a->b的最大值显然就是树的直径,跑两遍bfs(最短路)就行。 至于第一项,枚举c,每一次求出a->c, b->c的两者之中最小值,然后求这些树的直径——逃学的小孩(洛谷)
先看题目: Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:“喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?”一听说要考试,Chris的父母就心急如焚,他们决定在尽量短的时间内找到Chris。他们告诉Chris的老师:“根据以往的经验,Chris现在必然躲在朋友Shermie或Yashiro[NOI2003]逃学的小孩
发现题目要求的相当于是在一颗树上面求\(dis(A,B)+min(dis(A,C),dis(B,C))\) 显然我们要最大化这个,前面的一定要是直径,后面那个直接随便乱求就行了。 /* mail: mleautomaton@foxmail.com author: MLEAutoMaton This Code is made by MLEAutoMaton */ #include<stdio.h> #inclBZOJ1509 [NOI2003]逃学的小孩
1509: [NOI2003]逃学的小孩Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1333 Solved: 693[Submit][Status][Discuss]Description Input第一行是两个整数N(3 ≤ N ≤ 200000)和M,分别表示居住点总数和街道总数。以下M行,每行给出一条街道的信息。第i+1行包含整数Ui、Vi、Ti(1≤