摘要: Description 给一棵树,逃犯初始在根,可以在每个点安一些人,安排 \(j\) 个人会有 \(p_{u,j}\) 的概率抓住逃犯。逃犯如果在一个节点没被抓住,就会等概率前往一个儿子,没有儿子逃犯就逃跑了。现在需分配这 \(K\) 个人,使得逃犯被抓住的概率最大。 Solution 本来是一个 阅读全文
posted @ 2021-10-07 21:02 Kreap 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Description 给定一棵树,每次新加一条链。可以选择一个点,如果该点到该链的最短路恰好结束于这条链的端点,就会产生一个贡献。现在每新增一条链都需要询问如何选点能使贡献和最大,输出最大值。 Solution 比较签到,前半个小时就写了。 同时维护每个点的答案,可以分为三种情况(假设 \(dep 阅读全文
posted @ 2021-10-07 20:49 Kreap 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Description \(m\) 个车,每个车从第 \(s_i\) 天开始,运行 \(x_i\) 天,然后维修 \(y_i\) 天,这样循环,直到第 \(t_i\) 天的时候结束。对于每一天,输出当天正在维修的车的数量。 Solution 考场上都想到正解了,但是想错了以为 \(m\) 是 2e5 阅读全文
posted @ 2021-10-07 15:32 Kreap 阅读(39) 评论(0) 推荐(0) 编辑
摘要: Description Solution 容易想到一个贪心的思路,记得有个叫什么国王的游戏的题,大概就是考虑邻项作差。如果 \(x\) 在前面比 \(y\) 在前面更优的话,一定有 \(b_{x}(a_y+S)+b_yS > b_y(a_x+S)+b_xS\) 化简可得 \(b_xa_y > b_y 阅读全文
posted @ 2021-10-07 15:05 Kreap 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 主要是读入和输出的问题,其他改动不大。注意每次对 vector 进行操作的时候要 resize 一下。 const int M=1e5+7; const int Bs=1e9; int buf[M],top=0,n,m,k; struct BigNum{ int l; vector<ll> a; B 阅读全文
posted @ 2021-10-07 07:29 Kreap 阅读(62) 评论(0) 推荐(0) 编辑