1、前言

  迎接NOIP的到来。。。在这段闲暇时间,决定刷刷水题。这里只是作非常简单的一些总结。

2、NOIP2014

<1> 生活大爆炸之石头剪刀布(模拟)

这是一道考你会不会编程的题目。。。方法有很多,预处理输赢矩阵,或者一大堆if什么的乱搞就行了。

<2> 联合权值(搜索)

简单的树上求解问题,由于只需要长度为2的链,只要能够清楚地分析出各种情况,一遍DFS直接出来:自身节点与祖父节点有一对;自身节点与兄弟节点有若干对。在计算权值的时候存在一个优化,即如果每次得到一对之后就计算貌似会超时,我们可以对于每一个点记录与其距离为2的点,求和,最后在相乘。

<3> 飞扬的小鸟(动态规划)

完全背包动态规划+优化。个人感觉70分的裸DP比50分暴力还好拿些,毕竟搜索写起来比较麻烦。但是由于n<=10^5(貌似是的?),O(n^2)是过不了的,需要强加优化至O(n log n)。

<4> 无线网络发射器(模拟)

这道题给我们的教训就是,预估时间复杂度是很重要的。听说考场上有多人加些优化然后跪了的。。。数据范围极小,所以我们暴力枚举地图上所有点,然后求在发射器范围内点的个数,所以这又是一道考你会不会变成的题目。

<5> 寻找道路(搜索/最短路)

正反进行两次搜索(DFS/BFS/SPFA均可,但是推荐BFS+SPFA),第一次求得所有可以经过的点;第二次直接跑就是了。

<6> 解方程 (高精度/哈希/其他)

这次NOIP唯一上点档次的题目吧?30分暴力;50分直接高精度;70分的话就需要一定技巧了,取几个合适的模,然后进行判断,在取模意义下为0就认为是为0。注意到在mod p的情况下,将x和x+kp代入,解显然是相同的,所以随便搞搞就行了。用FFT什么的就不说了。

3、NOIP2013

<1> 转圈游戏(GCD+快速幂)

转圈次数无比之大,但是显然结果是存在循环的。首先通过寻找规律,求得循环节,然后利用快速幂,求得答案。

<2> 火柴排队(逆序对+树状数组)

这道题个人觉得有点非主流。首先我确保我考场上写搜索,写贪心,写动规,但是觉得不会知道逆序对这种东西,况且我YY能力也是有限的。。。。知道逆序对之后,基本就保证80分了,因为直接O(n^2)循环就行了;但是由于100分数据,n<=10^5,故需要利用树状数组优化到O(n log n)。

<3> 货车运输(最大生成树+倍增LCA)

裸生成树30分。对于100分,首先用Kruskal算法求出最大生成树,然后可以利用树上倍增LCA加速。也是刚刚学会的。

<4> 积木大赛(二分)

每次一排排搭积木可以看成一排排删积木,二分查找当前区间中最小值,然后删去,以最小值点为中点,再分别求解。

<5> 花匠(贪心/动态规划)

贪心好!写!多!了!去年这个时候还不是很理解,为自己智商捉急。动规也不是很难,70分很轻松,但是想要100的话需要稍微想一想。强烈推荐贪心。

<6> 华容道(最短路)

60分直接用BFS解决。100分的话需要利用SPFA优化每一遍BFS所走的重复的路。

[题解+总结]NOIP2013-2014提高组题目浅析的更多相关文章

  1. NOIP2013-2014提高组题目浅析

    1.前言 迎接NOIP的到来...在这段闲暇时间,决定刷刷水题.这里只是作非常简单的一些总结. 2.NOIP2014 <1> 生活大爆炸之石头剪刀布(模拟) 这是一道考你会不会编程的题目. ...

  2. NOIP 2014 提高组 题解

    NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...

  3. noip 2014 提高组初赛

    noip 2014 提高组初赛 一. TCP协议属于哪一层协议( ) A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 B TCP(传输控制协议) 若有变量int a; float: x, ...

  4. NOIP提高组题目归类+题解摘要(2008-2017)

    因为前几天作死立了一个flag说要把NOIP近十年的题目做一做,并写一个题目归类+题解摘要出来,所以这几天就好好的(然而还是颓废了好久)写了一些这些往年的NOIP题目. 这篇博客有什么: 近十年NOI ...

  5. 题解【luoguP1351 NOIp提高组2014 联合权值】

    题目链接 题意:给定一个无根树,每个点有一个权值.若两个点 \(i,j\) 之间距离为\(2\),则有联合权值 \(w_i \times w_j\).求所有的联合权值的和与最大值 分析: 暴力求,每个 ...

  6. 题解【luoguP1525 NOIp提高组2010 关押罪犯】

    题目链接 题解 算法: 一个经典的并查集 但是需要用一点贪心的思想 做法: 先将给的冲突们按冲突值从大到小进行排序(这很显然) 然后一个一个的遍历它们 如果发现其中的一个冲突里的两个人在同一个集合里, ...

  7. 题解 【luoguP1967 NOIp提高组2013 货车运输】

    题目链接 题解 题意 给你一个无向图,求两个点之间的一条路径,使路径上的最小值最大 算法:Kruskal最大生成树+倍增lca 分析 首先容易知道,答案一定在该图的最大生成树上 之后问题便转换成了树上 ...

  8. noip 2014 提高组 Day 2

    1.无线网络发射器选址 这道题数据范围很小,就直接暴力枚举就好了.为了提高速度,就从每个有公共场所的点枚举周围在(x,y)放无线网路发射器可以增加的公共场所数量,加到一个数组里.所有公共场所都处理完了 ...

  9. NOIP 2014 提高组 Day2

    期望得分:100+60+30=190 实际得分:70+60+30=160 https://www.luogu.org/problem/lists?name=&orderitem=pid& ...

随机推荐

  1. saltapi中expr_form参数的使用

    以前,一直用compound参数, 现在,想要并行执行salt命令,那list就派上用场了. 同时传多个主机列表,用逗号分隔,然后,用list参数传,就好. [root@c1773 deployop] ...

  2. Mishka and Interesting sum Codeforces Round #365 (树状数组)

    树状数组,与Turing Tree类似. xr[i]表示从1到i的抑或,树状数组维护从1到i每个数只考虑一次的异或,结果为sum(r) ^ sum(l) ^ xr[r] ^ xr[l] 其中xr[r] ...

  3. golang json 包简单分析

    首先上代码: func main() { b := true a1, _ := json.Marshal(b) a2, _ := Marshal(b) fmt.Println(string(a1)) ...

  4. JavaScript 简介

    JavaScript是一种专为网页交互而设计的脚本语言,由下列三个不同的部分组成: ECMAScript,由ECMA-262 定义,提供核心语言功能: DOM, 提供访问和操作网页内容的方法和接口; ...

  5. html5 三角形

    html5 三角形 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

  6. C# 获取wave文件信息【转】

    public class WaveHelper { /// <summary> /// 数据流 /// </summary> private Stream m_WaveData ...

  7. Callable接口、Runable接口、Future接口

    1. Callable与Runable区别 Java从发布的第一个版本开始就可以很方便地编写多线程的应用程序,并在设计中引入异步处理.Thread类.Runnable接口和Java内存管理模型使得多线 ...

  8. MySQL的多表查询(笛卡尔积原理)

    先确定数据要用到哪些表. 将多个表先通过笛卡尔积变成一个表. 然后去除不符合逻辑的数据(根据两个表的关系去掉). 最后当做是一个虚拟表一样来加上条件即可. 注意:列名最好使用表别名来区别. 笛卡尔积 ...

  9. Android Manifest 权限描述大全

    权限 名称 描述 android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permis ...

  10. css3易混淆属性详解

    1.background,  background-color,   color (1)background:在一个声明中设置所有属性: 如:background: #00FF00 url(bgima ...