2016.10.6初中部上午NOIP普及组比赛总结
2016.10.6初中部上午NOIP普及组比赛总结
中了病毒……病毒……病毒……
进度:
比赛:AC+0+0+20=120
改题:AC+0+AC+20=220
Stairs
好——简——单!递推就过了。
题目简化:
有一个楼梯,有些阶梯是空的,
求上楼梯的方案数。
比赛思路:
这题很明显就是一个递推。
为什么呢?因为以前做过。
设f[i]代表到i层时的方案数。
f[0]:=1;
f[i]:=f[i-1]+f[i-2]+f[i-3];
然后加上高!精!度!
为什么加高精度呢?因为我手痒,
输入了一个100。答案看起来好像是对的呢!
我用了个循环把1到100全输了,居然有一个惊天动地的发现:
居然存在负数!!!
当数字超出范围时,会从头开始。
我本来以为把它变成qword就行了,
结果发现它变成qword之后后面的居然比前面的小!!!
所以就打了高精度。
正解:
同上。
Queen
中病毒啦!我自己给自己封一个
题目简化:
有n个人,要站在n^2的棋盘上。
它们不希望上下左右有人,
也不希望它的附近的一个位置有人。
而且棋盘有很多破烂的地方。
问时间/方案数。
比赛思路:
爆搜。
只有一个参数:到第几行(可以理解为到第几个人)
然后每到一个位置就看看是否符合条件,
如果符合就往下搜。搜完要回溯。
错因:
文件输入输出,题目欺负人!一开始是unedfined,后来改了!!!
中了CDY病毒!!也许是oj的bug吧。
在下面用了文件输入输出,答案完全正确,可交到上面就运行时错误了。
我请很多人来看都看不出。
正解:
同上。
记得判断最后的ans!
Pond
这题我都成傻子了,到考试后面猛地发现这很简单。
题目简化:
我说一下题目欺负人的意思。
有n个石头和n个莲叶,还有2个空。
每次只能移动相邻的进入空里,
变成‘__XOXOXO……’的形式。
比赛思路:
这是一个很贱的方法:
看看样例:
XXXXXXOOOOOO__
XXXXX__OOOOOXO
XXXXXOOOOO__XO
XXXX__OOOOXOXO
XXXXOOOO__XOXO
XXX__OOOXOXOXO
XXXOXOO__OXOXO
X__OXOOXXOXOXO
XOXOXO__XOXOXO
__XOXOXOXOXOXO
可以把两个分一组。
XXXXXXOOOOOO__
XXXXX__OOOOOXOXXXXXOOOOO__XO
XXXX__OOOOXOXO
下面六行用数据库存起来。
可以发现,一开始是n=6的情况,
下面的是n=5、n=4。
n=4时就直接是那个数据库。
所以我就联想到了递归。
p:=p+p(n-1);
↑↑↑↑↑↑↑↑↑↑↑↑↑
照抄是错的哟!
因为每个后面都要补上一堆的XO。
友情提醒:Enter=chr(13),换行=chr(13)+chr(10)
正解:
同上↑
Power
百度优先搜索害人害己……
题目简化:
一堆石子,两个融合的话就会爆发能量,
伤到自己,所以我们要让自残指数能量最少。
比赛思路:
贪心,每次都选最小的那对。
还用了模拟链表……
正解:
您的浏览器已陷入死循环中,请退出……
题外话:
1. 任何事情别想复杂。
2. 不要相信题目仁慈。