历年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 ...
随机推荐
- RandomAccessFile多线程下载、复制文件、超大文件读写
最近在准备面试,翻了翻自己以前写的Demo,发现自己写了不少的工具包,今天整理了一下,分享给大家. 本文包含以下Demo: 1.常用方法测试 2.在文件中间插入一段新的数据 3.多线程下载文件 4.多 ...
- JavaScript DOM 编程艺术(1)---> JavaScript语法
一. JavaScript语法目录 语法 操作 条件语句 循环语句 函数 对象 二. 具体内容 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一 ...
- 计算生日是星期几-soj
编写一个程序,只要输入年月日,就能回答那天是星期几. 输入一个日期,包括年.月.日.(一组测试数据) 输出这个日期是星期几. 输入: 1 1 1 2 1 1 2006 7 10 输出: Monday ...
- spring cloud feign不支持@RequestBody+ RequestMethod.GET,报错
1.问题梳理: 异常:org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not ...
- SSM框架的搭建
第一阶段: 1.用PowerDesign建数据模型,并导出SQL文件: 2.将SQL文件导入到MySQL客户端,建立表格: MySQL数据远程访问:GRANT ALL PRIVILEGES ON *. ...
- 正则表达式——Java程序员懂你
正则表达式 关键字:正则表达式,Pattern,Matcher,字符串方法,split,replace 前文书立下了一个flag,这里要把它完成,就是正则表达式,它是一个工具,是很早就存在于标准Uni ...
- 基于Node的高性能MVC框架
赶上公司去Windows化,有一大波.net站点需要转成Node.js,于是自己就顺便琢磨一个通用的Node版MVC框架. 经过几天的努力,beta版终于面世了!因为其高性能的特点,特地命名node- ...
- 前端页面适配的rem换算
为什么要使用rem 之前有些适配做法,是通过js动态计算viewport的缩放值(initial-scale). 例如以屏幕320像素为基准,设置1,那屏幕375像素就是375/320=1.18以此类 ...
- [Docker基础]Docker安装教程
Install Docker Docker支持几乎所有的Linux发行版,也支持Mac和Windows. 各操作系统的安装方法可参考Docker官网. 安装环境 ubuntu 16.04 Docker ...
- mshta 反弹shell
kali系统准备: 复制以下ruby代码到/usr/share/metasploit-framework/modules/exploits/windows/smb/msh_shell.rb目录(要注意 ...