
Data Structures
文章平均质量分 80
锡同
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 490 阅读 · 0 评论 -
POJ1936——All in All
POJ1936——All in All Description You 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 · 291 阅读 · 0 评论 -
POJ1068——Parencodings
POJ1068——模拟 /* *********************************************************** 算法原理: S是一串匹配正确的括号对;P、W都是以右括号出现的地方为计算点 P序列 是 此右括号 之前的 总的左括号数; W序列 是 与此右括号匹配的左括号 的 距离; *****************************原创 2015-12-09 12:40:39 · 535 阅读 · 0 评论 -
POJ1035——Spell checker
POJ1035——Spell checker /* *********************************************************** 算法原理: 错误有三种情况 1)少一个字母 2)多一个字母 3)其中一个字母被替换 ①首先,如果|word.length() - dictionary.length()|> 1 就跳过dictionary中的原创 2015-12-24 21:44:08 · 421 阅读 · 0 评论 -
大数加法——HOJ1002
HOJ1002 /* 算法原理: *********************************************************** ①用数组存储数字(输入的顺序与大数的个十百千万位刚好相反) ②在加的过程中转换成数字(-‘0’) / 运算得到进位的大小(数字表示) % 运算得到此位的数字,转换为字符存储到temp(+‘0’) ③注意最后的进位,相加最多进一位,因原创 2015-12-05 19:03:23 · 631 阅读 · 0 评论 -
POJ3295——Tautology
POJ3295 /* *********************************************************** 算法原理: WFF求值,从表达式的末尾向前读取字符,并分类出入栈。因为输入 是合法的,最后栈顶(且只有一个)的元素即为表达式的逻辑值 Notice: 1)位&运算符的运用,可以精简代码 2)判断K, A, N, C, E的逻辑值可以用已知二维数组原创 2015-12-06 17:44:27 · 416 阅读 · 0 评论 -
大数乘法——POJ2389
POJ2389 /* *********************************************************** 算法原理: 相乘时错位相加,具体见图。 Notice: 1)翻转数组的方法 ①利用栈 ②对称位置互换 2)也可以从后向前保存字符,即result[t] = temp[t] % 10 + '0' ; 然后从前向后找第一个不为零的地方,即有原创 2015-12-06 09:47:38 · 419 阅读 · 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 · 353 阅读 · 0 评论 -
枚举——POJ1753
POJ 1753 #include #include #include using namespace std; queue> state; //record the state of each situation bool flag[65536] = { false }; //in case repeated search int step[65536] ;原创 2015-12-03 18:22:15 · 509 阅读 · 0 评论 -
枚举——POJ2965
POJ2965 /* Amazing! ************************************************************ 算法原理: 设'+'出现在位置(i,j) 对于除去{(i,j)+(i,:)+(:,j)}的开关每个被翻转2次; 对于{(i,:)+(:,j)}上的开关每个被同行(同列)翻转4次; 对于(i,j)上的开关被翻转7原创 2015-12-03 21:30:46 · 377 阅读 · 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 · 485 阅读 · 0 评论 -
排序——基本排序算法
综述 对数据进行排序的标准在不同的应用场合是不同的。一般情况下,排序标准是很自然的,例如数字、字母顺序。对于字母字符和非字母字符,通常根据其ASCII码进行排序。 比较次数和数据移动次数是排序算法的关键属性。但在做选择时,一定要考虑实际情况。例如,较简单的关键字比如整数或字符,比较会快一点,代价不大;如果比较的是字符串或数字数组,那么比较的代价会增加,这时对比较效率的考量就很原创 2015-11-27 16:13:23 · 615 阅读 · 0 评论 -
POJ1753——Robot Motion
POJ1753——Simulation #include using 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 · 293 阅读 · 0 评论 -
POJ2388——Who's in the Middle
POJ2388——Who's in the Middle Description FJ 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 · 362 阅读 · 0 评论