历年NOIP选题题解汇总
联赛前上vijos板刷往年联赛题,使用在线编辑编写代码,祝我rp++。
废话不多说,挑比较有意思的记一下。
题目是按照年份排序的,最早只到了03年。
有些题目因为 我还没写/很早之前写的忘了 所以就没写题解。
NOIP2003
神经网络:按照题目怎么说怎么做,BFS即可。注意输出层是指出度为0的层,不是指深度最大的。
传染病防治:爆搜题,枚举每一层减掉哪个。复杂度不可算,理论在O(2^30*8!)左右,但好像强势不满。想了一会貌似卡不掉?
NOIP2004
虫食算:知二推三,边搜边判。
NOIP2005
篝火晚会:首先你得知道两个排列可以看成若干个环,而且每个点只要转一次就可以转出来……而这题正好是两个排列的形式,即找到一个1-n的环和原环匹配最多就是不要动的人。把每个人在环中的1的位置记下来取最多的就好了。
过河:把边权>=100的缩成100,因为长度过长没有意义,大于100了前面的情况必然可以凑出来,然后在1000下暴力DP即可。注意特判S=T的情况,还有不要以为给出的点都在L内。
等价表达式:随便找几个数字(1~20)带进去算在模意义下都相等就可以了(跟解方程的思想有点像?),重点是化为后缀表达式处理的trick。
NOIP2006
2^k进制数:大整数组合数。
NOIP2007
先坑着
NOIP2008
传纸条:显然的网络流,其实化为四维DP可做。
双栈排序:若存在i<j且A[i]>A[j],即A[j]在A[i]前面弹栈。因为A[i]最终也要出栈,所以比A[i]还要大的、在[i,j]中间的一定不能和A[i]在同一个栈中,即构成二分图。判断有解就是二分图染色。输出……反正我铁定WA的输出因为数据水过去了,不予置评。
NOIP2009
Hankson的趣味题:醉题,复杂度O(nsqrt(B)logB)但是跑得过?反正我是不会什么更好的解法……
最优贸易:SPFA求出从1出发能买进的最低阶,从n出发沿反向边能卖出的最高价,最后枚举边减掉就好了。
靶形数独:裸搜貌似有90?然后从已知信息最多的那个角落搜有100?还有很多剪枝就懒得加了(最优性啊之类)。
NOIP2010
关押罪犯:10年前的NOI题弱化版,二分答案+二分图染色/直接并查集补集都可以过。
引水入城:搜索处理覆盖线段,贪心/DP回答区间数量问题。
乌龟棋:强行四维存个数的一眼DP。
NOIP2011
计算系数:考你会不会杨辉三角。
聪明的质检员:数学直觉+二分答案。
观光公交:不知道为什么是对的贪心,然后O(nk)跑得过。题解的话这里。
NOIP2012
国王游戏:套路贪心,强行高精。
开车旅行:码量较大,set寻找下一步后倍增,注意最后一步的细节。
借教室:二分答案+差分看是否合法(线段树卡常好题)。
疫情控制:贪心神题,到根后尽量小的匹配小的。
NOIP2013
火柴排队:首先肯定是rank x对 rank x,然后就是一个交换问题。因为一次交换可以且仅可以减少一个逆序对,而最终序列没有逆序对,所以求出逆序对数就可以了。
积木大赛:治各种学傻。求出右-左的差值大于0的数的和即可(自证)。
花匠:简单DP或者直接找拐点。
华容道:毒瘤题,把65分的求最短路给预处理出来跑SPFA即可。
NOIP2014
联合权值:乘法分配律逆过来推,记得答案×2。
飞扬的小鸟:向上完全背包,向下0/1背包,细节巨多巨恶心。
寻找道路:先反过来BFS一遍,找到符合题目要求的点,然后直接BFS找最短路即可。
NOIP2015
子串:f[i][j][0/1]表示A到了i,B到了j,当前失配否的量,转移就很显然了。
NOIP2016
不太想写,生气。
NOIP2017
不想写,生气。
(坑先留着)
历年NOIP选题题解汇总的更多相关文章
- NOIP模拟题汇总(加厚版)
\(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 ...
- LeetCode All in One题解汇总(持续更新中...)
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...
- 洛谷NOIp热身赛题解
洛谷NOIp热身赛题解 A 最大差值 简单树状数组,维护区间和.区间平方和,方差按照给的公式算就行了 #include<bits/stdc++.h> #define il inline # ...
- LeetCode题解汇总(包括剑指Offer和程序员面试金典,持续更新)
LeetCode题解汇总(持续更新,并将逐步迁移到本博客列表中) LeetCode题解分类汇总(包括剑指Offer和程序员面试金典) 剑指Offer 序号 题目 难度 03 数组中重复的数字 简单 0 ...
- NOIP提高组历年真题题解
2018 铺设道路 差分水题,推一下结论就好了. #include<cstdio> #include<algorithm> using namespace std; ],d[] ...
- 历年NOIP真题总结
前言:最近把历年的NOIP真题肝了一遍(还有3个紫题先咕掉了),主要是到1998年的提高组的题.把题目的做题简要思路搁在这儿,一个是为了考前翻一翻,想想自己的哪些思路要梳理的什么什么的,反正怎么说呢, ...
- 历年NOIP水题泛做
快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...
- 历年NOIP回顾
2017.8.18 上午 NOIP2016 day1 T1 95 T2 40 T3 88 我感受到了绝望... T1当时没挂现在挂了. T2打了80的暴力,结果前面两个梯度的暴力全挂,后面两个却过了 ...
- bzoj题解汇总(1017-1020)
bzoj1017: 树形dp. 设\(f[i][j][k]\)表示当前在点\(i\),有\(j\)个用于上层合成,花费金币为\(k\)的最大攻击力. bzoj1018: 一题多解. http://ww ...
随机推荐
- Lua脚本在C++下的舞步
我是一名C++程序员,所以在很多时候,不想过多的使用Lua的特性,因为个人感觉,Lua的语法要比C++的更加灵活.而我更希望,在函数调用的某些习惯上,遵循一些C++的规则.好了,废话少说,我们先来看一 ...
- 在JQuery中如何获取当前时间?
////发表时间(now) function p(s) { return s < 10 ? '0' + s : s; } var myDate = new Date(); //获取当前年 var ...
- [ 面试没回答上的问题2]IOS上给body绑定click事件的bug
面试被问到ios上的bug,自己提到绑定click事件的bug,但是并没有把问题讲的很清楚,这里再清理一下思路. 这个bug只在IOS上有,包括ihone,ipad,由于ios浏览器都用的safari ...
- NodeJS网络爬虫
原文地址:NodeJS网络爬虫 网上有很多其他语言平台版本的网络爬虫,比如Python,Java.那怎么能少得了我们无所不能的javascript呢
- uva11636-Hello World!
题意:已知有一行printf(“Hello World!”\n);以后就可以复制,问多少次之后就可以达到所需要的行数. 题解:模拟: #include<iostream> #include ...
- Android OpenGL ES 开发(三): OpenGL ES 定义形状
在上篇文章,我们能够配置好基本的Android OpenGL 使用的环境.但是如果我们不了解OpenGL ES如何定义图像的一些基本知识就使用OpenGL ES进行绘图还是有点棘手的.所以能够在Ope ...
- 关路灯,洛谷dp
题目传送门https://www.luogu.org/problem/show?pid=1220 我们假设 dpij0 为目前最优值是在 i 位置,dpij1 为目前最优值是在 j 位置则 i 到 j ...
- 51Nod--1049最大子段和
1049 最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 N个整数组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a ...
- git操作之上传gitthub
push 失败解决方法: 分支操作: 分支操作之覆盖: 主master操作:
- (转)Python 日期和时间
转自http://www.runoob.com/python/python-date-time.html Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见 ...