收藏 分享(赏)

解题报告SOJ题目报告.doc

上传人:lxhqcj 文档编号:6829115 上传时间:2019-04-23 格式:DOC 页数:32 大小:189.81KB
下载 相关 举报
解题报告SOJ题目报告.doc_第1页
第1页 / 共32页
解题报告SOJ题目报告.doc_第2页
第2页 / 共32页
解题报告SOJ题目报告.doc_第3页
第3页 / 共32页
解题报告SOJ题目报告.doc_第4页
第4页 / 共32页
解题报告SOJ题目报告.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、SOJ 题目报告四川大学 ACM 集训队 姜边2003-8-23Every problem has simple, fast and wrong solution.- http:/acm.timus.ru目录没加的表示只有一两句话加一个的表示有一小段加两个的表示有详细的叙述1001 A + B Problem 510021004 Big integer calculation51005 Move cards 51006 The Hardest Problem Ever61007 Rubiks Cube Solver61008 Climbing Trees 61009 Dollars .6101

2、0 Mutant Flatworld Explorers 61011 The Skyline Problem.71013 The Cat in the Hat .71014 Maximum Sum71015 History Grading 71016 Tree Summing .71017 Power of Cryptography.81018 Simulation Wizardry .81019 Unidirectional TSP 91022 Uniform Generator91023 Prime Cuts.91024 Word Index .91025 Integer Inquiry

3、101026 Eeny Meeny Moo101027 Lotto101028 Matrix Chain Multiplication .101029 Humble Numbers 101030 Sum It Up101033 The Sultans Successors 101034 Ananagrams 111035 Power Crisis111036 The Dole Queue 111037 Accordian Patience .111038 Trees on the level 111039 Greedy Gift Givers111040 Maya Calendar111043

4、 Joseph121044 Cipher 121046 Tin Cutter 121049 Packets 141050 Crosswords (II) .141051 palindromes.141052 MASH.141053 Postscript.141054 Radar Scopes.141055 Message Routing.141057 Excuses, Excuses!.151058 Centipede Collisions .151059 Pi .151060 Up and Down Sequences 151061 Machined Surfaces151062 LED T

5、est.151063 Molecules161067 Word-Search Wonder .161068 MPI Maelstrom .161070 Arbitrage (II).161071 The Tower of Babylon 161072 The Circumference of the Circle.161073 Knight Moves161074 Blue Eyes and Apples (I) 171075 Blue Eyes and Apples (II).171076 Blue Eyes Problem.171077 Blue Eyes Google 171079 Bl

6、ue Eyes Running.171080 生化危机 3.171081 SARS.171082 不甘心的皇后 171083 Fat Mouse 的游戏 .181084 滑雪比赛 181085 SCU.181087 战略游戏 181088 考古学家的困境 181089 FatMouse 的奶酪 181091 指环王 191093 伊拉克 191094 临界波 191095 运送物资 191096 Euro Efficiency .191098 Floors 191100 Pearls .201101 Input 201103 IP 判断 201104 Super long sums 20110

7、5 Rational Spiral 221106 DWeep 221108 Holed ox Moving 231109 Number Sequence .231111 Gnome Tetra vex.241113 排队 241114 数字三角 241115 阶乘 241116 回文数 I 251117 最大整数 251118 上车人数 251120 01 串压缩编码 251121 最短路径 251123 球钟 251124 回文数 II.261125 恺撒的规划 261128 控制棋 261133 Billiard 261134 One Person “The Price is Right“

8、 .261136 Factoring Large Numbers .271138 Wall.271139 Flip Game 271140 Buffer Manager.271142 Binary Search271145 Disk Tree .271147 Equipment Box .281153 Play on Words.281154 Simple Arithmetics .281162 I-Keyboard 281163 Cash Machine291167 Game .291168 Manager 301169 Networking .311184 Symbolic Derivat

9、ion .311185 Rectangles.311189 P,MTHBGWB 311197 Multiplication Puzzle 311001 A + B Problem几乎每个 Online Judge 的第一道题目都是这个(好像 UVA 除外_ ) 。用于试验服务端环境的题目,主要考查 scanf 的用法。10021004 Big integer calculation主要考查高精度运算的知识,并没有太多的技术含量。1005 Move cards首先要判断点数总和能否被堆数整除,如果不能,就没有必要进行下面的操作了。由于队列两端的卡片只能移到相邻的一个方向,这样我们在进行卡片移动操

10、作的时候不得不考虑端点的情况,于是,程序变得不够统一,不统一的程序往往是没有通用性和不稳定的。为了构造统一的程序,我只考虑每个卡片堆右边的情况。基于以上考虑,我将队列分为两个部分:一堆卡片与这堆卡片右边的部分。显然,这里的“一堆卡片”不包括最右边的那堆。表示如下P R分别表示 Pile Right我定义 Average 为达到平衡的时候每堆卡片的张数,于是出现三种情况:一、Pile = Average,此时不需要动这堆卡片。二、Pile Average,此时需要将这堆卡片中比 Average 多的部分移走,由于我只考虑向右的情况,所以 Pile 将(Pile Average)张卡片移给 Rig

11、ht(只能移给 Right 而不是 Right + 1 或是其他是由规则决定的) 。三、Pile 1,如果 N = 1,则变成了基本情况一了。先考虑最后一个按键的第一个字母的位置(即确定最后一段的分段符) 。最后一段的分段符将字母序列分成前 M - 1 段和第 M - 1 段(段号是从 0 开始的) 。由于每个按键上都要安排字母,所以最后一个按键的第一个字母的位置区间是N - 1, M - 1,由于 N = M,所以这个区间总是存在的。最后一个按键的第一个字母的位置便由以下表达式来确定:P = Min aTotalPi - 1N - 1 + aPrice i M - 1 (N - 1 = i

12、= M - 1)最后一个按键的第一个字母的最佳位置就是 P 取得最小值的 i 值。aPrice 表示将序列i, M - 1安排到一个按键上的代价,这个值是可以预先算好保存起来的。aTotalP LN表示将序列 0, L分成 N 段时得到的最小代价值,显然,整个问题的答案就是 aTotalP MN。根据 P 的表达式就可以逐级算出每一个分段符的最佳位置,进而得出 aPMN了。算最优解的过程就告一段落,接下来要解决的问题就是输出这个最优解的组成。要输出最优解的组成,很容易想到的就是保存各个分段符的位置这种方法。我就是这样做的。我用了一个二维数组 aPos 来保存分段符的位置,aPosLN表示将序列0, L分成N 段时最后一个分段符的位置。我写了一个函数叫 PrintResult(L, N),功能是输出将序列0, L分成 N 段时的最优情况。PrintResult 函数的执行过程如下:如果 N = 1,则直接输出序列0, L;否则,先 PrintResult(aPosLN - 1, N - 1),即输出从序列开始到当前最后一个分段符之间的部分(这部分应该被分成 N - 1 段) ,再输出序列 aPosLN, L 。最后,注意一下输出的格式应该按题目要求来做。1163 Cash Machine跟 Dollars 差不多,加一些 flag 会提高速度。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报