您的位置:首页 > 其它

2016.9.15初中部上午NOIP普及组比赛总结

2016-09-15 15:38 288 查看

2016.9.15初中部上午NOIP普及组比赛总结

2016.09.15【初中部 NOIP普及组 】模拟赛

又翻车了!表示时超和空超很可恨!

进度

比赛:AC+0+0+20=120

改题:AC+80+0+100=280

一、Wexley接苹果

挺水的,考试时一开始理解错了题意,

想了半天转移方程。后来才发现,贪心就行了。

题目简化

(我想到了大富翁)

苹果一个个掉下来,必须接住全部的苹果。

盘子是有长度的,只要碰得到,就能接住!(神话!)

要求最小步数。

正解

贪心。

分三种情况

for(i=1,i<=k,i++) for i:=1 to k do

i:=1~k

1. 不用移动即可接住!ans:=ans;

2. 向左移才能接。用左边边缘接住。ans:=ans+abs(l-a[i]); l:=a[i]; r:=l+m-1;

3. 向右移才能接。用右边边缘接住。ans:=ans+abs(r-a[i]); r:=a[i]; l:=r+1-m;

二、Leo搭积木

空间超限!无语~

题目简化

有人无聊,想搭积木。

下面的长宽要大于上面的(不然,就倒了)

可以旋转。

最大高度。

正解

首先,把读入的分身成三个。

因为可旋转、长>=宽,

长放宽前面,高不管。

abh和bah

ahb和hab

bha和hba

哪个长就放左边

然后爆搜。

bz[i,j]表示i*j时的最高的高度。

在如果没有之前的高,就exit,否则更新。

可惜爆搜只能80。听说100DP。

三、Candy选首都

正在加载中。。。

四、Leopard学霸

改好久了!

题目简化:

没简化。

比赛思路

全加起来,水了20分。

正解

用堆做。

先以时间为关键字quick_sort。

弄一个小顶堆(作业量)

每到一个就看看它的时间是否大于num

如果满足则要插入。

不然要与ans[1]作比较,取最大的。

最后把堆里的数加起来

送上核心:

for i:=1 to n do
begin
if a[i,1]>num then
begin
inc(num);
ans[num]:=a[i,2];
up(num);
end else
begin
if a[i,2]>ans[1] then
begin
ans[1]:=a[i,2];
down(1);
end;
end;
end;


题外话:

1、这次题目不水。

2、堆不是很熟。

3、总之一个字——坑!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: