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]\)中最大连续子序列和是多少. 思路:这个问题是以下问题的基础. 我们考虑用线段树来解决这个问题. 首先我们来想想如果要求出最大 ...
随机推荐
- 《On Java 8》笔记 2
第十一章 内部类 Java 8 的 Lambda 表达式和方法引用减少了编写内部类的需求 外部类可以提供一个方法返回一个指向内部类的引用 链接外部类 内部类还拥有其外部类的所有元素的访问权 使用 .t ...
- Oracle NLSSORT 拼音排序 笔画排序 部首排序
create table test(name varchar2(20)); insert into test values('中国'); insert into test values('美国'); ...
- Dynamic ReLU:微软推出提点神器,可能是最好的ReLU改进 | ECCV 2020
论文提出了动态ReLU,能够根据输入动态地调整对应的分段激活函数,与ReLU及其变种对比,仅需额外的少量计算即可带来大幅的性能提升,能无缝嵌入到当前的主流模型中 来源:晓飞的算法工程笔记 公众号 ...
- [Unity] 为什么文件名和类名需要相同
挂载脚本时文件名和类名的关联方式 写过Unity脚本的人应该都知道,挂载脚本的文件名和类名必须相同 今天写新功能的时候偶然发现了这个规则的底层逻辑 并且发现这个规则并非必须的,实际上Unity是根据脚 ...
- Python 中的字符串基础与应用
在Python中,字符串可以用单引号或双引号括起来.'hello' 与 "hello" 是相同的.您可以使用print()函数显示字符串文字: 示例: print("He ...
- 2. Solving Linear Equations
2.1 Linear Equations Picture Row Picture 2 by 2 equations Two equations, Two unknowns \[\begin{matri ...
- std::thread 四:异步(async)
*:如果 std::async 中传递参数 std::lunnch::deferred ,就需要等待调用 get() 或者 wait() 才会执行,并且代码非子线程运行,而是在主线程中执行 #incl ...
- 在Mac系统上使用Qt调用摄像头不出图解决方法
需求:在Mac系统上,调用摄像头,实现旋转.缩放.处理视频帧等功能 问题:使用获取视频帧的方法,在Mac上调不起来摄像头 解决方法: 将视频窗口(QVideoWidget)和视频帧(QVideoFra ...
- 手工安装部署openGauss3.0一主一备(非om工具安装)
手工安装部署 openGauss3.0 一主一备(非 om 工具安装) 本文出处:https://www.modb.pro/db/425385 一.操作系统配置(centos7.6) 1.关闭防火墙 ...
- 【Python3.10.4】Centos7 ,centos8,centos9源码安装 python3.10.4 解释器
1.检查是否安装wget如果没有安装则: 终端执行: yum -y install wget 2.下载python3源码包 终端执行: wget https://www.python.org/ftp/ ...