[总结+题解]NOI2015

// 此博文为迁移而来,写于2015年7月20日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w6u7.html

1、总结

这次参加的网上同步赛,感觉和正式考试大不相同啊!考试的时候一点都没有状态……所以结果也是凄惨的。总的而言,据说这次考试也是如同去年NOI一样的水,Day2还是可以的,Day1说实话我也觉得好水,然而这并没有什么卵用。NOI2014还没有看过,最近去体验一下吧。

因为参加的同步赛,其实也没有什么过程好讲的,从8:30坐到13:30,脑袋里一片空白,好多题目都想出了做法,却没有足够的时间码完,不知是对知识点的不够熟练,还是题目做少了。所以以后还是多做点题吧。

2、题解

Day1 T1 并查集

       恩这就是本次NOI非常水的开端了——并查集裸题= =。没错你没有看错,这道题直接用并查集就行了。根据条件xi=xj,则将节点i和j合并到一个集合;若存在条件xi≠xj,则查找i和j是否在一个集合之中,我觉得这比HNOI的水题还要水一倍(虽然我这都是后话。。。我竟然WA了两个点)

Day1 T2 树链剖分+线段树

       好了这就是NOI非常水的续集,当然这是对于神犇们而言。首先这道题有一个不忍直视的暴力分数——40分,恩没错你直接沿着树链边跑边作标记,40分轻松入手。考试的时候我想到了正解,然而姿势不够我并没有打出来,耗费了整整三四个小时。这道题可以用树链剖分+线段树,线段树维护访问标记。

Day1 T3 未知

       没怎么看,不过毕竟也有那么多个人A了的,应该难不到哪里去。

Day2 T1 哈夫曼树

       清华爷学长cyb(@Delayyy)说这是k叉哈夫曼树。对于前40分的话就是裸二叉哈夫曼树,可做。由于它给的数据点非常详细,即便不会什么k叉哈夫曼树,最多可以通过多种途径骗到60分。

(UPDATE:其实K叉哈夫曼树很好写的啊,只需要补充一部分权值为0的节点使合并时刚好满足条件即可)

Day2 T2 后缀数组

       用KMP乱做了一下感觉应该还是有40分的,但是还是没有打完。正解应该是后缀数组相关,不过暂时没有去看。

Day2 T3 未知

不清楚。。这应该是这次NOI最难的一道题了吧。

时间: 2024-08-30 10:17:42

[总结+题解]NOI2015的相关文章

【NOI2015】寿司晚会 题解(状压DP)

[问题描述] 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了 n?1 种不同的寿司,编号 1,2,3,?, n?1, 其中第 i 种寿司的美味度为 i+1  (即寿司的美味度为从 2 到 n ). 现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案 为不和谐的当且仅当:小 G 品尝的寿司种类中存在一种美味度为 x 的寿司,小 W 品尝的寿司中存在一种美味度为 y

BZOJ4196:[NOI2015]软件包管理器——题解

http://www.lydsy.com/JudgeOnline/problem.php?id=4196 https://www.luogu.org/problemnew/show/P2146 你决定设计你自己的软件包管理器.不可避免地,你要解决软件包之间的依赖问题.如果软件包A依赖软件包B,那么安装软件包A以前,必须先安装软件包B.同时,如果想要卸载软件包B,则必须卸载软件包A.现在你已经获得了所有的软件包之间的依赖关系.而且,由于你之前的工作,除0号软件包以外,在你的管理器当中的软件包都会依

[Noi2015]软件包管理器 题解

题目大意: 有n个软件安装包,除第一个以外,其他的要在另一个安装包的基础上安装,且无环,问在安装和卸载某个软件包时,这个操作实际上会改变多少个软件包的安装状态. 思路: 可构成树,用树链剖分,线段树.已安装的为1,未安装的为0.对于安装操作,就是询问x到0的路径上0的个数,然后把这个路径赋为1:对于卸载操作,就是询问x的子树中1的个数,然后把子树赋为0. 代码: 1 #include<cstdio> 2 #include<iostream> 3 #define M 800500 4

NOI2015 题解

D1T1 程序自动分析 题目大意:给定109个变量和n个等于/不等于的关系,判断能否存在一组解满足所有关系 并查集傻逼题,NOIP小孩都会做 离散化一下,然后把相等的都用并查集并起来,判断每对不等关系是不是在同一并查集中就行了 代码没拷回来,懒得再写一遍了 D2T2 软件包管理器 题目大意:给定一棵有根树,每个点有黑白两种颜色,初始都为白色,每次进行以下两种操作: 1.将某个点所在的子树染白 2.将某个点到根路径上的点染黑 求每次操作后有多少点的颜色发生了改变 树剖傻逼题,NOIP小孩都会做 维

【题解】NOI2015寿司晚宴

想好久啊+不敢写啊--但果然人还是应当勇敢自信,只有坚定地去尝试,才会知道最后的结果.1A真的太开心啦,不过好像我的做法还是比较复杂的样子--理解起来应该算是比较容易好懂的类型,大家可以参考一下思路~ 首先我们先考虑一下简单的30分算法:30以内的质数只有十个左右,可以利用状压表示出两个人所选择的集合,再通过寿司转移即可.之后的大数据呢?我们发现不能这样做是因为之后的质数越来越多,状压的空间就开不下了. 这时要注意到一个性质:对于1~n内的每一个数而言,都可以分解成若干个<sqrt(n)的质数之

bzoj4195[Noi2015]程序自动分析

bzoj4195[Noi2015]程序自动分析 题意: t组数据,每组n个给出两个变量是相等还是不等的约束条件,要求判断是否能满足.n≤1000000,变量数量≤109 题解: 先离散化,然后只处理相等条件用并查集维护“相等集合”,接着对每个不相等条件判断是否在一个集合,是的话则说明不满足. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <queue&g

noi2015 day1 T2软件包管理器

noi2015 软件包管理器 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置.Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器. 你决定设计你自己的软件包管理器.不可避免地,你要解决软件包

【BZOJ4197】[Noi2015]寿司晚宴 状压DP+分解质因数

[BZOJ4197][Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了 n−1 种不同的寿司,编号 1,2,3,…,n−1,其中第 i 种寿司的美味度为 i+1 (即寿司的美味度为从 2 到 n). 现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小 G 品尝的寿司种类中存在一种美味度为 x

Bzoj 4196: [Noi2015]软件包管理器 树链剖分

4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 721  Solved: 419[Submit][Status][Discuss] Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置.Debian