NOI导刊2009 提高一
zzh大佬给我说导刊的题全是普及难度,然而我。。觉得有两道题是提高的
LocalMaxima
题目解析
对于\(i\)这个数,它要想成为LocalMaxima,比它大的要全部放到最后去,比它小的想怎么放就怎么放。所以说,这个数能成为LocalMaxima的期望就是\[(n - i)! / (n - i + 1)! = \frac{1}{n - i + 1}\], 那么总的期望就是\[\sum_{i = 1}^{n} \frac{1}{n - i + 1} = \sum_{i = 1}^{n} \frac{1}{i}\], 于是我们就有了线性的做法,但是这显然是不合乎要求的。
我们知道, \(\sum_{i=1}^n \frac{1}{i}\)这样的一个调和级数是发散的,不存在极限,但是欧拉曾经证明\(\sum_{i=1}^n \frac{1}{i} - ln(n)\)是收敛的。它的极限是存在的。设这个极限是\(r\),\(r\)被称作欧拉常数。它的近似值约\(0.57721566490\),于是我们有了一个求解\(s\)的算法,那就是\(s = ln(n +1) +r\)
\[r = \lim_{n \rightarrow \infty} ^ {} \left ( \left ( \sum_{i=1}^n \frac{1}{i} \right ) - ln(n) \right ) = \int_1^{\infty} \left ( \frac{1}{[x]} - \frac{1}{x} \right ) dx\]
最长括号匹配
题目解析
首先我们考虑一下如何判断一个串是不是合法串。
我们只需要抽离一个经典的栈的模型,用左括号压栈,右括号弹栈,只有一个合法的压栈,弹栈序列才是合法的括号串。因为这里有两种括号,因此我们还需要增加一个匹配的条件。
假设我们用\(str[0...L-1]\)储存括号序列,\(stack\)模拟栈,\(stack[i]\)记录第\(i\)层栈储存的元素在\(str\)中的下表,top标记栈顶。
几个比较显然的性质:假设在\([L,R]\)中出现了非法弹栈,那么对于任意区间\(L \le a \le R\),则区间\([a,b]\)必然是非法的,因为弹栈和压栈操作相互独立。
于是不难得出下面的模拟算法:
对于括号\(str[i]\)对应的操作,如果是压栈,则压栈,若果是合法弹栈,就弹栈,并且更新答案。如果是非法弹栈,就立刻清空栈。最终输出答案。
Magicfingerprint
题目分析
我们有个很显然的打表算法,由于可以估算出这个序列应该比较分散,所以对于\(30pts\),100kb之内是没有问题的。
我们有一个很显然的反向dfs方法,不停添加位数,然后sort一下, \(On\)查询一下就行了
NOI导刊2009 提高一的更多相关文章
- NOI导刊 2009 提高二
开灯 题目大意 对编号为\([i \times a]\)的灯进行操作,找出操作数为奇数的那一个 题目分析 难度: 入门 因为看到操作数为奇数,因此直接进行位运算,做亦或和 打砖块 题目分析 第一眼看上 ...
- 几何+暴力【p1959】 遗址[NOI导刊2009普及(6)]
题目描述--> P1959 遗址_NOI导刊2009普及(6) 普通方法分析: 因为题目要求是找最大正方形(如果是长方形更麻烦. 讲真,题目不难,耗时间! 根据题目要求,我们要找的是正方形. 我 ...
- NOI导刊 2018河南郑州游记
前言 本蒟蒻来自浙江的弱市弱校,因为不想两年\(OI\)一场空,以及想出去玩,所以与同届大佬一起报了\(NOI\)导刊,希望能留下点不错的记忆吧. \(Day\ 0\) \(10\)月\(1\)日 经 ...
- NOI导刊总结
NOI导刊总结 前两天去郑州,参加了什么NOI导刊的培训,然后就发现大佬是真的多,还十分意外的发现了一个事,清华北大是不是发笔记本和耳机,为啥三个老师的都一模一样... 这几天主要以讲.NOIP知识点 ...
- [NOI导刊2010提高&洛谷P1774]最接近神的人 题解(树状数组求逆序对)
[NOI导刊2010提高&洛谷P1774]最接近神的人 Description 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某 ...
- 洛谷——P1958 上学路线_NOI导刊2009普及(6)
P1958 上学路线_NOI导刊2009普及(6) 题目描述 你所在城市的街道好像一个棋盘,有a条南北方向的街道和b条东西方向的街道.南北方向的a条街道从西到东依次编号为l到a,而东西方向的b条街道从 ...
- Luogu [P1958] 上学路线_NOI导刊2009普及(6)
上学路线_NOI导刊2009普及(6) 题目详见:上学路线_NOI导刊2009普及(6) 这是一道基础的DFS(深搜)题,堪称模板,是新手练习搜索与回溯的好题选. 大致思路:从(1,1)开始搜索,每次 ...
- 洛谷 P1952 火星上的加法运算_NOI导刊2009提高(3)
P1952 火星上的加法运算_NOI导刊2009提高(3) 题目描述 最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限.她想向你求助,作为一位优秀的程序员,你当然不会拒 ...
- 洛谷 P1950 长方形_NOI导刊2009提高(2)
传送门 思路 首先定义\(h\)数组,\(h[i][j]\)表示第\(i\)行第\(j\)列最多可以向上延伸多长(直到一个被用过的格子) 然后使用单调栈算出 \(l_i\)和 \(r_i\) ,分别是 ...
随机推荐
- mysql格式化日期的函数
转自:https://www.cnblogs.com/duhuo/p/5650876.html mysql格式化日期 mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的 ...
- Oracle正在执行和执行过的SQL语句
1.正在执行的SQL select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where a ...
- js jquery.pagination.js分页
1.使用插件为 jquery.pagination.js ,如果没有这个js文件的话,我可以给发个. 首先引用 jquery.pagination.js (分页js),跟pagination.css( ...
- 牛客网多校赛第七场A--Minimum Cost Perfect Matching【位运算】【规律】
链接:https://www.nowcoder.com/acm/contest/145/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- Windows Bat 批处理脚本
Windows Bat 批处理脚本 – Getting Started – Variables – Return Codes – stdin, stdout, stderr – If/Then Con ...
- 热力图实现-heatmap.js 代码示例
Heatmap.js – 最强大的 Web 动态热图 最新公司项目需要用到热力图,在百度上搜下,了解到heatmap.js这款神器.然后搜了下例子,却很难搜到马上出效果的例子,特此写一篇heatma ...
- Oracle HA 之 OGG部署流水
1.GG组件及其功能简介: manager进程:总管其他所以进程及处理相应GGSCI命令. capture进程:从源端的联机日志文件或归档日志文件抓取commit的信息. sourc ...
- sql_q.format
field_q_insert = 'id, title, number, created,content'sql_q = 'INSERT INTO testquestion ({}) VALUES ( ...
- python基础之迭代器协议和生成器
迭代器和生成器补充:http://www.cnblogs.com/luchuangao/p/6847081.html 一 递归和迭代 略 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个ne ...
- JS中手动触发事件的方法
如果大家将一张网页看成一个form的话,大致上就成了一个web form的模型.在win form 下要想手动触发某一个对象的事件是很简单的,只要发送一条消息即可达成.(PostMessage) 但是 ...