KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

[一些小小的想法]记我在KFC看到的光芒,度过的日子

[ 13709 查看 / 30 回复 ]

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

信息学竞赛...那么我给个题目吧,算法比较简单,理解了题意就能做出来。

邮箱制造商的问题

从前,当瑞典的小孩仍被允许玩爆竹的时候,成群结队的兴奋的孩子们常常给他们居住的城市带来麻烦,他们喜欢用爆竹把东西炸毁。较小的箱子容易被炸毁,所以邮箱成了一个热门的攻击目标。现在,一个邮箱制造商想知道他们生产的新邮箱能够承受多少爆竹的同时爆炸而不被炸毁。因此他雇佣你来帮助他。他会给你k(1<=k<=10)个完全相同的邮箱,每个邮箱最多能放进m(1<=m<=100)个爆竹(所有爆竹也都相同)。但是,他不知道需要给你多少个爆竹,才够解决这个问题,因此求教于你。你想了一会儿说:“是啊,一个邮箱被炸毁之后,就不能够再用了,所以,如果你只给我k=1个邮箱,我就不得不从1个爆竹,2个爆竹开始测试,直到邮箱被炸毁。在最坏的情况下,邮箱直到被塞满也不会被炸毁,那就需要1+2+3+...+m=m*(m+1)/2个爆竹。如果m=100,这意味着需要5000个以上的爆竹!”“那也太多了。”他回答道:“如果我给你k=1个以上的邮箱呢?你能找到一种需要较少的爆竹的策略吗?”
你能吗?你需要向他要求提供的最少的爆竹数是多少?
你可以假设如下事实成立:
1、如果一个邮箱可以承受x个爆竹的同时爆炸,那么它一定能承受x-1个爆竹的同时爆炸。
2、经过一次爆炸,一个邮箱要么就是被炸毁,要么就是完好无损,可以像新的邮箱一样继续用于测试。
注:如果邮箱在装满爆竹时仍不会被炸毁,制造商将很满足于这个结果。但如果不是那样,他希望找出邮箱的最大承受能力。
输入规约:
每个输入文件第一行是单个整数N(1<=N<=10),表示测试用例的个数。后面每个测试用例占一行,包含两个整数,k和m,中间用单个空格符分隔。
输出规约:
每个测试用例的结果占一行,包含单个整数,表示在最坏的情况下,为了找出邮箱的最大承受能力,需要的爆竹数。
范例输入:
4
1 10
1 100
3 73
5 100

范例输出:
55
5050
382
495
KEYFC第二届版杀 - 川澄 舞
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

嗯..说起编程的话
刚刚从VC++6转到VC++2005上面
发现好多都不习惯..... XD
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

加油吧。

不过说来,写程序都不是学来的,写代码可以学,程序需要基因决定,如同大家都会造句,但少有能写书的。

玩网络游戏并不是什么坏事情,只要自己能控制就好了。国家这边还不是一边打击,一边体育总局还在搞比赛么,无所谓的。

爱迪生说 成功=99%努力+1%天分 希望你能够理解。不要对自己要求太多。如果自己没有那个天份,就不必努力太多了。因为只能是接近成功,总是差那一点的。
個人站:Secret Nest
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

以下引用neko在2005-11-13 2:07:58的发言:
楼上的-v-
其实只要愿意说话就可以结交多些的朋友~


这是对我说?
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

以下引用wdx04在2005-11-13 9:06:28的发言:
信息学竞赛...那么我给个题目吧,算法比较简单,理解了题意就能做出来。

邮箱制造商的问题

从前,当瑞典的小孩仍被允许玩爆竹的时候,成群结队的兴奋的孩子们常常给他们居住的城市带来麻烦,他们喜欢用爆竹把东西炸毁。较小的箱子容易被炸毁,所以邮箱成了一个热门的攻击目标。现在,一个邮箱制造商想知道他们生产的新邮箱能够承受多少爆竹的同时爆炸而不被炸毁。因此他雇佣你来帮助他。他会给你k(1<=k<=10)个完全相同的邮箱,每个邮箱最多能放进m(1<=m<=100)个爆竹(所有爆竹也都相同)。但是,他不知道需要给你多少个爆竹,才够解决这个问题,因此求教于你。你想了一会儿说:“是啊,一个邮箱被炸毁之后,就不能够再用了,所以,如果你只给我k=1个邮箱,我就不得不从1个爆竹,2个爆竹开始测试,直到邮箱被炸毁。在最坏的情况下,邮箱直到被塞满也不会被炸毁,那就需要1+2+3+...+m=m*(m+1)/2个爆竹。如果m=100,这意味着需要5000个以上的爆竹!”“那也太多了。”他回答道:“如果我给你k=1个以上的邮箱呢?你能找到一种需要较少的爆竹的策略吗?”
你能吗?你需要向他要求提供的最少的爆竹数是多少?
你可以假设如下事实成立:
1、如果一个邮箱可以承受x个爆竹的同时爆炸,那么它一定能承受x-1个爆竹的同时爆炸。
2、经过一次爆炸,一个邮箱要么就是被炸毁,要么就是完好无损,可以像新的邮箱一样继续用于测试。
注:如果邮箱在装满爆竹时仍不会被炸毁,制造商将很满足于这个结果。但如果不是那样,他希望找出邮箱的最大承受能力。
输入规约:
每个输入文件第一行是单个整数N(1<=N<=10),表示测试用例的个数。后面每个测试用例占一行,包含两个整数,k和m,中间用单个空格符分隔。
输出规约:
每个测试用例的结果占一行,包含单个整数,表示在最坏的情况下,为了找出邮箱的最大承受能力,需要的爆竹数。
范例输入:
4
1 10
1 100
3 73
5 100

范例输出:
55
5050
382
495


以下的算法仅供参考(因为不一定是最优的):

如果只有一个邮箱,最坏的情况就是1+2+3+...+m=m*(m+1)/2个,但是,如果邮箱不止一个,多出来的邮箱就可以作为“二分法”查找的材料。即:

先把m/2个爆竹放进一个邮箱中,如果他没炸,则用m/2+m/4个爆竹测试,如果它炸了,就用m/4个爆竹测试第二个邮箱,直到测出准确值或只剩下一个邮箱为止。这样,每测试一次,测试范围就会缩小一半。如果只剩一个邮箱时仍没有测出准确值,就只能在确定出的测试范围中从小到大测试了(因为邮箱只剩一个了,我们输不起了)。

这个方法的最坏情况并不是“二分法查找的阶段中,每次邮箱都被炸坏,最后的逐一测试时直到测试到最大值邮箱才炸。”

只有对邮箱的承受能力进行穷举测试,才能找出最坏的情况,也就是说,假设承受能力是1至m,依次应用上述算法求最大爆竹消耗量并取其中最大的,那才是最坏的情况。

我觉得在这里使用“二分法”的思想该可以,但是分界点并不一定是1/2,测试多个分界点可能能找出真正的最优算法,但是那必须对上述算法再加上一层穷举过程,并从所有分界点对应的最坏情况中找出消耗最少的来作为最优分界点。
KCDDP KR/KAG区值班室常驻义务值班员

现在在KCDDP的论坛也已经开始潜水了Orz
但是QQ群还是长期在线的
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

啊……但是分析范例的话应该能够找出对应的分界方法
另外虽然二分法实际运用的时候往往不是最优的,但是理论上对于完全随机的情况来说应该还是相当有效的

p.s:这么多省一级的麽……泪……最多市一省二国二的废物……(国二那次不知为何相当宽松……好像最后那场考试的分数是3x/100……orz
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

新人上kfc是没几天,来这里也是因为,air的缘故,看

了air动画,很感动,开始玩air的游戏,后来在别的坛

子里看到了这网,下了首air的插曲,就是夏影(Natsukage)

每天都听。也会过来转转。
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

对于大家对我的支持,我也没有什么可以表达我的感情,只有道一声谢谢了。
我会继续努力,明天期中考成绩公布,希望大家能听我絮叨一遍成绩。

想问一下,汉化组的程序组负责的是什么样的工作呢?如果可以用得上小然的话,小然一定会尽全力帮忙的。
谢谢wdx04出的题目和希德船长的解答以及大家给出的奥赛复习意见,在这个星期里我会尽力复习,争取拿到省一(初二的时候拿到过省二)。

如果大家有什么要对我说的,可以PM我,我希望自己可以认识更多的人。

最后再次感谢大家。
Life is a canvas 
And the paint is hope and promise 
The world is ours 
No one could ever take it from us
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

LZ杭州哪个学校的!
同人音乐社团K团团长!

日常活动在这边=V= 新浪微博
http://t.sina.com.cn/datoujia
BLOG:明日何在,但随我意

http://blog.sina.com.cn/datoujia1988
个人5sing主页(翻唱/同人曲目):http://367706.5sing.com/

KEY系同人音乐创作团体——K团!
http://blog.sina.com.cn/ktuan
TOP

回复:[一些小小的想法]记我在KFC看到的光芒,度过的日子

建议补充网络流和2d凸包算法-_-b

这两个我哪个都不会TT

有NOIP的同学现在还在奋战中真亲切

时间过得真快啊,又是一年NOIP到了……………………

PS:楼主是普及组的话……以上建议可以无视,如果是初中就进提高组的牛,那么过几年该我拜楼主一下了。

PS2:话说当年KFC迷之高中生就是补习这种东西的时间经常出现的-_-b

PS3:程序组的话,楼主的知识还远远不够,不过你的时间有很多很多,说不定等到某这个年纪会比咱现在强N倍。
AJI,舰狗
TOP