历年NOIP提高组初赛问题求解大总结

hicc0305

2018-09-20 17:50:10

Personal

虽然说是大总结,但总归没有全部都在上面持续更新中。。。。 ------------ ## 2005 1.将数组{32, 74, 25, 53, 28, 43, 86, 47}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换___次。 2.取火柴游戏的规则如下:一堆火柴有N根,A、B两人轮流取出。每人每次可以取1根或2根,最先没有火柴可取的人为败方,另一方为胜方。如果先取者有必胜策略则记为1,先取者没有必胜策略记为0。当N 分别为100,200,300,400,500 时,先取者有无必 胜策略的标记顺序为(回答应为一个由0和/或1组成的字符串)。 第一题 把不在自己位子上的,暴力换到自己位子上即可,一共是5次 第二题 小学奥数。。。~~膜~~模3不余0就能必胜。 ------------ ## 2008 ![](https://cdn.luogu.com.cn/upload/pic/34526.png) 第一题 不多说,脑内最短路,多做几遍吧。。 第二题 这道题其实可以转化为排列组合的插空。。其实就是不管哪本书把4本书插到另外17本书之间,有几种插法,也就是有几种选法,答案是$C_{18}^4$=3060 ------------ ## 2009 ![](https://cdn.luogu.com.cn/upload/pic/34640.png) 画风突变有没有。。谁让洛谷出了初赛专用题库。。太好用了。 第一题 题目都告诉你是拓扑排序了,直接模拟一下。首先排出1 2 3 4 6,然后把7插进去,有两种情况分别是1 2 3 7 4 6,1 2 3 4 7 6,然后把5插进去,一共$2*6=12$中情况。然后。。。千万别忘了右边还有一个8和9。。。7个数一共8个空,选两个空,或者一个空插进去是$C^2_8+C^1_8=36$,然后一共$12*36=432$种。枚举大佬应该没有吧。。 第二题 这个。。洛谷题目不太对,四种货币是:1,7,49(7^2),343(7^3),震惊,洛谷的上角标被吃掉了。。然后手动算。。付款:$343*29+49+7*3=10017$,还2个一块钱。一共流通35张 ------------ ## 2010 ![](https://cdn.luogu.com.cn/upload/pic/37176.png) 第一题 不多说,直接暴力模拟就行了,答案“yyxy xx yyxy xyx xx xyx” 第二题 不存在由奇数条边构成的简单回路的图,其实就是二分图,于是,把这7个点分成(3,4)就行了,答案是12 第三题 自己有点说不清楚。。 ![](https://cdn.luogu.com.cn/upload/pic/37181.png) ------------ ## 2013 ![](https://cdn.luogu.com.cn/upload/pic/36991.png) 第一题 这道题很水,首先我们可以从第5个问题轻轻松松的知道a1=0,然后我们代到第一个问题就可以知道a2=1,然后把a2代到3,就知道了a3=1,然后再代到2,我们就又轻松的知道了a4=1。所以答案就是0,1,1,1 第二题 ~~这只青蛙(蛤蟆 没事跳来跳去干什么真是的~~ 这种跳来跳去的题目我们依然用DP解决,我们用f[i]表示有i片荷叶跳到i平均要几次。那么f[1]=0,f[2]=2,f[3]=2.5,f[4]可以从1,2,3转移过来,$f[4]=(f[1]+1)*\frac{1}{4}+(f[2]+1)*\frac{1}{4}+(f[3]+1)*\frac{1}{4}+(f[4]+1)*\frac{1}{4}$,解出来$f[4]=\frac{17}{6}$,那么同理$f[5]=\frac{37}{12}$ ------------ ## 2014 ![](https://cdn.luogu.com.cn/upload/pic/33550.png) 第一题 首先我们可以把两个1和两个8单独拿出来。然后分情况讨论:1.四个数都取1,1,8,8那么显然,这种情况的排列一共有6种,其实枚举一下就可以了。 2.这四个数里面取三个,那么就有1,1,8和1,8,8两种情况,对于1,1,8排列一共有3种,然后插2或4情况有两种,插的位置又有4种情况,然后最后还要在乘个二,因为1,1,8和1,8,8是一样的,所以一共$2*3*2*4=48$种情况。 3.那么最后是四个里面有两个(只有一个显然不行),一共有(1,1)、(1,8)、(8,1)、(8,8)四种情况,然后处理插进2,4这两个数,先让前面定的两个数选位子是$C^2_4=6$,然后讨论2在前面还是4在前面,于是总共$4*6*2=48$ 于是,一共48+48+6=102种 第二题 手动跑spfa,最后跑出来,应该是这样的(数字代表最后的距离)A:0 B:3 C:4 D:12 E:15 F:5 G:4 H:7 I:11 注意,F可以经过A->B->C->F得到!这样跑出来要小,所以最后的答案是15而不是16。 ------------ ## 2015 ![](https://cdn.luogu.com.cn/upload/pic/33670.png) 第一题 这个么。。容斥原理。。。2015-(4的倍数的个数+5的倍数的个数+6的倍数的个数-20的倍数的个数-12的倍数的个数-30的倍数的个数+60的倍数的个数) -> 2015-(403+335+503-100-167-67+33)=1075 第二题 听说是一个叫卡特兰数的东东?那么如果您是暴枚巨佬,我就不多说了orz。然后我们看一下正常做法:用f[n]表示节点数为n的构成的不同形态的二叉树的种树,那么有这么几种情况:左子树节点个数为0,右子树为n-1;左子树节点个数为1,右子树为n-2;……左子树节点个数为n-1,右子树为0。所以说:$$f[n]=\sum_{i=0}^n f[i]*f[n-i-1]$$ OK,最后f[5]=42 ------------ ## 2016 ![](https://cdn.luogu.com.cn/upload/pic/36846.png) ![](https://cdn.luogu.com.cn/upload/pic/36847.png) 第一题: DP大法好,用f[i][0]存i位为0的方案数,f[i][1]存i位为1的方案数,转移方程就分简单了f[i][0]=f[i-1][0]+f[i-1][1],f[i][1]=f[i-1][0],最后算出来就是55啦 第二题: 很简单,凑一凑就好了,正确打开方式应该是dancing link,没错,但是随便凑凑也能凑出来啦。分组:1.通用,化学,政治 2.物理,历史 3.生物,地理 ------------ ## 2017 ![](https://cdn.luogu.com.cn/upload/pic/37157.png) 第一题 其实只用试试就行了。首先,最右边那个1肯定通过改变最右边那个0得到,改变自己显然不优。于是有四个1连在一起,我们显然改变最中间的,然后翻过来之后发现,只剩上面两个格子是1了,然后我们只用改变最上面的格子就行了。一共三次 第二题 这就是一道最小割,转化为求最大流即可,这题的最大流真是再好求不过了,显然是4。后一空的话。。搜了一下据说是什么最小割转对偶图?然而我看不懂对偶图是什么,然后于是就只能暴力数。。但事实证明数不对。。不管怎样答案是9。 好的,成功搞懂了这道题的正解。。 我们可以把这个最小割转化为求最短路,为什么是最短路?我把对偶图搞出来你就知道为什么是最短路了。 首先这个图是一个平面图,我们可以把图下面的平面当成s,图上面的部分当成t,就像这样: ![](https://cdn.luogu.com.cn/upload/pic/37294.png) 然后再把边分割成的每一个平面都当做一个点,像这样: ![](https://cdn.luogu.com.cn/upload/pic/37295.png) 是不是看出了一点端倪呢。。我们再把相邻的区块上的点连起来: ![](https://cdn.luogu.com.cn/upload/pic/37296.png) 然后再附上边的权值,每条新的边的权值就是与它交叉的老边的权值,擦掉原图就是: ![](https://cdn.luogu.com.cn/upload/pic/37298.png) 是不是知道了呢?没错!答案就是这个图的最短路,这个图就是原图的对偶图。选了一条边走,就相当于在原图上切掉与这条边交叉的边。这样第二空也就好求多了,我们只用统计出长度为4的路条数就行了,就好模拟多了。