上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页
摘要: "题目链接$Click$ $Here$" 不知道有什么用的一个东西。本来不打算再大量扩知识点了但还是学一下好了,反正也不难。 原理:树上父亲唯一,每次选最短的父边。 此时会有两类情况: 就这样正常连下去,这样我们就得到了一个尽可能小的树形图。 成环。这种情况下我们需要拆掉环里的一条边换成其他的边。 阅读全文
posted @ 2019-04-27 21:24 maomao9173 阅读(257) 评论(0) 推荐(0) 编辑
摘要: "题目链接$Click$ $Here$" 。 题意就是要求一个图的严格次小生成树。以前被题面吓到了没敢做,写了一下发现并不难。 既然要考虑次小我们就先考虑最小。可以感性理解到一定有一种次小生成树,可以由最小生成树删一条边再加一条边得到。我们枚举加上去的这一条边,加上去以后原$mst$会成为一个基环树 阅读全文
posted @ 2019-04-27 20:30 maomao9173 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求图中两两点对最短距离之和 允许你删除一条边,让你最大化删除这个边之后的图中两两点对最短距离之和。 暴力:每次枚举删除哪条边,以每个点为源点做一次最短路,复杂度$O(NM^2logN)$。 值得注意的是,$Dijkstra$的复杂度$O(NlogN)$是关于边而非点的 。 这个复杂度对于 阅读全文
posted @ 2019-04-25 21:33 maomao9173 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 评分稍微有一点过分。。不过这个题目确确实实很厉害,对思维训练也非常有帮助。 按照套路,我们把矩阵中的子段和化为前缀和相减的形式。题目就变成了给定一些前缀和之间的大小关系,让你构造一组可行的数据。这个东西显然是传递闭包,但是如果仅仅传递闭包的话我们只能询问两两之间的关系,处理起来比较麻烦。有没有什么办 阅读全文
posted @ 2019-04-24 11:26 maomao9173 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 值得注意的是,本章虽然依然有很多不错的思想和题目,但并不建议初学知识点时从这里入门。并不是因为题目难,而是讲解并没有看网上其他博客来的清楚。 本章缺少的重要科技:$Link Cut Tree$,主席树,后缀自动机。 基础数据结构:数组,链表,队列,栈,并查集,优先队列。 例题$1$ 猜猜数 阅读全文
posted @ 2019-04-23 23:58 maomao9173 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 第二章难度要稍微高一点,有很多以前没怎么见过的东西,所以会尽量详细地记录。 计数原理:加法原理,乘法原理,容斥原理 容斥原理:即选区去重的思想。 通常实现方法是枚举子集,复杂度$2^n$ 排列数:$P_n^k = \frac{n !}{(n k)!}$,其中$P(n, k)$代表$n$个不同的数选出 阅读全文
posted @ 2019-04-16 23:53 maomao9173 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 学了一年半$OI$马上都要退役了,结果居然还没怎么碰过蓝书=_=。这一个月开始刷,力图把上面的重点都尽可能弄懂。 例题$1$ 勇者斗恶龙($UVa11292$) 一眼费用流,再看一眼发现卡不过去。 仔细思考会发现贪心即可。因为骑士能力值和花费是一致的,所以排个序挨个砍,尽可能不把高费骑士浪 阅读全文
posted @ 2019-04-15 22:49 maomao9173 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: "题目链接 $Click$ $Here$" 如果没有租用机器就是一个裸的最大权闭合子图。现在有了租用机器应该怎么办呢? 单独拆点是不行的,因为会和直接买下的情况脱离关系,租借是和连边直接相关的,那么就可以考虑在边上下功夫。我们把从工程到机器的连边从$INF$变成租用费用,这样再跑最大权闭合子图,就可 阅读全文
posted @ 2019-04-11 23:35 maomao9173 阅读(117) 评论(0) 推荐(0) 编辑
摘要: "题目链接Click Here" 【题目描述】 假如你是一个黑客,侵入了一个有着$n$台计算机(编号为$1.2.3....n$)的网络。一共有$n$种服务,每台计算机都运行着所有服务。对于每台计算机,你都可以选择一项服务,终止这台计算机和所有与它相邻计算机的该项服务(如果其中一些服务已经停止,那他们 阅读全文
posted @ 2019-04-11 10:22 maomao9173 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 多重集求组合数,注意到$n = 20$所以可以用$2 ^ n n$的容斥来写。 如果没有限制那么答案就是$C(n + s 1, n 1)$。对每一个限制依次考虑,加上有一种选多的,减去有两种选多的,以此类推。 由于$n using namespace std; define int long lon 阅读全文
posted @ 2019-04-02 17:27 maomao9173 阅读(93) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页