收藏本页
联系我们
论坛帮助

>> 关于竞赛设计的各种算法,欢迎大家到此讨论
趣题之家信息学竞赛算法艺术 → 送给没有NOIP2004提高组复赛试题的同学们

  发表一个新帖子  发起一个新投票  回复本主题 您是本帖的第 3652 个阅读者
  标题:送给没有NOIP2004提高组复赛试题的同学们 树形   打印   收藏   推荐  
     美女呀,离线,快来找我吧!
    
    
    等级:新手上路
    文章:9
    积分:70
    注册:2004-11-22
给AG发送一个短消息 把AG加入好友 查看AG的个人资料 搜索AG在的所有贴子 点击这里发送电邮给AG 引用回复这个贴子 回复这个贴子 楼主
发贴心情 送给没有NOIP2004提高组复赛试题的同学们
====================
= 您没有浏览该精华帖子的权限 =
====================

You will feel alone when alone.
  
发贴IP已设置保密 2004-11-22 13:25
       
     美女呀,离线,快来找我吧!
    
    
    等级:新手上路
    文章:9
    积分:70
    注册:2004-11-22
给AG发送一个短消息 把AG加入好友 查看AG的个人资料 搜索AG在的所有贴子 点击这里发送电邮给AG 引用回复这个贴子 回复这个贴子 2
发贴心情
合并果子
(fruit.pas/dpr/c/cpp)

【问题描述】
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。
每一次合并,多多可以把两堆果子合并在一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。
因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数量,你的任务就是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。
例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。

【输入文件】
输入文件fruit.in包括两行,第一行是一个整数n(1<=n<=30000),表示果子的种类数。第二行包含n个整数,用空格分隔,第i个整数ai(1<=ai<=20000)是第i种果子的数目。

【输出文件】
输出文件fruit.out包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于231。

【样例输入】
3
1 2 9

【样例输出】
15

【数据规模】
对于30%的数据,保证有n<=100;
对于50%的数据,保证有n<=5000;
对于全部的数据,保证有n<=30000。


You will feel alone when alone.
发贴IP已设置保密 2004-11-22 13:25
       
     美女呀,离线,快来找我吧!
    
    
    等级:新手上路
    文章:9
    积分:70
    注册:2004-11-22
给AG发送一个短消息 把AG加入好友 查看AG的个人资料 搜索AG在的所有贴子 点击这里发送电邮给AG 引用回复这个贴子 回复这个贴子 3
发贴心情
合唱队形
(chorus.pas/dpr/c/cpp)

【问题描述】
N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。
合唱队形是指这样的一队队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足T1<T2<…<Ti,Ti>ti+1>…>TK(1<=i<=K)。
你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

【输入文件】
输入文件chorus.in第一行是一个整数N(2<=N<=100),表示同学的总数。第二行有n个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。

【输出文件】
输出文件chorus.out包括一行,这一行只包含一个整数,就是最少需要几位同学付出列。

【样例输入】
8
186 186 150 200 160 130 197 220

【样例输出】
4

【数据规模】
对于50%的数据,保证有n<=20;
对于全部的数据,保证有n<=100。


You will feel alone when alone.
发贴IP已设置保密 2004-11-22 13:27
       
     美女呀,离线,快来找我吧!
    
    
    等级:新手上路
    文章:9
    积分:70
    注册:2004-11-22
给AG发送一个短消息 把AG加入好友 查看AG的个人资料 搜索AG在的所有贴子 点击这里发送电邮给AG 引用回复这个贴子 回复这个贴子 4
发贴心情 送给没有NOIP2004提高组复赛试题的同学们
虫食算
(alpha.pas/dpr/c/cpp)

【问题描述】
所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:

43#98650#45
+ 8468#6633
----------------
44445506978

其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。
现在,我们对问题做两个限制:
首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。
其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的。我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文字母表中的前N个大写字母来表示这个算式中的0到N-1这N个不同的数字(但是这N个字母并不一定顺序地代表0到N-1)。输入数据保证N个字母分别至少出现一次。

  BADC
+ CBDA
------------
  DCCC

上面的算式是一个4进制的算式。很显然,我们只要让ABCD分别代表0123,便可以让这个式子成立了。你的任务是,对于给定的N进制加法算式,求出N个不同的字母分别代表的数字,使得该加法算式成立。输入数据保证有且仅有一组解。

【输入文件】
输入文件alpha.in包含4行。第一行有一个正整数N(N<=26),后面的3行每行有一个由大写字母组成的字符串,分别代表两个加数以及和。这3个字符串左右两端都没有空格,从高位到低位,并且恰好有N位。

【输出文件】
输出文件alpha.out包括一行,在这一行中,应当包含唯一的那组解。解是这样表示的:输出N个数字,分别表示A,B,C……所代表的数字,相邻的两个数字用一个空格隔开,不能有多余的空格。

【样例输入】
5
ABCED
BDACE
EBBAA

【样例输出】
1 0 3 4 2

【数据规模】
对于30%的数据,保证有n<=10;
对于50%的数据,保证有n<=15;
对于全部的数据,保证有n<=26。


You will feel alone when alone.
发贴IP已设置保密 2004-11-22 13:28
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 5
发贴心情
感谢+移动+加精
发贴IP已设置保密 2004-11-22 20:21
       
     美女呀,离线,快来找我吧!
    
    
    等级:新手上路
    文章:9
    积分:70
    注册:2004-11-22
给AG发送一个短消息 把AG加入好友 查看AG的个人资料 搜索AG在的所有贴子 点击这里发送电邮给AG 引用回复这个贴子 回复这个贴子 6
发贴心情

没什么的


You will feel alone when alone.
发贴IP已设置保密 2004-11-23 19:12
       

 6   6   1/1页      1    


网上贸易 创造奇迹! 阿里巴巴 Alibaba

Powered By Dvbbs Version 7.1.0
Copyright ©2003 - 2006 QTHome.Org
页面执行时间 00.23438 秒, 3 次数据查询
本论坛采用阿里巴巴支付宝网上银行支付系统,安全、可靠、便捷