2016.10.4初中部下午NOIP普及组比赛总结
2016.10.4初中部下午NOIP普及组比赛总结
这次的题有些水,只是第四题有点坑。
题目:
比赛:AC+0+AC+50=250
改题:AC+AC+AC+50=350
一、Bill
满地都是水
题目简化:
不要管前面的一大段话,你只需知道,读入当中是前面的欠后面的。
欠的为正,被欠的为负,没有的为0。
比赛思路:
inc(ans[前面的]);
dec(ans[后面的]);
直接输出。
正解:
同上。
二、Exam
和前几天的Leopard学霸差不多,改改就好了。
题目简化:
没简化。
有一段时间,有很多题目,每一道题有分值和限定时间。
每做一题的时间只需一分钟(反正是一段时间就好了)。
求在限定时间内最多的分值。
比赛思路:
这题有些奇怪,分值加起来也加不过“总分”。所以先不要管什么总分。
自己设总分先为sum(w[i]),把结果变成“总分”-(真正总分-ans)
然后爆搜。
错因:
时超0分。
正解:
把爆搜换成堆。
这一部分见Leopard学霸。
三、Note
前几天刚做过!
见2016.9.24初中部上午NOIP普及组比赛总结\Note
四、Map
含金量好高。这种题目我好像在哪本奥数书见过。
题目简化:
一堆有一个边长度为1的纸条拼成一个矩形。
而且越接近正方形就越好。
两条边当中先输出教小的。
比赛思路:
方法一:
水法,直接求出纸条面积的和,
然后枚举他的因数,取最中间的。
比如24=4*6=3*8=2*12=1*24
取4*6。(枚举时直接sqrt(sum)downto 1)
能水50分。
方法二:
觉得水法不安全。
所以用递归
ok(x,y)为边长分别为x,y时是否能过
ok:=ok(x-1,y)and ok(1,y)or ok(x,y-1)and ok(x,1);
如果这个之前算过就直接exit(bz[x,y]);
否则bz[x,y]:=ok;
当时我的感受:啊!我太机智了!
结果是一个残酷的50分,
与水法无异。
错因:
水法必错。
方法二没考虑数量。
正解:
loading……
题外话:
1. 国庆集训开始了,正所谓“暑假变寒假,寒假变国庆,国庆变中秋,中秋变双休,双休变一日。”
2. 今天的题目有两道是出现过的。
3. 审题是关键