zoukankan      html  css  js  c++  java
  • 2016.9.15初中部上午NOIP普及组比赛总结

    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搭积木
    空间超限!无语~
    题目简化
    有人无聊,想搭积木。
    下面的长宽要大于上面的(不然,就倒了)
    可以旋转。
    最大高度。
    正解
    首先,把读入的分身成三个。
    因为可旋转长>=宽
    长放宽前面,高不管。

    1. abh和bah
    2. ahb和hab
    3. 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、总之一个字——坑!

  • 相关阅读:
    值得学习的东西
    【单调队列】转载
    dom基础3 — 简易版template.js
    js基础6 — 数组对象
    js基础6 — 字符串基本操作
    js基础5 — 将十六进制颜色转为rgba()
    js基础4 — 数组操作
    placeholer属性修改
    clipboard.js实现复制到剪切板
    JS 获取指定日期在当年的第几周
  • 原文地址:https://www.cnblogs.com/jz-597/p/11145339.html
Copyright © 2011-2022 走看看