TG Day1 T3 开车旅行

1. 预处理出从每座城市两人分别会到达的两座城市。

set 可以轻松实现。

2. 用倍增优化 DP

令 \(f_{i,j,k}\) 表示从城市 \(j\) 出发,行驶 \(2^i\) 天会到达的城市。

令 \(ga_{i,j,0/1}\) 表示从城市 \(j\) 出发,行驶 \(2^i\) 天,小 A/B 先开车,小 A 行驶的路程。

令 \(gb_{i,j,0/1}\) 表示从城市 \(j\) 出发,行驶 \(2^i\) 天,小 A/B 先开车,小 B 行驶的路程。

3. 第一行的答案

枚举每座城市,用倍增加速行驶的过程即可。

4. 询问的答案

同 3。

然后此题就做完了,时间复杂度 \(O\left(\left(n+m\right)\log n\right)\)。

TG Day2 T2 借教室

二分然后差分判断,时间复杂度 \(O\left(\left(n+m\right)\log m\right)\)。

TG Day2 T3 疫情控制

首先时间越多越容易合法,二话不说套上二分。

继续观察,发现在不回到根的情况下,军队深度肯定越小越好。

所以军队能往上移就往上移,如果能回到根就暂时在根结点的儿子那里停留。这个过程可以用树上倍增优化。

做完这一步后,我们统计出需要军队驻扎的根结点的儿子,显然只要让它们驻扎上军队。

那现在就是要让其它军队移过来,考虑这个过程:

  • 某个儿子只有一支军队驻扎,如果它移到根结点后移不回来了,那么它就应该乖乖待在原处。因为如果它移掉必定需要另一支军队通过根结点移过来,那支军队在根结点处剩余的时间肯定更多,还不如让那支军队去帮助别的儿子。

  • 某个儿子存在至少两支军队,把剩余时间最少的军队留下,剩下的军队移向根结点,这个比较显然。

接着就是一个匹配问题,用剩余时间最小的军队去配移动时间最短的结点,这个贪心也比较显然。

秒杀,时间复杂度 \(O\left(n\log^2n\right)\)。

NOIP2012 解题报告的更多相关文章

  1. NOIP2012普及组 (四年后的)解题报告 -SilverN

    本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告 ...

  2. 【未完成0.0】Noip2012提高组day2 解题报告

    第一次写一套题的解题报告,感觉会比较长.(更新中Loading....):) 题目: 第一题:同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一 ...

  3. CH Round #56 - 国庆节欢乐赛解题报告

    最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...

  4. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  5. BZOJ 1051 最受欢迎的牛 解题报告

    题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4438  Solved: 2353[S ...

  6. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

  7. 习题:codevs 1035 火车停留解题报告

    本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...

  8. 习题: codevs 2492 上帝造题的七分钟2 解题报告

    这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...

  9. 习题:codevs 1519 过路费 解题报告

    今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...

随机推荐

  1. Jenkins持续集成报告列表显示不正确的问题解决

    利用robotframework+jenkins对系统进行持续集成,近段时间发现某一系统的Jenkins报告输出列表显示的执行用例数量不对.如图: 经检查发现Configure -- Post-bui ...

  2. Jenkins部署持续集成远程机节点的问题

    工作需要把工作电脑作为持续集成的执行机,最近研究Jenkins,在工作电脑上搭了一套环境,期间把原来的JDK删除掉了,导致持续集成的Jenkins节点slave-agent.jnlp打不开.解决方法是 ...

  3. Bootstrap Blazor 初体验

    自微软去年发布blazor以来,我也一直关注着blazor的动态,从net core 3.1 到 net 5,从 server side 到 wasm client , 点点滴滴印证了 blazor ...

  4. MONGODB03 - 分组计数_分组去重计数(基于 spring-data-mongodb)

    前因 项目中有查询MongoDB单表统计相关功能,涉及到MongoDB数据聚合相关操作,其中在多字段分组去重计数相关操作API上资料较少,spring-data-mongodb相关的API介绍也不够直 ...

  5. Union-Find算法应用

    上篇文章很多读者对于 Union-Find 算法的应用表示很感兴趣,这篇文章就拿几道 LeetCode 题目来讲讲这个算法的巧妙用法. 首先,复习一下,Union-Find 算法解决的是图的动态连通性 ...

  6. CF957E Contact ATC

    二维偏序(逆序对) 因为风速vf,-w<=vf<=w,因此我们可以算出每一艘船到达原点的时间的取值范围 即取vf=w和vf=-w时,记ai为当vf=w时的用时,记bi为当vf=-w时的用时 ...

  7. AJAX接口-拉购网职位搜索爬虫

    拉购网职位搜索爬虫 分析职位搜索调用接口: 浏览器开发者模式(快捷键F12)切换手机模式,打开拉购网职位搜索链接 https://m.lagou.com/search.html 输入搜索关键词, 例如 ...

  8. php之简单工厂模式

    <?php /** * Created by PhpStorm. * User: 小狗蛋儿 * Date: 2017/11/13 * Time: 22:21 */ abstract class ...

  9. 21 Ajax

    21 Ajax AJAX,Asynchronous JavaScript and XML(异步的 JavaScript 和 XML), 是与在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页 ...

  10. 378. Kth Smallest Element in a Sorted Matrix(大顶堆、小顶堆)

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...