摘要: 众所周知,Dijkstra算法是跑单源最短路的一种优秀算法,不过他的缺点在于难以处理负权边。 但是由于在今年的NOI赛场上SPFA那啥了(嗯就是那啥了),所以我们还是好好研究一下Dij的原理和它的优化吧。 (前面那篇写的太简陋了) 1.Dijkstra算法的原理 首先,我们先假设整个图已经被建完而且 阅读全文
posted @ 2018-08-15 00:17 CaptainLi 阅读(2986) 评论(0) 推荐(1) 编辑
摘要: C++中的STL模板库的功能可谓相当强大。今天我们来简单说一下set和map的使用方法。 1.pair 我们先来说一下pair。pair定义在头文件<utility>中,其本身相当于一个已经重定义过的,有两个元素的结构体。它始终以前一个元素(first)为第一关键字,后一个元素(second)为第二 阅读全文
posted @ 2018-08-14 21:09 CaptainLi 阅读(7650) 评论(0) 推荐(1) 编辑
摘要: 今天肖大佬对我们还是非常仁慈的,数据不是很强,导致我成功用暴力卡过T1的80pts和T2的100pts…… 废话少说,直接看吧。 T1.flower【题目描述】 终于,在一段繁忙的训练之后,到了 NOIP 的举办的时候。同学们坐上了大巴车,享受着沿途的风光,讨论着未解决的问题,憧憬着 NOIP 赛场 阅读全文
posted @ 2018-08-10 00:02 CaptainLi 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 最惨烈的一次模拟祭(不过今天之后他就要变成第二惨烈了) 三道题一道都不会做 + 模拟时心态爆炸 不模拟永远不知道自己有多菜。不管怎么说,发现问题之后解决一下吧。 T1.rate 【题目描述】你是一个骁勇善战、日刷百题的 OIer. 今天你已经在你 OJ 上提交了 y 次,其中 x次是正确的,这时,你 阅读全文
posted @ 2018-08-09 01:00 CaptainLi 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目描述:https://www.luogu.org/problemnew/show/CF838D(有翻译) (为什么博客园把我刚写的给吞了……orz) 这题当初看的十分懵逼,不过听了肖大佬的做法还是很清楚的。 因为乘客们可以从双向进入,然后乘客只会看给自己安排的座位和后面的空座位,所以我们不如直接 阅读全文
posted @ 2018-08-06 23:53 CaptainLi 阅读(633) 评论(0) 推荐(0) 编辑
摘要: 题目描述:http://codeforces.com/problemset/problem/492/E (英文题)翻译不写了大家都能看懂。 看到这道题的第一想法是啥……?暴力模拟?其实这题似乎还真的可以暴力模拟,不过要选对模拟的方法。首先我们看,因为dx,dy都与n互质,我们用那么我们以dx为例,就 阅读全文
posted @ 2018-08-06 23:02 CaptainLi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目描述:https://www.luogu.org/problemnew/show/P3960 这题当时我在NOIP的时候只会暴力模拟,然后拿了30pts…… 今天肖大佬给我们讲课的时候讲了这道题……正解有树状数组,有线段树,有splay……大佬给我们讲的是线段树做法。 首先先说一下,线段树怎么动 阅读全文
posted @ 2018-08-06 00:09 CaptainLi 阅读(1009) 评论(0) 推荐(1) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P2827 这道题当时第一眼看到的时候觉得好像很简单……?!以为直接用个优先队列维护最大值,再开个全局变量记录一下所有蚯蚓一共都长了多少就行了。 一看数据范围,7*10^6?!好像O(nlogn)跑不过只能拿80分 阅读全文
posted @ 2018-08-05 23:26 CaptainLi 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 题目描述 H 国有 n 个城市,这 n 个城市用 n−1 条双向道路相互连通构成一棵树, 1 号城市是首都,也是树中的根节点。 H 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路 阅读全文
posted @ 2018-07-27 00:17 CaptainLi 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 左偏树是一种数据结构,又称可并堆。它可以用于支持多个大/小根堆的合并。在以前我们都使用priority_queue来维护一个堆中的最大/小值,但是这只能维护单点的情况。有了左偏树之后,我们就可以支持把多个小根堆都合并到一起的操作了。 基础的左偏树可以支持如下操作:把数x,y所在的堆合并。 返回数x所 阅读全文
posted @ 2018-07-18 11:01 CaptainLi 阅读(268) 评论(0) 推荐(0) 编辑