Data Structures
文章平均质量分 79
锡同
这个作者很懒,什么都没留下…
展开
-
POJ2632——Crashing Robot
POJ2632/************************************************************算法原理:1)方向的问题用Direction[10]的'N','W','S','E'的环形结构2)将Warehouse[100][100]初始化为 0 在输入时循环将当前的Warehouse[A][B]改为 1 被机原创 2015-12-11 23:06:31 · 437 阅读 · 0 评论 -
POJ1936——All in All
POJ1936——All in AllDescriptionYou have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pen原创 2016-02-20 17:38:27 · 247 阅读 · 0 评论 -
POJ1068——Parencodings
POJ1068——模拟/************************************************************算法原理:S是一串匹配正确的括号对;P、W都是以右括号出现的地方为计算点P序列 是 此右括号 之前的 总的左括号数;W序列 是 与此右括号匹配的左括号 的 距离;*****************************原创 2015-12-09 12:40:39 · 462 阅读 · 0 评论 -
POJ1035——Spell checker
POJ1035——Spell checker/************************************************************算法原理:错误有三种情况1)少一个字母2)多一个字母3)其中一个字母被替换①首先,如果|word.length() - dictionary.length()|> 1 就跳过dictionary中的原创 2015-12-24 21:44:08 · 370 阅读 · 0 评论 -
大数加法——HOJ1002
HOJ1002/*算法原理:***********************************************************①用数组存储数字(输入的顺序与大数的个十百千万位刚好相反)②在加的过程中转换成数字(-‘0’)/ 运算得到进位的大小(数字表示)% 运算得到此位的数字,转换为字符存储到temp(+‘0’)③注意最后的进位,相加最多进一位,因原创 2015-12-05 19:03:23 · 550 阅读 · 0 评论 -
POJ3295——Tautology
POJ3295/************************************************************算法原理:WFF求值,从表达式的末尾向前读取字符,并分类出入栈。因为输入是合法的,最后栈顶(且只有一个)的元素即为表达式的逻辑值Notice:1)位&运算符的运用,可以精简代码2)判断K, A, N, C, E的逻辑值可以用已知二维数组原创 2015-12-06 17:44:27 · 351 阅读 · 0 评论 -
大数乘法——POJ2389
POJ2389/************************************************************算法原理:相乘时错位相加,具体见图。Notice:1)翻转数组的方法①利用栈②对称位置互换2)也可以从后向前保存字符,即result[t] = temp[t] % 10 + '0' ; 然后从前向后找第一个不为零的地方,即有原创 2015-12-06 09:47:38 · 365 阅读 · 0 评论 -
贪心——POJ1328
POJ1328/*****************************************************************算法原理:1)以海岛(x,y)为圆心,覆盖范围dist为半径画圆,则与x轴存在①0个交点:y>dist的情况,case输出为-1;②2个交点:得到x轴范围区间(left,right);由三角形勾股定理得:left= x-原创 2015-12-05 00:44:25 · 313 阅读 · 0 评论 -
枚举——POJ1753
POJ 1753#include#include#includeusing namespace std;queue> state; //record the state of each situation bool flag[65536] = { false }; //in case repeated searchint step[65536] ;原创 2015-12-03 18:22:15 · 459 阅读 · 0 评论 -
枚举——POJ2965
POJ2965/* Amazing! ************************************************************ 算法原理: 设'+'出现在位置(i,j) 对于除去{(i,j)+(i,:)+(:,j)}的开关每个被翻转2次; 对于{(i,:)+(:,j)}上的开关每个被同行(同列)翻转4次; 对于(i,j)上的开关被翻转7原创 2015-12-03 21:30:46 · 327 阅读 · 0 评论 -
排序——高效排序算法
1.希尔排序 1.1 希尔排序(Shellsort)的名字源于他的发现者Donald Shell,该算法是冲破二次时间屏障的第一批算法之一。希尔排序使用一个序列h1,h2,..,ht,叫做增量排序(increment sequence)。只要h1=1,任何增量序列都是可行的。一个重要性知识,一个h[k]-排序的数据(后面将是h[k-1]-排序)保持它的h[k]-排序性。h[k]排序原创 2015-11-27 17:17:45 · 431 阅读 · 0 评论 -
排序——基本排序算法
综述 对数据进行排序的标准在不同的应用场合是不同的。一般情况下,排序标准是很自然的,例如数字、字母顺序。对于字母字符和非字母字符,通常根据其ASCII码进行排序。比较次数和数据移动次数是排序算法的关键属性。但在做选择时,一定要考虑实际情况。例如,较简单的关键字比如整数或字符,比较会快一点,代价不大;如果比较的是字符串或数字数组,那么比较的代价会增加,这时对比较效率的考量就很原创 2015-11-27 16:13:23 · 552 阅读 · 0 评论 -
POJ1753——Robot Motion
POJ1753——Simulation#includeusing namespace std;char Grid[10][10];int steps[10][10];int main(){ int rows, column, entry; while (1) { cin >> rows >> column >> entry; for (int i = 0;原创 2015-12-13 18:07:08 · 254 阅读 · 0 评论 -
POJ2388——Who's in the Middle
POJ2388——Who's in the MiddleDescriptionFJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' cow gives: half of the cows give as much or more than t原创 2016-02-21 20:02:06 · 306 阅读 · 0 评论