历年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

  不想写,生气。

  (坑先留着)

原文地址:https://www.cnblogs.com/fenghaoran/p/7801846.html