自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 zoj 1857 Fire Station(重写 SPFA+邻接表~)

邻接表+DIJ+优先队列 过了。 这次吧SPFA学会了,就又写了一个。深刻理解了SPFA。。。那个hash函数是记录是否在队列里。。。无语。。#include #include #include #include #include #include #define N 600using namespace std; struct adjlist{ int length; int num; struct adjlist *next;};

2010-11-30 22:43:00 899

原创 zoj 1082 Stockbroker Grapevine( 重写 SPFA!)

拣水题写的。还是拿邻接矩阵写的。。。。用邻接表写去。。#include #include #include #include #include #include #include using namespace std;queue Q;int main(){ int map[110][110]; int n,m,x,y; int dis[110]; int hash[110]; while( cin >> n && n

2010-11-29 18:08:00 854

原创 zoj 3166 Lazy Tourist(最短路Floyd)

<br />求出到达hotel的环的最短路。<br /> <br />因为是求最后再到达hotel的最小环, 所以初始化都为INT_MAX<br /> <br />单向的路,我很纠结 = =。。。<br /> <br />其他就很水了。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <memory.h>#include <limits.h>using namespace std;

2010-11-28 22:53:00 1185

原创 zoj 1259 || poj 1363 Rails(栈~!)

<br />类似hdu1022,比1022还简单 = =。。。<br /> <br />题意没耐心读下去,以至于理解错误 = =。。。<br /> <br />从A的火车顺序是1、2、3。。。N。 到达B的序列是输入的序列。<br /> <br />栈的应用。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#include <stack>using namesp

2010-11-28 17:39:00 2124

原创 zoj 2416 Open the Lock(BFS~)

好吧,这道题,我真的卡了好久,为什么呢?没好好读题!!!我了个去!!!本来以为是每次可以变换多个位的 = =。。。结果不是 = =。。以至于我开的数组都没用上 = =。。后来一直没看到那句,不,是没理解,可以交换相邻位 = =。。。一直不对 = =。。。啥破毛病 = =。。。以后要专心看题,专心呐!!!现在代码中注释都用英语写,没其他特殊目的,就是想锻炼英语。。。#include #include #include #include #include using namespace st

2010-11-27 23:30:00 1339 2

原创 zoj 1542 || poj 1861 Network(MST = = Kruskal~)

<br />很早以前WA掉的,今天改都没改交了,A了,我很费解,很愤慨 = =。。<br /> <br />不解释。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <memory.h>#include <limits.h>#define N 1001using namespace std;struct edge{ int x,y,len;}hub[15001];

2010-11-27 15:49:00 1707

原创 zoj 1221 || poj 1603 Risk(Floyd~)

<br />终于瞅见一道最短路的题了~~~哈哈~~<br /> <br />这个题目好长啊,好长啊。。。<br /> <br />挺不容易的 读完题。。。其实没仔细读,基本看了看样例输入输出还有那个图就知道啦~~呵呵<br /> <br />就是求两点中间的最少的城市个数,That's all.<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namesp

2010-11-27 14:52:00 2067 2

原创 zoj 1874 || poj 1562 Primary Arithmetic(水题。)

<br />水题,想说爱你不容易 = =。。。<br /> <br />WA了数次,没有看到样例输出的1后面那个operation后面没有s!!!<br /> <br />我了个去 = =。<br /> <br />还有 中间有个小错误 记住了。<br /> <br />要是比赛

2010-11-27 13:16:00 1504 5

原创 zoj 1926 || poj 2328 Guessing Game(水~)

<br />就一个游戏,猜数字,你说一个数字,可能大了或者小了,最后再猜一次~控制下区间,如果在区间里那可能就是诚实的,不在的话肯定说谎了~水题,输入有点小问题。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#include <limits.h>using namespace std;int main(void){ int n,begin = 0,

2010-11-26 23:35:00 2132

原创 zoj 1526 Big Number

<br />求10^7以内的数的阶乘位数= =。。<br /> <br />以前看过好多次 都没思路。。。今天百度了,纠结了!数学如此神奇,膜拜膜拜。。。。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#include <math.h>using namespace std;int main(void){ int ncases,n; scanf

2010-11-26 18:56:00 1091

原创 zoj 3198 Intersection of Two Sets

<br />寻找两个上升序列的共同的数的个数。<br /> <br />很容易就TLE了。。。后来搜的方法,就比我的多一句话,好强~!<br /> <br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std;int main(void){ int ncases; int s1,s2; int a[100005],b[1

2010-11-26 18:22:00 871

原创 zoj 2109 FatMouse' Trade (纯水背包问题~贪心❤)

<br />典型背包,贪心做法。<br /> <br />对J/F进行由大到小排序,然后装包。剩下的多余的食物按百分比再装~<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#include <algorithm>using namespace std;typedef struct { double v; int j,f;}Bean;Bea

2010-11-26 15:46:00 1199

原创 zoj 3019 Puzzle(这个算是贪心吧??)

<br />给你两串数A,B,让你随意排列这些数使它们的最长公共子序列最长。<br /> <br />开始还以为是DP,后来觉得,这个真没必要呀。<br /> <br />因为可以按任何安排,那么只要知道这两个序列中有多少个数是相同的就OK了,那一定是最长的。<br /> <br />直接排序,两个都排序,然后按顺序查找就OK了。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <strin

2010-11-26 12:58:00 964 6

原创 zoj 1733 || poj 1458 Common Subsequence(最长公共子序列)

以前做的 今天看到一道类似的题,找不到解题报告。。。貌似忘写了。补一下。这个的状态方程的意思是,两个序列,A B,A的前 i( 0 #include #include #include #include #define MAXLEN 300using namespace std;int maxlen[MAXLEN][MAXLEN];int main(void){ char str[MAXLEN],line[MAXLEN]; int lens,lenl; while

2010-11-26 12:37:00 1336 2

原创 zoj 2514 Generate Passwords(水!)

<br />现在刷水题速度真慢!我快哭了。。。一堆BUG。。。检查了半天把等号写成赋值了!我撞墙去,不要拦我!!!<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std;int main(void){ int n,flag; char str[1005][2][15]; int num[1005],size;

2010-11-26 10:20:00 1235

原创 zoj 2818 || poj 3100 Root of the Problem(水! = =)

<br />如今 找水题也是门技术。。。<br /> <br />给你B N 求出 最接近B的N次方根的整数。。。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#include <math.h>using namespace std;int main(void){ double b,n,temp; while( cin >> b >> n &&

2010-11-25 23:15:00 1739

原创 zoj 2722 Head-to-Head Match (睡前一水~)

不解释#include #include #include #include using namespace std;int main(void){ int n,times; while( cin >> n && n ) { times = 0; while( n!=1 ) { times++; int temp = n%2; n /= 2; n += temp; } cout

2010-11-24 23:29:00 1389

原创 poj 2823 Sliding Window (单调队列)

详见http://blog.chinaunix.net/u3/105033/showart_2208489.html我的基本就是他代码改改。。改进了点。自己写的过不去 = =。。#include #include #include #include #define MAX 1000005int arr[MAX];int Minq[MAX],Maxq[MAX];int n,k;int Ind[MAX];int Q[MAX];void MMin(){ int he

2010-11-24 23:09:00 1873

原创 zoj 2014 || poj 1384 Piggy-Bank(完全背包简单变形。)

<br />求装满背包价值最小。<br /> <br />这个是自己思考的哦~~哦也~<br /> <br />背包的方程那个是求最大的,然后我换成最小的,不对,一直不对,初始化也不对应该。<br /> <br />装满的看背包九讲那个,是要初始化成负无穷的,可是这么用min的话,不对。<br /> <br />然后我想到那啥了,最短路。<br /> <br />以前貌似遇到过求最长路,是把最短路的权值全部弄成负值,然后继续用普通最短路处理即可,最后再加个符号就OK了。<br /> <br />恍然大悟啊。

2010-11-20 20:53:00 2157 2

原创 zoj 2224 || poj 2063 Investment(完全背包!)

<br />给你钱数,还有年数year,还有多少钱一年多少利息,问几年后最多的钱数(利息算到下一年的本金中)。<br /> <br />等于求year次完全背包,完全背包外面再套层循环即可。<br /> <br />钱初始值最大为100W。。。本来我想,开个100W的背包。写完了,一直RE,在ZOJ上是SE,表示郁闷啊。<br /> <br />在poj上看了讨论版的,我郁闷了!100W是初始值啊,后面利息加上的话 = =。。。算算。。最多10%。。100W+100W*0.1+....,这个这个数。。我算算

2010-11-19 13:25:00 1967 2

原创 hdu 1248 寒冰王座(完全背包水水版!)

这个是完全背包,可以看做容量和价值相等的完全背包。 求出可以买的价值最多的,然后用总钱减去即可。#include #include #include #include using namespace std;int w[3] = {150,200

2010-11-18 23:42:00 1302 1

原创 hdu 1040 As Easy As A+B(堆排练习水题~)

堆排写得没有快排顺利 = = 。。。等隔一段时间再写试试#include #include #include #include using namespace std;int n;void HeapMin(int a[],int i,int heapsize){ int larg; int l = i*2, r = i*2+1; if( l

2010-11-16 23:24:00 1031

原创 hdu 1040 As Easy As A+B(快排练习水题~)

自己第一次不看书写成快排~~欧也~~~PE数次 = =。。。最后一个不要加空格 = =。。#include #include #include #include using namespace std;int n;int Partition(int a[],int p, int r){ int i = p-1; int x = a[r]; for(int j=p; j

2010-11-16 21:18:00 1317

原创 关于 优先队列(C语言) ——(参考算法导论)

今天在图书馆把优先队列好好看了看,还把快排看了个头~感觉不错~~就是图书馆的椅子太硬了。。坐了快俩小时,咯得慌。。。回来把函数写了下,虽然是参照书的 = = 下次要自己写出来!不过原理已经懂了~~~我这个是实现优先队列插入,堆的维护,删除,这个是最大优先队列~~#include #include #include #include using namespace std;int heapsize = 0;void MaxHeapIFY(int a[],int i){ int

2010-11-16 18:50:00 2517 2

转载 排序(Sort)

<br />转自http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html<br />排序(Sort)<br /><br />这可能是最有趣的一节。排序的考题,在各大公司的笔试里最喜欢出了,但我看多数考得都很简单,通常懂得冒泡排序就差不多了,确实,我在刚学数据机构时候,觉得冒泡排序真的很“精妙”,我怎么就想不出呢?呵呵,其实冒泡通常是效率最差的排序算法,差多少?请看本文,你一定不会后悔的。<br />1、冒泡排序(Bubbler Sort

2010-11-16 12:36:00 1495

原创 zoj 1797 Least Common Multiple(继续,水题,想说爱你不容易!)

<br />求几个数的最小公倍数。。。<br /> <br />这个题,我们大一上学期期末考试考过,当时还不会做 = = YM。。。<br /> <br />求三个数的最小公倍数,直接求前两个数的最小公倍数,然后再和第三个数求最小公倍数,求出即可。<br /> <br />WA得比较YM,因为没考虑n == 1 和 temp == 0 的问题,如果temp == 0 ,就不能当除数了!!<br /> <br />哎。 <br /> <br />gcd算法一次成功,挺有成就感 ^<br /> <br />#i

2010-11-15 22:10:00 1814 4

原创 zoj 1970 || poj 1936 All in All(水题,想说爱你不容易 = =)

<br />ZOJ顺利AC,POJ TLE<br /> <br />看讨论版,不要把strlen()写入循环中 = = 改了后 顺利AC。<br /> <br />好吧 我记住了 = =。。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#define MAX 100000using namespace std;int main(){ char in

2010-11-15 18:31:00 1551

原创 zoj 3432 Find the Lost Sock(zoj月赛,受打击了 = =)

<br />详见<br /> <br />http://blog.sina.com.cn/s/blog_677a3eb30100mjy9.html<br /> <br />终于有解题报告了 = =<br /> <br />一直TLE。<br /> <br />我尝试了N种方法,包括我最讨厌的链表 = =,它就是TLE,我哭。<br /> <br />而且学会了个用scanf输入字符串(包括空格的)<br /> <br /> scanf("%[^/n]",str);<br /> <br />后来实在过不去,就

2010-11-14 17:43:00 1365

原创 zoj 3168 Sort ZOJ7(水!)

<br />我很想用sort啊!!!<br /> <br />可是,sort只能把ZOJ7这四个排序,其他的都乱了 = = YM。。。<br /> <br />没办法了,弄笨方法吧。。。<br /> <br />如果我对快排理解够深的话,就不会用sort了吧 = =<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std;int m

2010-11-14 17:20:00 1712

原创 zoj 2829 Beautiful Number(水~)

 每个被3或者5整除的数被称为Beautiful Number,给你编号N,让你求出第N个这样的数。直接打表过了。。这次学聪明了,不用cin,cout了。。#include #include #include #include using namespace std;int num[220000];int ind[100001];int main(void){ int n; memset(num,0,sizeof(num)); for(int k=1; k*3

2010-11-13 21:58:00 2098 2

原创 zoj 3418 || The 2010 ACM-ICPC Asia Chengdu Regional Contest - C Binary Number

ZOJ  拿成都区域赛的题作为一次比赛了,我就做了这个,水题。。。本来没想做的,轻工的一个学长说,看看题型。。。结果我就看了这道水题,纠结了半天,A了后果断图书馆了。比较两数的二进制差异,找出最小差异。没看清题目,如果差异相同,输出最小的那个A中的数。我晕,WA了数次。后来党说可以用位运算,可怜的我位运算忘得一塌糊涂。。。翻了翻谭浩强的那本绿书。。。呃。这个用异或运算很水啊。。。就是这个^。。两个数字相异或,得出的是他们二进制相同为0,不同为1,然后找这个数字的二进制有多少个1就是要求的差异个数从图书馆回来

2010-11-13 17:52:00 1466

转载 C语言位运算详解

<br /><br />位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作<br />运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。<br />C语言提供的位运算符列表:<br />运算符 含义 描述<br />& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0<br />| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1<br />^ 按位异或 若参加运算的两个二进制

2010-11-13 13:35:00 1216

原创 zoj 1884 || poj 2538 WERTYU(这水让我很YM!)

输出键盘字符前的那个字符。开始想,难不能我要用N个case of? = =后来想通了,把键盘上字符都按顺序存到字符串数组里。。。少存了 - = WA了数次 !我了个去!!学习了一点,scanf可以吃控制字符(空格回车tab等等)。。。 cin不吃。。。#include #include #include #include using namespace std;int main(void){ char ch; char str[] = {"`1234567890-=QWERT

2010-11-12 21:01:00 1987 3

原创 zoj 2734 Exchange Cards(DFS~)

<br />给你卡片的种类以及要求的加和值,求出有几种方法的加和能得到那个值。<br /> <br />我的num[i]存的是值为i的卡片的数目。<br /> <br />DFS还是不够熟练,要多练呀!<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std;int sum,ways;int num[1010];int va

2010-11-12 19:48:00 2589

原创 zoj 2412 Farm Irrigation(DFS~)

<br />这个啊。其实感觉不是太像DFS,不用回溯啊,真好。<br /> <br />感觉有点像求并查集的~<br /> <br />我用数组把那11块田表示出来了,强大吧。。。用3*3的,有管子的赋为1。。。<br /> <br />构建图比较麻烦,不过构建出来就很好做了,就是属于很水的DFS了。<br /> <br />觉得有点像求最小生成树哈,求出有多少棵树,以前做过类似的题捏。<br /> <br />A了后,查了查网上的,都看着很繁。。。还是我这个好~!就是比较耗内存哈~<br /> <br /

2010-11-12 13:52:00 1161 5

原创 poj 3624 Charm Bracelet(0-1背包~DP~)

0-1背包~~~我是基本原理理解差不多了,就是没自己写过。。。今晚自己写了。写完蛮不自信的,还找代码对了对,居然对着类,哦也~~具体分析详见背包九讲~~~背包啊背包。。。大家天天都背包。。。= =。。。这个题二维的大啊,大致算下,得超内存吧,13000*13000*4/1024 > 65535 。。。今天光棍节,外面有男生在鬼吼 = =。。。真是一群寂寞的人呢。。。呵呵。。我去拿二维写写去。。。#include #include #include #include using namespa

2010-11-11 23:14:00 4599 1

原创 zoj 1951 || poj 2262 Goldbach's Conjecture(水水~)

<br />写好的程序,DEV卡了,没有响应。。。关了后啥都没了 = =<br /> <br />还好这个不长。。。花了五分钟重新写了下。。。好像写得挺慢的。。。<br /> <br />一直超时 = =。。。调啊调。。。最后把cin cout改成scanf和printf了。。。没有超时。。<br /> <br />筛法写得很顺了。。。<br /> <br />教训啊教训。。以后遇到这种题。。。果断不用cin。。。<br /> <br />#include <stdio.h>#include <stdl

2010-11-11 14:35:00 1345

原创 zoj 1108 FatMouse's Speed(DP)

<br />最长下降子序列。关键是还要输出构成这个子序列的那些元素。我快哭了,做了好久!<br /> <br />无奈地用了结构体。纠结!需要二级排序。<br /> <br />昨晚样例终于能过了 = =。。还是WAWAWA。。。郁闷啊郁闷。。。<br /> <br />看了党的,发现我想得复杂了 = =。。。我还弄了个数组存到第i个元素构成子序列的最小元素。其实没必要的。因为ind数组中存的已经有下标了。。。 = =我发现不能用index这个当做变量名。。。<br /> <br />还有 这个体重是严格上

2010-11-11 13:59:00 2055

原创 zoj 1074 || poj 1050 To the Max(简单DP)

<br />书上的例子。。最大字串和我自己写出来了一个,和书上不太一样,不过书上的比较简单呀。。。<br /> <br />这个题很早以前都见过了,就是不会写 = =。。。学会最大字串后,这个应该也写写了。。<br /> <br />看了书,发现就是把几行加起来把二维的转化成一维的了,谁想出来的啊,真聪明啊。。。<br /> <br />自己回来写,有几个小错误,记下了。。。道理是都理解了。。<br /> <br /> <br />加油!fighting!<br /> <br />#include <std

2010-11-09 18:59:00 1281 1

原创 zoj 1828 Fibonacci Numbers(大数加法= =)

<br />以前看到这题就感觉用大数真麻烦啊。。就直接跳过去了。。今天看党做了,我还是给它A了吧~<br /> <br />写着其实不麻烦啊~~就是确定上界试了好几次。。<br /> <br />求大数的斐波那契数,最大可达1000位!<br /> <br />用大数加法就好了。。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std

2010-11-07 16:45:00 1606

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除