NOIP2010~2017部分真题总结

2010

(吐槽)md这个时候的联赛还只有4题吗?

引水入城

只要发现对于有合法解的地图,每个蓄水厂贡献一段区间这个结论就很好做了
那么\(O(n^3)\)对每个蓄水厂的dfs一遍,判掉有无解之后贪心线段覆盖
所以这是个爆搜+性质+贪心题?

关押罪犯

贪心+并查集
贪心显然正确,那么并查集维护一下每个点的补集就没了

机器翻译

暴力模拟

乌龟棋

dp
\(f[i][j][p][q]\)表示剩余4中卡片多少张,四方枚举dp一下
或者\(f[i][j][p][q]\)当前到第i格,三种卡片的张数(这样可以算出第四种剩多少),酱紫dp一下也行?


2011

铺地毯

模拟
既然你只询问一个格子,那么我也只维护一个格子好了,\(O(n)\)

选择客栈

现在看来有个复杂的方法,
对每种颜色搞个前缀和,预处理个st表,
枚举左端点二分st查区间最小值
\(O(nk)\)因为log比k小...
所以是个RMQ?

Mayan游戏

搜索
不会

计算系数

组合数
答案就是\(a^n*b^m*\binom{k}{n}\)

聪明的质监员

二分w,前缀和统计check

观光公交

贪心
发现加速器的使用互相独立,考虑每次选择对答案减少最多的路段减1,
可以每次\(O(n)\)处理出公交车到达每个点的时间,以及每个路段能影响到的最后一个点(要停下来等人就算影响不到了),设为\(f_i\)
于是对i这段路减1的贡献就是\(\sum_{j=i+1}^{f_i}down_j\)
前缀和维护下站人数即可
总复杂度:\(O(nk)\)


2012

(吐槽)2012就两紫了woc...
(吐槽)还一年考两道倍增???

Vigenère 密码

好久远了,不记得了...
大概是模拟或者找规律?

国王游戏

贪心+高精
左手*右手大的放后面
关于这类排序贪心的证明可以考虑交换前后两个答案的变化

开车旅行

预处理出从每个点出发由A/B开车的下一个点以及距离(二分+树状数组搞一搞)
每次倍增求答案

同余方程

它大概是个...exgcd板子???

借教室

可以直接线段树直接维护最小值做
显然二分+差分更好写是吧

疫情控制

贪心+倍增
显然一个军队越靠近根越优,我们二分一个t,把军队尽量往上提,特判一下根的儿子的情况,
提的过程就倍增实现


2013

转圈游戏

它大概是个...快速幂模板???

火柴排队

我始终觉得此题巨火无比
发现一根火柴在第一列排第k,那么它就要与第二列火柴排第k的匹配,
然后因为只能swap相邻两个,
所以离散化之后映射到下标,\(O(nlogn)\)求逆序对数就是答案

货车运输

构最大生成树,倍增

积木大赛

第一次写这个题wtm以为线段树的说...
每次在高度下降的时候统计答案就好

花匠

贪心,单调性改变时算答案

华容道

好难不会


2014

生活大爆炸版石头剪刀布

模拟

联合权值

这个东西dfs就好了吧,对相邻的点乘法原理搞一搞

飞扬的小鸟

好难啊
向上做完全背包
向下做01背包
好像对背包的顺序还有要求...

无线网络发射器选址

这不是暴力吗?

寻找道路

建反边bfs一遍找到所以满足条件1的点,再建图跑最短路

解方程

用小伟教的秦九韶\(O(n)\)求多项式的值,
\(O(mn)\)做就行
这个系数就考虑对大质数取模吧,多模几个稳一些


2015

神奇的幻方

按它的规则模拟就行

信息传递

有向图最小环
写个tarjan又不会死

斗地主

搜索啊,不会

跳石头

二分答案

子串

神仙dp
\(f[i][j][k]\)表示A前i个,B前j个,匹配了k个的方案数
\(s[i][j][k]\)表示A前i个,B前j个,匹配了k个且强制\(A_i=B_j\)的方案数
\(s[i][j][k]=f[i-1][j-1][k-1]+s[i-1][j-1][k]\)
\(f[i][j][k]=f[i-1][j][k]+s[i][j][k]\)
第一维滚掉

运输计划

先求出所有计划的时间
二分答案之后对超时的计划树上差分,找到一条被所有不合法计划都经过的边,
如果最大值-该边长度合法,那么该答案合法


2016

玩具谜题

模拟

天天爱跑步

有点长,看这里

换教室

设\(f[i][j][0/1]\)表示前i个时间段,申请换了j次,当前这次成功与否
枚举转移就行
预处理就是跑一个\(O(n^3)\)的最短路

组合数问题

注意到k是固定的,递推式求组合数模掉k,再求二维前缀和就没了

蚯蚓

不会呢

愤怒的小鸟

直接bfs搜过去了??
具体还可以看这里


2017

(吐槽)今年再考结论我就死了...

小凯的疑惑

a*b-a-b

时间复杂度

模拟,开栈记录变量名,标记一下是否在死掉的循环中

逛公园

k只有50,设\(f[u][k]\)表示到u点比最短路长度不超过k的方案数
判0环:如果dp的时候搜到还在栈中的状态那么就有0环
具体还可以看这里

奶酪

把空洞,上下界看成点,把连通的并起来,最后看上下界是否连通

宝藏

状压dp
虽然复杂度可能有点假但能过就懒得管了
\(f[s]\)表示已开发的集合为s的最小代价
枚举起点记搜一下

列队

暴力维护每一行和最后一列的splay显然爆空间
所以一开始一个点维护一行,操作就split开,这样空间大约就是\(O(q)\)的


NOIP2018加油!

君指先跃动の光は、私の一生不変の信仰に、唯私の超電磁砲永世生き!

NOIP2010~2017部分真题总结的更多相关文章

  1. NOIP2010提高组真题部分整理(没有关押罪犯)

    目录 \(NOIP2010\)提高组真题部分整理 \(T1\)机器翻译: 题目背景: 题目描述: 输入输出格式: 输入输出样例: 说明: 题解: 代码: \(T2\)乌龟棋 题目背景: 题目描述: 输 ...

  2. 数百道BAT等大厂最新Python面试真题,学到你手软!

    春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法.提升 Python 编程能力,总是大有裨益的.今天,小编发现了一份好资源:Python 实现的面试题集锦! ...

  3. 美团点评2017校招笔试真题-算法工程师A

    美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...

  4. 美团点评2017校招笔试真题-算法工程师B

    美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C ...

  5. ACM-ICPC(10 / 10)——(完美世界2017秋招真题)

    今天学了莫比乌斯反演,竟然破天荒的自己推出来了一个题目!有关莫比乌斯反演的题解,和上次的01分数规划的题解明天再写吧~~~ 学长们都在刷面试题,我也去试了试,120分钟,写出6题要有一点熟练度才行.先 ...

  6. 蓝桥杯Java真题解析

    上个月参加蓝桥杯省赛拿了个省一,自从比赛完之后就一直没怎么写代码了,还有一个多月就要国赛了,从现在开始准备下国赛,但是我也不想学什么算法,而且我还在准备考研,所以就打算只做下历年的真题,争取国赛拿个国 ...

  7. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  8. 1054. 求平均值 (20)-PAT乙级真题

    今天刚刚到学校,2017年学习正式开始了,今天看到了浙大的<数据结构>这学期又要开课了,决定一定要跟着学习一遍:在大学生mooc网上学习:http://www.icourse163.org ...

  9. 2016.1.4~2016.1.7真题回顾!-- HTML5学堂

    2016.1.4~2016.1.7真题回顾!-- HTML5学堂 2015悄然而逝,崭新的2016随即而行!生活需要新鲜感,学习JavaScript的过程需要有成就感!成就感又是来自于每一天的不断练习 ...

随机推荐

  1. 正确的使用字符串String

    字符串作为所有编程语言中使用最频繁的一种基础数据类型.如果使用不慎,将会造成不必要的内存开销,为此而付出代价.而要优化此类型,从以下两点入手: 1.尽量少的装箱 2.避免分配额外的内存空间 先从第一点 ...

  2. Android模拟器Genymotion安装apk

    一.下载apk 选择你需要安装的apk进行下载,下载完以后放在与adb.exe同一目录下: 看我的 二.安装apk遇到的问题 开启Genymotion模拟器,然后cmd到你的platform-tool ...

  3. NIO之DatagramChannel

    Java NIO中的DatagramChannel是一个能收发UDP包的通道.操作步骤: 1)打开 DatagramChannel 2)接收/发送数据 同样它也支持NIO的非阻塞模式操作,例如: pu ...

  4. MyBatis官方教程及源代码解析——mapper映射文件

    缓存 1.官方文档 MyBatis 包括一个非常强大的查询缓存特性,它能够非常方便地配置和定制. MyBatis 3 中的缓存实现的非常多改进都已经实现了,使得它更加强大并且易于配置. 默认情况下是没 ...

  5. javascript执行环境以及作用域链的理解

    在javascript脚步语言中执行环境有两种: 全局环境: 局部环境: 我们可以拿一个田径跑道来打比方,全局环境就可以理解为是最外面跑道,它包含着内部所有的东西,有人在跑步,有人在跳远,这些用着不同 ...

  6. out传值

    public void Out(out int a, out int b)        {//out相当于return返回值            //可以返回多个值            //拿过 ...

  7. iOS 集成微信支付【转载】

    目前项目里有微信支付的需求,调研过一段时间后,发现其实并没有想象中的那么困难.如果你只是想实现该功能,一个方法足以,但是若你想深入了解实现原理.就需要花费更多的功夫了.目前我只清楚微信支付需要做签名, ...

  8. IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)

    定义 狭义的迪米特法则定义:也叫最少知识原则(LKP,Least Knowledge Principle).如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中的一个类需要调用 ...

  9. LeetCode560. Subarray Sum Equals K

    Description Given an array of integers and an integer k, you need to find the total number of contin ...

  10. Web Services 平台元素

    Web Services 拥有三种基本的元素:SOAP.WSDL 以及 UDDI. 什么是 SOAP? 基本的 Web services 平台是 XML + HTTP. SOAP 指简易对象访问协议 ...