noip2002提高组题解
再次280滚粗。今天早上有点事情,所以做题的时候一直心不在焉,应该是三天以来状态最差的一次,所以这个分数也还算满意了。状态真的太重要了。
第一题:均分纸牌
贪心。(昨天看BYVoid的noip2001题解的时候一不小心看到了2002的题解里的两个字,就是贪心,然后就很放心地写了,这算不算作弊啊。。。)
貌似我的方法挺奇怪的:遍历,计算出[卡牌数与平均数之差],在里面找到差最大的那堆卡牌,然后分别统计最大堆左边和右边的[卡牌数与平均数之差]的和,然后决定从最大堆中往哪边分牌以及分多少牌。如果堆两边[卡牌数与平均数之差]的和都为负,就向更小的那个方向分牌,分的牌数恰好等于该方向[卡牌数与平均数之差]的和的绝对值(绕来绕去好别扭);如果两边和一正一负,往负的方向分,分的牌数为正的方向之和加上最大堆自身的与平均数的差。
果然是很奇怪的策略。居然能一次AC我表示十分感动。
貌似网上的题解是依次而且是一次将各个牌堆变为目标状态。果然通俗易懂。
第二题:字串变换
又是字符串。。。NOIP两大坑:字符串和浮点。
看到最多10步果断想到ID-DFS,写起来各种方便,时间也还能忍受。不用多讲,每次查找替换然后往下搜索。ID-DFS所有点加起来居然只跑了0.7s,我是应该说数据太弱还是说学校测评机太好。。
1次AC。
第三题:自由落体
水题。但是我爆零了。而且还是不知道什么地方错了。反正是水题。错就错了。本题不需要题解。
目前仍爆零。不愿再做。
第四题:矩形覆盖
嗯,这道题目一开始看的时候确实会觉得很难。但是仔细分析之后发现搜索或者枚举就好。我用的是深搜,每次新扫描到一个点就修改当前矩形的上下左右边界,或者干脆另起一个矩形。注意点是要排序的,而且第一次按横坐标排序,搜索,第二次按纵坐标排序,再搜索。注意如果横坐标相同就纵坐标小的优先。在这个细节被卡掉一个点,所以只拿了80分。
经验教训:
1. 不要畏难;
2. 排序的时候注意当第一关键字相同时应该采取什么策略(第二关键字优先或者随意);
3. 不要高估了NOIP的题目。
noip2002提高组题解的更多相关文章
- noip2010提高组题解
NOIP2010提高组题解 T1:机器翻译 题目大意:顺序输入n个数,有一个队列容量为m,遇到未出现元素入队,求入队次数. AC做法:直接开1000的队列模拟过程. T2:乌龟棋 题目大意:有长度为n ...
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- NOIP 2001 提高组 题解
NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即 ...
- NOIP 2000 提高组 题解
NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod ...
- 【NOIP2018】提高组题解
[NOIP2018]提高组题解 其实就是把写过的打个包而已 道路铺设 货币系统 赛道修建 旅行 咕咕咕 咕咕咕
- NOIP2002 提高组
[NOIP2002] 提高组 T1.均分纸牌 算法:贪心(模拟) [分析]: 1.简化 2.过滤 3.辩证法 详见课件的例7 还有一种类似的思路是:求出平均值后,i←1 to n-1扫描,若a[i] ...
- NOIP2002[提高组] 均分纸牌 题解
题面 题目保证有解即纸牌总数能被人数整除(N|T)每个人持有纸牌a[1]...a[m],我们可以先考虑第一个人 1.若a[1]>T/M,则第一个人需要给第二个人c[1]-T/M张纸牌,即把c[2 ...
- noip2009提高组题解
NOIP2009题解 T1:潜伏者 题目大意:给出一段密文和破译后的明文,一个字母对应一个密文字母,要求破译一段密文,如果有矛盾或有未出现密文无法破译输出failed,否则输出明文. 思路:纯模拟题 ...
- noip2008提高组题解
第一题:笨小猴 模拟 第二题:火柴棒等式 搜索 深搜不用说,确定出两个加数然后判断能否拼出等式. 枚举确实不太好搞,因为枚举范围不确定,太大了容易超时,太小了容易漏解.不过这题的数据貌似很温和,我 ...
随机推荐
- oracle将两个结果连接后进行查询,得到两个查询的联合结果
一.需求 用户答题,共3道,必须3题都答完才能提交. 目的:要查询用户答对了几题,答错了几题.(当然此处可以只查答对的题目数,用3减即得答错题的题目数) 二.sql select * ) rightC ...
- cg 到hlsl的转换
http://msdn.microsoft.com/en-us/library/windows/desktop/ff471376(v=vs.85).aspx http://gamedev.stacke ...
- ZOJ1232 Adventure of Super Mario spfa上的dp
很早之前听说有一种dp是在图上的dp,然后是在跑SPFA的时候进行dp,所以特地找了一题关于在SPFA的时候dp的. 题意:1~a是村庄 a+1~a+b是城堡,存在m条无向边.求由a+b->1的 ...
- WAF安恒
http://wenku.baidu.com/view/c242927f581b6bd97e19ea1a.html?from=search
- Intent(二)
以Android高级编程一书中的一个例子为例: 1, 创建一个ContactPicker项目,其中包含一个ContactPicker Activity package com.paad.contact ...
- substr_replace()函数:将手机号中间4位隐藏为*号
<?php $mobile = "15810320826"; echo substr_replace($mobile,'****',3 , 4); ?> substr_ ...
- [2-sat]HDOJ3062 Party
中文题 题意略 学2-sat啦啦啦 2-sat就是 矛盾的 ($x.x’$不能同时取) m对人 相互也有限制条件 取出其中n个人 也有可能是把一件东西分成 取/不取 相矛盾的两种情况 (那就要拆 ...
- 李洪强iOS开发支付集成之微信支付
iOS开发支付集成之微信支付 微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在服务器上做签名,逻辑也比较好理解). 1 - 集成前首先要看看文档 开 ...
- *[topcoder]PalindromicSubstringsDiv2
http://community.topcoder.com/stat?c=problem_statement&pm=12967 计算一个字符串里Palindrome的数量.我的DP方法需要n^ ...
- iOS开发--多线程
前面在<Bison眼中的iOS开发多线程是这样的(二)>一文中讲完了多线程的NSThread,不难发现这种方式的多线程实现起来非常的复杂,为了简化多线程的开发,iOS提供了GCD来实现多线 ...