起床困难综合症(BZOJ 3668)

送分题,直接从高位向低位贪心。

魔法森林(BZOJ 3669)

一个容易想到的办法就是枚举A的最大值,以B作为权值求最小生成树。暴力的话要T的。如果从小到大枚举A的最大值,每次仅会添加一些新的边,所以自然想到用LCT维护。本来还可以考一下LCT的,结果考场上A此题的人多半都写的各式各样的黑暗算法。真不知道出题人是怎么出的数据。

动物园(BZOJ 3670)

题目里面就把题解都说明白了,要用KMP。求了next数组后,以next为边建成一棵树,然后就很好做了,只需要知道到根的链上有多少标号不超过当前点标号一半的点。由于是单调的,直接二分就好了。注意不能暴力移动父节点一半的位置来得到新的位置,这样最坏不是O(n)的,虽然随机数据跑得飞快(随机数据随便怎么暴力都跑得飞快)。很容易构造数据卡成O(n^2),像这样就行了:前面一串a,中间一串b,末尾又一串a。不过官方数据似乎过弱,有人这么写当场就A了。

随机数生成器(BZOJ 3671)

很逗的题。只要不被随机忽悠,这题就成了大水题。贪心从小到大填,能填就填。每一行可填的位置一定时刻有个上下界,开两个数组暴力维护就行了。判断能否填是O(1)的,填入是O(n)的,而填入的次数是O(n)的,所以总复杂度是O(n^2)了。整个考的就是数组和for循环,5分钟之内就能写出来。卡内存?能用short的用short就行了。不过考场上的我更逗,写了个线段树维护上下界,判断和填入都是O(lgn)的,而且当时居然还开了n^2级别的线段树节点,我都不知道自己当时怎么想的!

购票(BZOJ 3672)

这题应当是本次NOI中最有价值的一道题了。考场上只搞出了t=0或1的数据,拿了70分。当时想的是用可持久化Treap维护每个节点到根节点的下凸壳,但是只要有距离限制就直接跪了,没法将凸壳拆一段下来。后来研究了半天,才发现分治大法好。

考虑链上带距离限制该怎么做(t=2)。cdq分治就行了。下面想怎么转换到树上。

点分治的时候,我们抓个重心出来,将重心去掉后树就变成了几棵树。其中有包含重心父节点的那棵。这棵树中的节点显然不会从其他树中的节点转移过来,所以可以先处理这棵树。然后我们处理这棵树对另外的树的贡献,这和cdq分治就很像了。类似地做就是了。需要注意的是树中所有以重心为“端点”的转移都应该被处理,被打上标记后重心就不会被考虑了。

NOI2014题解的更多相关文章

  1. NOI2014 部分题解

    感觉NOI2014的一些题目也是比较好做的... 但是笔者往往有思路却没有想清楚就开始搞了...这样还是不太好.. Day1 T1 起床困难综合征  (我感觉这题应该叫综合征不是综合症...)   a ...

  2. NOI2014魔法森林题解报告

    题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,-,n,边标号为 1,2,3,-, ...

  3. 【题解】洛谷P2375 [NOI2014] 动物园(KMP)

    洛谷P2375:https://www.luogu.org/problemnew/show/P2375 思路 这道题可以说是完全刷新了本蒟蒻对KMP的理解 感觉对next数组的理解上升到一个新的高度 ...

  4. BZOJ3669:[NOI2014]魔法森林——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3669 https://www.luogu.org/problemnew/show/P2387 为了得 ...

  5. 【KMP】洛谷P2375 [NOI2014]动物园 题解

        一开始的方向应该对了,但是没有想到合理的优化还是没写出来…… 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己 ...

  6. 【题解】 UOJ #2. 【NOI2014】起床困难综合症

    传送门 不是很简单? 考虑一下这个数的二进制位是什么,要么是1,要么是0. 然后怎么做? 因为一开始可以选0~m的数,那么二进制为中全是0的肯定是可以选的. 接着考虑全是1的怎么选? 如果全都是1的而 ...

  7. BZOJ3670 & 洛谷2375 & UOJ5:[NOI2014]动物园——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3670 https://www.luogu.org/problemnew/show/P2375#su ...

  8. BZOJ3668:[NOI2014]起床困难综合症——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3668 https://www.luogu.org/problemnew/show/P2114 21世 ...

  9. 【题解】NOI2014购票

    实际上是一个不完美算法……cogs上面A不掉(爆栈啦).感谢机房大佬PPY的指点,现在也写出来供大家参考参考,理解起来应该是比较简单的一种. 我们首先get出斜率优化方程: \(dp[v] = dis ...

随机推荐

  1. 读书笔记--用Python写网络爬虫01--网络爬虫简介

    Wiki - Web crawler 百度百科 - 网络爬虫 1.1 网络爬虫何时使用 用于快速自动地获取网络信息,避免重复性的手工操作. 1.2 网络爬虫是否合法 网络爬虫目前人处于早期的蛮荒阶段, ...

  2. POJ2914

    POJ2914 无向图的最小割 题意:给你一个无向图,然后去掉其中的n条边,使之形成两个连通分量,也即原无向图不连通,求n的最小值. 输入: m(无向图点集),n(无向图边集) a,b,c(a,b两点 ...

  3. VS2013默认快捷键

    目录: Global 分析 调试器上下文菜单 体系结构 调试器上下文菜单 生成 诊断中心 类视图上下文菜单 Edit 调试 编辑器上下文菜单 文件 项目和解决方案上下文菜单 帮助 重构 负载测试 解决 ...

  4. ORACLE外键和锁

    在oracle中,如果外键未加索引,对父表的修改,会导致子表被加上全表锁.这包括两种情况: 1.删除父表中的行,如果外键上没有索引,会导致子表被加上全表锁 2.更新父表的主键(根据关系数据库的原则,更 ...

  5. Xcode 运行报错:“Your build settings specify a provisioning profile with the UUID ****** however, no such provisioning profile was found”

    iOS开发中遇到"Your build settings specify a provisioning profile with the UUID ****** however, no su ...

  6. PHP Sessions

    PHP Sessions PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中 ...

  7. Struts2 框架验证

    struts2框架验证(xml方式):    * 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法        * 创建一个xml格式验证文 ...

  8. 武汉科技大学ACM:1001: 谁不爱打牌

    Problem Description BobLee最近在复习考研,但是他也喜欢打牌(有谁不爱玩牌呢?).但是作为一名ACMER,斗地主显然满足不了他的兴趣,于是他和YYD一起YY出来了一个游戏规则, ...

  9. 【转】常用背景色RGB数值

    [转自]http://blog.sina.com.cn/s/blog_8fc890a201013z8h.html

  10. php页面显示空白

    问题: 本人php初学者,网站下载wamp5,安装好之后,测试环境是否正常,用phpinfo(),但是页面不能正确显示. 1.显示连接错误 2.显示空白页 解决方法: 一.显示连接错误 步骤: 1.p ...