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]\)中最大连续子序列和是多少. 思路:这个问题是以下问题的基础. 我们考虑用线段树来解决这个问题. 首先我们来想想如果要求出最大 ...
随机推荐
- 【K8S】Docker向私有仓库拉取/推送镜像报错(http: server gave HTTP response to HTTPS client)
这里,我们搭建的Harbor仓库的地址为 http://192.168.175.101:1180. 报错信息如下所示. [root@binghe101 ~]# docker login 192.168 ...
- c# 正则提取内容例子
分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) ...
- C#(winform)自定义ListItem类方便ComboBox操作
public class ListItem { /// <summary> /// Key /// </summary> public string Key { get; se ...
- KingbaseES V8R6 fillfactor 对于表的影响
前言 fillfactor 表的填充因子是一个介于 10 和 100 之间的百分数.100是默认值.如果指定了较小的填充因子,INSERT操作仅按照填充因子指定的百分率填充表页.每个页上的剩余空间将用 ...
- 03 jQuery属性控制
03 jQuery属性控制 属性相关的控制主要有以下几个功能 val() => 处理value属性 text() => 处理innerText html() => 处理innerHT ...
- 2 CSS基本选择器
2 基本选择器 id选择器 id选择器使用"#"进行标识,后面紧跟id名,其基本语法格式为: #id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;} 该语法中,id名即 ...
- #线段树,倒序#CF356A Knight Tournament
题目 分析 要求覆盖必须是第一个覆盖的, 考虑最后一个覆盖的很简单做线段树区间赋值, 那么倒序区间赋值就可以了 代码 #include <cstdio> #include <ccty ...
- 基于新版宝塔Docker部署在线客服系统过程小记
我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户.对我来说,只要能获得用户的认可,就是我最大的动力. 客服系统开发过程中,最让我意外的是对 TCP/IP 协议的认识.过去一直认 ...
- RPM打包教程
一.rpm是什么 rpm是一种安装包的格式.就像在Windows系统上我们常见的安装包格式是exe和msi一样,在linux上常见的安装包格式是deb和rpm.一般在红帽系列的系统上,不支持deb,所 ...
- 深入解析C++的auto自动类型推导
关键字auto在C++98中的语义是定义一个自动生命周期的变量,但因为定义的变量默认就是自动变量,因此这个关键字几乎没有人使用.于是C++标准委员会在C++11标准中改变了auto关键字的语义,使它变 ...