「NOIp2018」赛道修建-贪心+二分

题目描述

C 城将要举办一系列的赛车比赛。在比赛前,需要在城内修建 \(m\) 条赛道。

C 城一共有 \(n\) 个路口,这些路口编号为 \(1,2,…,n\)有 \(n−1\) 条适合于修建赛道的双向通行的道路,每条道路连接着两个路口。其中,第 \(i\) 条道路连接的两个路口编号为 \(a_i\) 和 \(b_i\),该道路的长度为 \(l_i\)。借助这 \(n-1\) 条道路,从任何一个路口出发都能到达其他所有的路口。

一条赛道是一组互不相同的道路 \(e_1,e_2,…,e_k\)满足可以从某个路口出发,依次经过 道路 \(e_1,e_2,…,e_k\)(每条道路经过一次,不允许调头)到达另一个路口。一条赛道的长度等于经过的各道路的长度之和。为保证安全,要求每条道路至多被一条赛道经过。

目前赛道修建的方案尚未确定。你的任务是设计一种赛道修建的方案,使得修建的 \(m\) 条赛道中长度最小的赛道长度最大(即 \(m\) 条赛道中最短赛道的长度尽可能大)

Links

Luogu P5021

继续阅读「NOIp2018」赛道修建-贪心+二分

「SHOI2015」自动刷题机-二分

题目描述

SHTSC发明了一种自动刷题机,它刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写程序。每秒,自动刷题机的代码生成模块会有两种可能的结果:

1.写了\(x\)行代码

2.心情不好,删掉了之前写的\(y\)行代码。(如果\(y\)大于当前代码长度则相当于全部删除。)

对于一个 OJ,存在某个固定的长度\(n>0\),一旦自动刷题机在某秒结束时积累了大于等于\(n\)行的代码,它就会自动提交并 AC 此题,然后新建一个文件(即弃置之前的所有代码)并开始写下一题。SHTSC 在某个 OJ 上跑了一天的自动刷题机,得到了很多条关于写代码的日志信息。他突然发现自己没有记录这个 OJ 的\(n\)究竟是多少。所幸他通过自己在 OJ 上的 Rank 知道了自动刷题机一共切了\(k\)道题,希望你计算\(n\)可能的最小值和最大值。

Links

Luogu P4343

继续阅读「SHOI2015」自动刷题机-二分