码迷,mamicode.com
首页 > 其他好文 > 详细

noip2004提高组题解

时间:2017-04-29 19:52:43      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:就会   零花钱   简单   单调队列   序列   最小   队列   style   提高   

T1.津津的储蓄计划

有一个小屁孩津津要零花钱,妈妈每个月给他300元,如果他手上的钱足够预算,就会把整百的钱存在妈妈那里(比如当月预算180元,手上83元,妈妈给了300元,就会存200元),然后年底妈妈会将存的钱加20%还给津津。如果出现某个月不够预算,输出“-月份”(如“-7”),否则输出津津年底会有多少钱。

 

简单的模拟,只要算出每个月存多少,月底剩下多少就好了。

 

T2.合并果子

给你n堆果子,用n-1次将其合成一堆,每次消耗两堆果子重量和的体力。求最小体力。

直接裸堆就好了,每次取堆顶两个,合成一堆塞回去就好了。

然后还可以单调队列优化,因为满足原来要合并的数和新合成的数分别单调,所以开两个队列就好了。

 

T3.合唱队形

给出n个人的序列和每个人的身高,现在要求一个单峰的排列,使得出列的人最少。输出最小出列数。

只要从前往后和从后往前做一遍LIS就好了。然后对于每一位,算出最大的保留人数就好了。

 

 

 

T4.虫食算

给出n进制的加法算式,0~n-1分别用前n个字母表示,给出一个加法算式,每个加数以及和各占一行,每行n位。求每个数分别代表什么数字并输出。

一开始想到先枚举每个字母,然后判断是否有可以判断的列用来剪枝。。。然后最后输出。。。结果拿了60分(WA的10我也不知道啊)

然后一种实际上稍微快一点的是按列处理,每列分成8种情况,(2^3),然后枚举每种情况的可能解进行递归。。这个比较方便的地方是,可以保证每一列都不会冲突,可以及时排除错误情况。但是代码很长很长,写起来很累。。(so long??其实很像的可以复制粘贴)

noip2004提高组题解

标签:就会   零花钱   简单   单调队列   序列   最小   队列   style   提高   

原文地址:http://www.cnblogs.com/zcyhhh/p/6785894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!