- 博客(14)
- 收藏
- 关注
原创 螺旋队列
<br />题目是在《程序员面试宝典》(第一版)上看到的。<br /> <br />给出螺旋队列:<br />21 22 ...<br />20 07 08 09 10<br />19 06 01 02 11<br />18 05 04 03 12<br />17 16 15 14 13<br /> <br />实际输出的时候,01->1,以此类推。<br /> <br />以1为原点,右为x+,下为y+,给出坐标(m,n),输出该坐标上的数字。<br /> <br />思路:想明白之后会觉得非常简单。<b
2011-01-02 14:38:00
289
原创 ZOJ Problem Set - 1117
<br />ZOJ Problem Set - 1117<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1117<br /> <br />这个就是Huffman编码的应用,无损压缩,而且能够证明是无损压缩最优的方法。<br />做法就是Huffman树的画法,大学的时候画了不知道多少棵了。。<br />与字母相对于的编码可以递归求出。<br /> <br />乍一看完题,没懂为啥分配在贪婪问题里,但稍微一想,这果然是贪婪的
2010-12-05 13:42:00
768
原创 ZOJ Problem Set - 1076
<br />ZOJ Problem Set - 1076<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76<br /> <br />这个比较简单,一次就AC了,简单说下贪婪策略。<br />1 首先按照Exon的结束点非降序排序;<br />2 遍历有序列,若当前结点与前一个结点有重叠,则删除当前结点。<br />用反证法能够很容易证明该贪婪策略能贪出最优结果。<br /> <br />#include <iostream>
2010-12-04 14:04:00
386
原创 ZOJ Problem Set - 1029
<br />ZOJ Problem Set - 1029<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1029<br /> <br />假设被重叠计划的room中重叠次数最大为K(不包括本身),则最后的时间就是10(K+1) <br />使用贪婪策略明显不会超过这个时间,所以这里贪婪总是最优的。
2010-12-01 23:39:00
351
原创 ZOJ Problem Set - 1025
ZOJ Problem Set - 1025http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1025为了叙述方便,称一个可行的最优处理序列为合理序列。在不reset前提下处理的序列称为序列的一个处理段。显然根据题意可知,每个处理段中的数据都是有序的(按照长度以及重量非递减)。我的做法是首先按照长度从小到大排好序。之后就是贪婪算法:以第一个结点为一个处理段B的头,按序遍历有序列L,若当前结点能够在不reset的情况下被处理,则将该结点加
2010-12-01 22:51:00
380
原创 ZOJ Problem Set - 1205
<br />ZOJ Problem Set - 1205<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=205<br /> <br />程序语言在发展,题目却没有。<br />http://student.csdn.net/space.php?uid=238923&do=blog&id=33085<br /> <br />自己也写了一个,练练手。<br /> <br />#include <iostream><br />#in
2010-11-27 23:54:00
344
原创 [讨论]ZOJ Problem Set - 1201
<br />ZOJ Problem Set - 1201<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=201<br /> <br />这题目还是蛮有意思的,O(n*n)的算法很容易想到,代码就从简从略了。<br />感觉应该有O(nlogn)的算法。因为O(n*n)的算法利用到的条件太少了。<br /> <br />P 5 9 1 8 2 6 4 7 3<br />B 0 0 2 1 3 2 4 2 6<br />(B[k]
2010-11-27 14:55:00
491
原创 ZOJ Problem Set - 1151
<br />ZOJ Problem Set - 1151<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=151<br /> <br />#include <iostream><br />#include <string><br />using namespace std;<br />int main()<br />{<br /> int block, loop, i, j;<br /> string input,
2010-11-26 23:02:00
376
原创 ZOJ Problem Set - 1115
<br />ZOJ Problem Set - 1115<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=115<br /> <br />如果不用字符处理方式来得出第一次位数和的话会超时。<br /> <br />#include <iostream><br />#include <string><br />using namespace std;<br />int getNum(string s) {<br /> int
2010-11-16 23:10:00
403
原创 ZOJ Problem Set - 1067
<br />ZOJ Problem Set - 1067<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=67<br /> <br />没想出什么好的算法,直接写代码了,没什么优化。<br /> <br />#include <iostream><br />#include <climits><br />using namespace std;<br />#include <math.h><br />int main()<br
2010-11-16 00:03:00
638
原创 ZOJ Problem Set - 1051
<br />ZOJ Problem Set - 1051<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=51<br /> <br />看懂题目,搞清楚输出格式,剩下的就应该没难点了。<br /> <br />#include <iostream><br />using namespace std;<br />int main()<br />{<br /> int loop, cnt1, cnt2, scr = 0;<br
2010-11-15 01:09:00
592
原创 ZOJ Problem Set - 1049
<br />ZOJ Problem Set - 1049<br />http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=49<br /> <br />没什么好说的。<br /> <br />#include <iostream><br />using namespace std;<br />int main()<br />{<br /> int loop, count = 1;<br /> float x,y;<br />
2010-11-14 21:21:00
365
原创 ZOJ Problem Set - 1048
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1048没啥好说的。#include using namespace std;int main(){ float m; float total = 0.0; int count = 0; while(cin >> m) { total += m; count++; if(12 == count) {
2010-11-14 17:17:00
274
原创 ZOJ Problem Set - 1037
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=37思路:由于边长采用欧几里得距离,所以从一个点出发到其斜线方向的邻点的距离为Sqrt(2)个单位。显然,要使总长度最短,那么路过的斜线越少越好。也就是说,在迫不得已的时候,永远都不要去选择斜线路径。(结论一)(由于除了起点,每个点都要过一次,且只能过一次,那么就可能存在某些情况不得不走斜线)由于在遍历所有点之后要回到起点,那么对于整个路径的前进方向来说,(如果不走斜线)某一个方向的前进次数
2010-11-14 17:01:00
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人