2016.9.10初中部上午NOIP普及组比赛总结
链接:https://jzoj.net/junior/#contest/home/1340
好不爽!翻车了!不过排名差不多在中间偏上一点,
还好不是中下……
进度:
比赛:10+0+30+30=70
改题:40+100+30+30=200
题目:
一、WZK旅游
链接:https://jzoj.net/junior/#contest/show/1340/0
坑!好好的一个宽搜,奇怪的一个时超!
题目简化:
一个数阵,有几个数连在一起,
他们周围如果都<=他们,就是湖
反之,就是山。
正解:
宽搜,宽搜!
像细胞一样枚举一团一团的平的,
湖/山。
然后就没有然后了。
二、WZK打雪仗
链接:https://jzoj.net/junior/#contest/show/1340/1
好难好难,被钟哥讲了后阔然开朗。
题目简化:
圆上2n个人
两点之间连一线,
连线方案数。
正解:
DP(还是递推?)
设f[i]为有2n人的方案数:
f[i]:=sum(f[j]*f[i-j-1]);
i:=2~n
j:=0~i-1
初始化:
f[0]=f[1]=1
三、饥饿的WZK
链接:https://jzoj.net/junior/#contest/show/1340/2
爆搜时超
题目简化:
有几个区间,选一部分,使得
数最多,且不重叠。
正解:
快排
爆搜记忆化,
bz[i,j]为i~j最多的个数。
然后搜。
四、小口口矩阵
链接:https://jzoj.net/junior/#contest/show/1340/3
时间超限!!!!!!!!!!!!!!!!
题目简化:
没简化。(我想到了扫雷)
正解:
全排列!(我一开始只以为是找规律)
但是会爆,
所以吕(女)同学教了我们一下方法:
- 数组一维化。上-3,下+3,左-1,右+1。
- 分步判断,每走一步就判断一下。
- 输入为0的变成9
- 为了防坑不要顺序枚举(你可以random)例如(1,9,2,8,3,7,4,6,5)。
用这些剪枝/优化/水法即可AC
题外话:
1.这次题好坑
2.猛地发现编译指令({$ 语句}
)好好用。
(那些视野狭窄、自高自大、不懂的学霸们别插嘴)。
3.其实有时候,莫名其妙的时超,就别改了