起床困难综合症(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. C# 网络编程之网页简单下载实现

    这是根据<C#网络编程实例教程>中学到的知识实现的一个C#网页简单下载器,其中涉及到的知识主要是HTTP协议编程中相关类:HttpWebRequest类.HttpWebResponse类. ...

  2. Ubuntu 修改时区和时间

    tzselect #根据提示选择时区 sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #把设置好的时区文件粘贴到 /etc/local ...

  3. MyEclipse保存文件时 自动格式化代码! 不包括文档注释

    设置不格式化 文档注释

  4. codevs 2241 排序二叉树

    /* WTF 写了好久了 开始的时候题目读错了 建图建错了 搜索写的也不好 感觉会T 总之 第一次写的很low 贴一下吧 */ #include<iostream> #include< ...

  5. c#将Excel数据导入到数据库的实现代码(转载)

    假如Excel中的数据如下:     数据库建表如下:     其中Id为自增字段:      代码如下: using System; using System.Collections.Generic ...

  6. Asp 图形化报表

    1  图形化的报表的优点 分析.统计业务数据 表现直观,漂亮,有震撼效果的图形化的方式展现业务数据 复杂的业务数据简单化 2  常用的报表组件 HighCharts:是纯js编写的图形化报表 水晶报表 ...

  7. window.location.href 和self.location的区别

    你从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面 所以这2个就有了 区别 比如说 我有个页面A.HTML 里面嵌套了一个B.HTML ...

  8. 如何给report自定义page number

    问题描述: report在设置分页后会自动分页,但是有默认的page number,现在的问题是有时default page number不能满足我们的需求,此时就需要自定义page number. ...

  9. SQL 关于有单引号数据更新的问题

    要把sql语句中包含有单引号的符号加入到数据库中的做法 )),''','123.com') 很简单就是加入id=''123''            0'0就可以写成'0''0'

  10. (三)Angularjs - 小实例

    AngularJS处理数据表格 使用 np-repeat 指令 <table> ... <!-- 这里使用ng-repeat指令来重复数据生成表格 --> <tr ng- ...