Solution Set - NOI级别真题选做
[NOI2007] 社交网络
key:Floyd
Floyd求出任意两点间最短路,以及最短路的条数。求点 \(k\) 的答案时枚举所有点对 \(i,j\),若 \(dis_{i,k}+dis_{k,j}==dis_{i,j}\),则以 \(\frac{cnt_{i,k} \times cnt_{k,j}}{cnt_{i,j}}\) 加入答案。
[NOI2009] 管道取珠
key:DP
状态设计有点意思。想象有两个管道,每次两个管道各出一个球,则所求即为两个管道每次出球都相同的方案数。状态设计为三维,然后把第一维压掉。
[NOI2009] 变换序列
key:基环树
首先根据 \(d_i\) 求出可能的 \(t_i\)(至多两个取值),然后建二分图。建图时允许重边,这样每个左部点的度都为2。只用求该图字典序最小的完美匹配。分出这个图上的连通块,必须每个连通块都是基环树才有解。是基环树时,找到环上编号最小左部点,让它的匹配点取较小的一个即可。
[NOI2009] 诗人小G
key:四边形不等式优化
模板题。
[NOI2010] 海拔
key:平面图最小割
显然所有点的海拔只可能是0或1。然后转对偶图最短路。模板题。
[CTSC2010] 星际旅行
这是黑?这是黑?这是黑?
key:思维题
注意到最后那个条件,可以先遍历整棵树,然后选择一些边重复走,使其两端点的 \(h_i\) 值都减一。这个步骤贪心地完成:以 \(0\) 为根,先让叶子结点尽可能用光(同时耗费父亲结点)。遍历整棵树,到达点 \(u\) 时相当于 \(u\) 到 \(0\) 的路径少走了一遍,这样可以把路径上(不含 \(0\))的所有点的 \(h_i\) 值加一。可以在DFS进入一个点时加一,离开时减一。考虑这样操作的影响。加一时优先与儿子匹配,如果不行就再与父亲匹配,再不行就不管了。减一时如果能减直接减,否则优先与父亲匹配(少重复一次),不行就再与儿子匹配。只要在儿子上记录它与父亲结点的匹配次数即可。
[NOI2009] 植物大战僵尸
key:拓扑排序,最小割
依照题意建有向图,\(x\) 向 \(y\) 连边表示要攻击 \(y\) 必须先攻击 \(x\)。从源点向最右侧的点连边,跑拓扑排序求出所有可能攻击的位置。然后对原图所有边(与源点无关)建反向边,流量INF(防止割断);源点向所有点连流量为 \(D\) 的边,所有点向汇点连流量为 \(D-\) 点权 的边,跑最小割即可。这里 \(D\) 是一个合适的常数,使得所有流量为正。
[WC2009] 最短路问题
key:线段树
难。情况多到离谱。建议摆烂。
[CTSC2010] 产品销售
这是紫?这是紫?这是紫?
key:模拟费用流
费用流模型是好建的,然后完全不会。看题解叭。
Solution Set - NOI级别真题选做的更多相关文章
- [NOIP2017(TG/PJ)] 真题选做
[NOIPTG2017] 小凯的疑惑 题意 小凯有两种面值的金币,每种金币有无数个,求在无法准确支付的物品中,最贵的价值是多少金币. 分析 设两种金币面值分别为 $a$ 和 $b \; (a<b ...
- Atcoder 水题选做
为什么是水题选做呢?因为我只会水题啊 ( 为什么是$Atcoder$呢?因为暑假学长来讲课的时候讲了三件事:不要用洛谷,不要用dev-c++,不要用单步调试.$bzoj$太难了,$Topcoder$整 ...
- 贪心/构造/DP 杂题选做Ⅲ
颓!颓!颓!(bushi 前传: 贪心/构造/DP 杂题选做 贪心/构造/DP 杂题选做Ⅱ 51. CF758E Broken Tree 讲个笑话,这道题是 11.3 模拟赛的 T2,模拟赛里那道题的 ...
- 贪心/构造/DP 杂题选做Ⅱ
由于换了台电脑,而我的贪心 & 构造能力依然很拉跨,所以决定再开一个坑( 前传: 贪心/构造/DP 杂题选做 u1s1 我预感还有Ⅲ(欸,这不是我在多项式Ⅱ中说过的原话吗) 24. P5912 ...
- Ynoi 数据结构题选做
Ynoi 数据结构题选做 前言 我将成为数据结构之神!坚持 lxl 党的领导,紧随 nzhtl1477(女装灰太狼1477)的脚步.无论过去.现在还是未来,分块始终是实现 data structure ...
- [SDOI2016]部分题选做
听说SDOI蛮简单的,但是SD蛮强的.. 之所以是选做,是因为自己某些知识水平还不到位,而且目前联赛在即,不好花时间去学sa啊之类的.. bzoj4513储能表&bzoj4514数字配对 已写 ...
- 贪心/构造/DP 杂题选做
本博客将会收录一些贪心/构造的我认为较有价值的题目,这样可以有效的避免日后碰到 P7115 或者 P7915 这样的题就束手无策进而垫底的情况/dk 某些题目虽然跟贪心关系不大,但是在 CF 上有个 ...
- NOIP 真题选讲
推荐生要凉辽 这可能是我更新的最后一篇博客 代码什么的有时间再说吧,先讲思路.(已搞定前三题代码) 首先先看一下线段覆盖题.我们有一个区间,要用线段覆盖整个区间. 这个是线段的覆盖简图.我们如何选取最 ...
- JOI 简单题选做
就是把洛谷上评分为紫的题做了一下(汗) 前两道题没做出来,暴露了自己在 dp 上的短板. イベント巡り 2 一开始想到贪心,但发现我们只要选 \(k\) 个即可,所以可以尝试一些更劣但是编号更小的做法 ...
- 【SPOJ GSS】数据结构题选做
SPOJ GSS1 题意:给一个序列以及一些询问,每个是问\([l,r]\)中最大连续子序列和是多少. 思路:这个问题是以下问题的基础. 我们考虑用线段树来解决这个问题. 首先我们来想想如果要求出最大 ...
随机推荐
- multisim的操作回顾
multisim的操作回顾 1.写在前面 multisim的仿真功能还是强大的,能够有效地实现对电路功能的验证.但是,不能全局搜索器件是个大问题.对于不熟悉器件的基本分类的人来说,一排的分类足以浪费大 ...
- KingbaseES V8R6 中unlogged表
前言 KingbaseESV8R6有一种表称为unlogged,在该表新建的索引也属于unlogged.和普通表的区别是,对该表进行DML操作时候不将该表的变更记录变更写入到wal文件中.在数据库异常 ...
- [Android开发学iOS系列] 和一个真正iOS开发的区别?
和一个真正iOS开发的区别? 学习iOS的这段时间, 我一直在思考和感受着自己和一个真正做了几年iOS的dev之间的区别. 同时也在反向思考, 我自己和一个新学Android的人, 又有什么区别. 也 ...
- #01-Trie,Cayley定理#51nod 1601 完全图的最小生成树计数
题目 分析 考虑建出一棵Trie,然后最小生成树就是0的部分到1的部分连一条边, 这个可以用区间短的一方查询另一棵trie,这样时间复杂度为 \(O(n\log^2{mx})\) 方案数注意相同的 \ ...
- #状压dp#C 计划带师
分析 状压dp显然,主要是字典序的问题, 考虑初态终态转换就可以保证字典序最小了 代码 #include <cstdio> #include <cctype> #include ...
- reactive stream协议详解
目录 背景 什么是reactive stream 深入了解java版本的reactive stream Publisher Subscriber Subscription Processor JDK中 ...
- C++ STL 容器和算法:详解和实例演示
C++ STL(标准模板库)提供了一组丰富的容器和算法,使得开发者能够更加高效地编写程序.本文将介绍STL中的一些常用容器和算法. 容器 vector vector是一个动态数组,可以在运行时调整大小 ...
- 技术传递温度,HMS Core手语服务走进暖心课堂
近日,华为HMS Core手语服务携手吉林大学.长春大学特教学院联合打造暖心课堂,在直播网课中加入AI手语翻译,于人文中融入科技,知识中融入温暖. 手语翻译:同学们大家好 HMS Core手语服务通过 ...
- VMware下CentOS7.6安装openGauss
VMware 下 CentOS7.6(7.9)安装 openGauss centos 安装 这里我使用的是 vmware workstation Pro 15 虽然官网了解了一下 openGauss ...
- 知识图谱增强的KG-RAG框架
昨天我们聊到KG在RAG中如何发挥作用,今天我们来看一个具体的例子. 我们找到一篇论文: https://arxiv.org/abs/2311.17330 ,论文的研究人员开发了一种名为知识图谱增强的 ...