首页 > 代码库 > noip2004提高组题解
noip2004提高组题解
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提高组题解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。