再次280滚粗。今天早上有点事情,所以做题的时候一直心不在焉,应该是三天以来状态最差的一次,所以这个分数也还算满意了。状态真的太重要了。

第一题:均分纸牌

贪心。(昨天看BYVoid的noip2001题解的时候一不小心看到了2002的题解里的两个字,就是贪心,然后就很放心地写了,这算不算作弊啊。。。)

貌似我的方法挺奇怪的:遍历,计算出[卡牌数与平均数之差],在里面找到差最大的那堆卡牌,然后分别统计最大堆左边和右边的[卡牌数与平均数之差]的和,然后决定从最大堆中往哪边分牌以及分多少牌。如果堆两边[卡牌数与平均数之差]的和都为负,就向更小的那个方向分牌,分的牌数恰好等于该方向[卡牌数与平均数之差]的和的绝对值(绕来绕去好别扭);如果两边和一正一负,往负的方向分,分的牌数为正的方向之和加上最大堆自身的与平均数的差。

果然是很奇怪的策略。居然能一次AC我表示十分感动。

貌似网上的题解是依次而且是一次将各个牌堆变为目标状态。果然通俗易懂。

第二题:字串变换

又是字符串。。。NOIP两大坑:字符串和浮点。

看到最多10步果断想到ID-DFS,写起来各种方便,时间也还能忍受。不用多讲,每次查找替换然后往下搜索。ID-DFS所有点加起来居然只跑了0.7s,我是应该说数据太弱还是说学校测评机太好。。

1次AC。

第三题:自由落体

水题。但是我爆零了。而且还是不知道什么地方错了。反正是水题。错就错了。本题不需要题解。

目前仍爆零。不愿再做。

第四题:矩形覆盖

嗯,这道题目一开始看的时候确实会觉得很难。但是仔细分析之后发现搜索或者枚举就好。我用的是深搜,每次新扫描到一个点就修改当前矩形的上下左右边界,或者干脆另起一个矩形。注意点是要排序的,而且第一次按横坐标排序,搜索,第二次按纵坐标排序,再搜索。注意如果横坐标相同就纵坐标小的优先。在这个细节被卡掉一个点,所以只拿了80分。

经验教训:

1. 不要畏难;

2. 排序的时候注意当第一关键字相同时应该采取什么策略(第二关键字优先或者随意);

3. 不要高估了NOIP的题目。

noip2002提高组题解的更多相关文章

  1. noip2010提高组题解

    NOIP2010提高组题解 T1:机器翻译 题目大意:顺序输入n个数,有一个队列容量为m,遇到未出现元素入队,求入队次数. AC做法:直接开1000的队列模拟过程. T2:乌龟棋 题目大意:有长度为n ...

  2. NOIP 2014 提高组 题解

    NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...

  3. NOIP 2001 提高组 题解

    NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即 ...

  4. NOIP 2000 提高组 题解

    NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod ...

  5. 【NOIP2018】提高组题解

    [NOIP2018]提高组题解 其实就是把写过的打个包而已 道路铺设 货币系统 赛道修建 旅行 咕咕咕 咕咕咕

  6. NOIP2002 提高组

    [NOIP2002] 提高组 T1.均分纸牌 算法:贪心(模拟) [分析]: 1.简化 2.过滤 3.辩证法  详见课件的例7 还有一种类似的思路是:求出平均值后,i←1 to n-1扫描,若a[i] ...

  7. NOIP2002[提高组] 均分纸牌 题解

    题面 题目保证有解即纸牌总数能被人数整除(N|T)每个人持有纸牌a[1]...a[m],我们可以先考虑第一个人 1.若a[1]>T/M,则第一个人需要给第二个人c[1]-T/M张纸牌,即把c[2 ...

  8. noip2009提高组题解

    NOIP2009题解 T1:潜伏者 题目大意:给出一段密文和破译后的明文,一个字母对应一个密文字母,要求破译一段密文,如果有矛盾或有未出现密文无法破译输出failed,否则输出明文. 思路:纯模拟题 ...

  9. noip2008提高组题解

    第一题:笨小猴 模拟   第二题:火柴棒等式 搜索 深搜不用说,确定出两个加数然后判断能否拼出等式. 枚举确实不太好搞,因为枚举范围不确定,太大了容易超时,太小了容易漏解.不过这题的数据貌似很温和,我 ...

随机推荐

  1. Ajax出入江湖

    window.onload = initAll; var xhr = false; function initAll() { if (window.XMLHttpRequest) { xhr = ne ...

  2. 表中相同数据的sql语句

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select   peopleId from  ...

  3. 【设计模式六大原则5】迪米特法则(Law Of Demeter)

      定义:一个对象应该对其他对象保持最少的了解. 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. 解决方案:尽量降低类与类之间的耦合. 自从我们接触编程开始 ...

  4. POJ 1663

    #include<iostream>//cheng da cai zi using namespace std; int main() { int time; cin>>tim ...

  5. Oracle 9 - 分析undo和snapshot too old错误

    什么操作会生成undo INSERT生成的UNDO最少,只要记录新的rowid UPDATE生成的undo多一点,它要记录修改前的数据中的那部分. DELETE生成最多的undo, 因为它要记录整行被 ...

  6. 【转】Android 实现“再按一次退出程序”

    From:http://blog.csdn.net/ldj299/article/details/7574365 个人觉得当用户按下后退键时,出现"再按一次退出"的提示防止误操作比 ...

  7. 使用Css截取字符串

    white-space:nowrap; /* 禁止自动换行 */ overflow:hidden; /* 隐藏溢出的内容 */ text-overflow:ellipsis; /* 溢出文本使用... ...

  8. lintcode:合并两个排序链表

    题目: 合并两个排序链表 将两个排序链表合并为一个新的排序链表  样例 给出 1->3->8->11->15->null,2->null, 返回 1->2-& ...

  9. hdu 4474 Yet Another Multiple Problem

    题意: 找到一个n的倍数,这个数不能含有m个后续数字中的任何一个 题解: #include<stdio.h> #include<string.h> #include<qu ...

  10. 【Linux高频命令专题(8)】五大查询命令

    find 格式 find 路径 -命令参数 [输出形式] 路径:告诉find在哪儿去找你要的东西 命令参数:参考下面 输出形式:输出形式很多,-print,-printf,-print,-exec,- ...