08 2011 档案
留言板
摘要:关于留言板的说明:只要填上一个名字,就可以留言了,下面的两项都是可填可不填的。 阅读全文
posted @ 2011-08-29 00:23 cchun 阅读(114) 评论(0) 推荐(0)
关于cchun
摘要:本站是cchun的第一个个人博客,cchun爱编程,爱技术,爱折腾,他将在这里写下生活,心情,以及解题报告,编程思想等文章。欢迎在生活上,技术上,编程上,心理上,与大家共探心得体会,更欢迎来访的你尽情蹂躏这块地方。希望来访的你,别吝啬你的脚印哦! 阅读全文
posted @ 2011-08-28 13:44 cchun 阅读(184) 评论(0) 推荐(0)
HDU2188-Bash博弈
摘要:题意:略解题思路: 直接Bash博弈,水水更健康。。。代码:#includeusingnamespacestd;intmain(void){intcas,total,price;scanf("%d",&cas);while(cas--){scanf("%d%d",&total,&price);if... 阅读全文
posted @ 2011-08-23 17:18 cchun 阅读(223) 评论(0) 推荐(0)
HDU2147-kiki's game(其它博弈)
摘要:题意:棋的初始点是(1,m),即右上角。 下棋者只能往左边(left),左下面(left-underneath),下面(underneath),这三个方格下棋。解题思路:只要画出NP图就可以发现规律了。。。N:必胜点(如果左边,左下角,下角有一个P点,那么这个点就是N点)P:必败点(如果左边,左下角,下角全都是N点,那么这个点就是P点)最后棋子一定到达(n,m)这个点,所... 阅读全文
posted @ 2011-08-23 17:01 cchun 阅读(257) 评论(0) 推荐(0)
HDU2149-Public Sale(Bash 博弈)
摘要:题意:(略)解题思路: 又是一道Bash博弈,直接水过吧。。不过这道题要求说当先手有可以开多个价(必胜点)时,要将这些数全都输出。其实出现这种情况只有一种可能,那就是当商品的总价值少于每次你可以开的价值时才有多个必胜点,那么加一条判断语句不就秒杀掉了额么?代码:#includeusingnamespacestd;intmain(void){intto... 阅读全文
posted @ 2011-08-23 15:39 cchun 阅读(355) 评论(0) 推荐(0)
HDU1849-Rabbit and Grass(Nimm博弈)
摘要:题意:游戏的规则是这样的:1、棋盘包含1*n个方格,方格从左到右分别编号为0,1,2,…,n-1;2、m个棋子放在棋盘的方格上,方格可以为空,也可以放多于一个的棋子;3、双方轮流走棋;4、每一步可以选择任意一个棋子向左移动到任意的位置(可以多个棋子位于同一个方格),当然,任何棋子不能超出棋盘边界;5、如果所有的棋子都位于最左边(即编号为0的位置),则游戏结束,并且规定最后走棋的... 阅读全文
posted @ 2011-08-23 15:14 cchun 阅读(393) 评论(0) 推荐(0)
HDU1846-Brave Game(巴什博弈)
摘要:巴什博弈,没啥好说的了。。。代码:#includeusingnamespacestd;intmain(void){intnum,number,everyT;scanf("%d",&num);while(num--){scanf("%d%d",&number,&everyT);if(number%(every... 阅读全文
posted @ 2011-08-23 11:09 cchun 阅读(138) 评论(0) 推荐(0)
HDU1805 && HDU2176 -Nimm博弈
摘要:HDU1805题意:给你三堆牌,每次从其中一堆中拿出任意张牌,最先拿完的人胜利。解题思路: 经典的尼姆博弈。只要其中的n-1堆牌的异或和小于剩余的那一堆,那么这个点就是N点。 为了方便求解,程序会先将n堆得异或和求出,然后再跟n堆中的任意一堆异或,结果就是n-1堆的异或值。因为0与任何值异或,都是它本身。ps:尼姆博奕(Nimm Game)基础... 阅读全文
posted @ 2011-08-23 10:55 cchun 阅读(324) 评论(0) 推荐(0)
HDU3785
摘要:直接飘过吧,没啥说的。#include#includeusingnamespacestd;boolcmp(inta,intb){if(a>b)returntrue;elsereturnfalse;}intmain(void){intn,m,i;inta[100000];whi... 阅读全文
posted @ 2011-08-23 01:24 cchun 阅读(124) 评论(0) 推荐(0)
HDU2502
摘要:#include#includeusing namespace std;int main(void){int n,m,sum;cin>>m;while(m--){cin>>n;sum=pow(2,n-1)+(n-1)*pow(2,n-2);cout<<sum<<endl;}return 0;} 阅读全文
posted @ 2011-08-23 01:18 cchun 阅读(132) 评论(0) 推荐(0)
HDU1282-回文数猜想
摘要:代码:#include#includeusingnamespacestd;intmain(void){charsnumber[1001],snumber1[1001],snumber2[1001],answer[1001][1001];intlen1,flag,a,k,i,j;while(cin>>snumber){str... 阅读全文
posted @ 2011-08-23 01:09 cchun 阅读(192) 评论(0) 推荐(0)
HDU2819
摘要:#includeusingnamespacestd;constintMAX=105;intn,flag;intvisited[MAX],match[MAX],mat[MAX][MAX];voidinit(){for(inti=1;i<MAX;i++)for(intj=1;j<MAX;j++){... 阅读全文
posted @ 2011-08-22 16:45 cchun 阅读(256) 评论(0) 推荐(0)
二分图匹配入门知识
摘要:二分图匹配算法总结二分图最大匹配的匈牙利算法 二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。最大匹配: 图中包含边数最多的匹配称为图的最大匹配。 完美匹配: 如果所有点都在匹配边上,称这个最大匹配是完美匹配。最小覆盖: 最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=... 阅读全文
posted @ 2011-08-22 01:28 cchun 阅读(1307) 评论(0) 推荐(0)
HDU2063-过山车(二分匹配)
摘要:题意: 有N个女生想跟自己的一个或者多个男生做在一起。然后要你算出最后能够匹配出多少对。解题思路: 这道题是明显的二分匹配题目。有个强大的算法:匈牙利算法,确实很凶,这算法挺牛叉。 这道题属于单边匹配。 算法的大体过程:先让图的左边去右边找匹配项,(右边可能有多个),暂时先找一个,然后再由左边的下一个项可是找,如果有刚刚好剩下的符合自己的项就添加,若... 阅读全文
posted @ 2011-08-22 01:19 cchun 阅读(226) 评论(0) 推荐(0)
欧拉回路与欧拉通路入门介绍
摘要:1、基本概念:(1)定义欧拉通路(欧拉迹)—通过图中每条边一次且仅一次,并且过每一顶点的通路。欧拉回路(欧拉闭迹)—通过图中每条边一次且仅一次,并且过每一顶点的回路。欧拉图—存在欧拉回路的图。欧拉图就是从一顶出发每条边恰通过一次又能回到出发顶点的那种图,即不重复的行遍所有的边再回到出发点。通路和回路-称vie1e2…envj为一条从vi到vj且长度为n的通路,其中长度是指通路中边的条数.称起点... 阅读全文
posted @ 2011-08-21 21:17 cchun 阅读(1078) 评论(0) 推荐(0)
HDU1116-Play on Words(欧拉回路+并查集)
摘要:题意: 给你一连串的单词,每个单词只要能够首位相连就可以输出Ordering is possible.否则输出The door cannot be opened.解题思路: 典型的欧拉回路,把每个单词的首字母跟尾字母作为节点,然后算每个节点的入度跟出度, 1.首先应判断这个图是否有连通分量,如果有连通分量,那么这个图就不满足。2.当图没有连通分... 阅读全文
posted @ 2011-08-21 13:51 cchun 阅读(375) 评论(0) 推荐(0)
HDU3018-Ant Trip(欧拉回路+邻接表+并查集)
摘要:发发牢骚:刚刚TLE了两次,晕菜。这个鸭梨就大了。怎么我前面的那个u1[]跟v1[]这两个数组开不够大,结果HDU报的是TLE。这个压力。。 第一次做这种有连通分量的欧拉路,离散又还没看到那里。所以看大牛的思路了。题目意思: 有一个团队的人要去逛小镇,这个镇是无向图,然后规定每条路只能走一次,且两个小镇之间只有一条小路。(就避免了多条路径的问题。)然后这个... 阅读全文
posted @ 2011-08-21 10:45 cchun 阅读(668) 评论(0) 推荐(0)
HDU1878-欧拉回路(入门题+并查集)
摘要:题意: 判断一个图是否是欧拉回路。欧拉回路: 图 G 的一个回路,若它通过 G 中每条边一次且仅一次,则称为欧拉回路。 其中有著名的哥尼斯堡七桥问题或一笔画问题。(原来小时候我们就接触欧拉回路了,欧拉回路还是蛮常见,蛮简单的)解题思路: 只要每个点都有入度,出度,那么这个图就是一个欧拉回路。然后再用并查集判断一个图是否是连... 阅读全文
posted @ 2011-08-20 16:30 cchun 阅读(757) 评论(0) 推荐(0)
HDU1175-连连看(BFS)
摘要:个人牢骚(可以跳过): 这道纠结题,算起来,这道题好像是10几天前做的了吧。。中途有几天反复拿出来debug几个小时,每次都改进了一点点,但是还是WA。应该从最初的队列说起吧,还没有给start的方向跟拐角数赋值就匆匆慢慢地入队。好吧,这个好像检查了半个小时呢,自己的检查效率好低啊,暑假人真懒散。之后,debugOK了,哈哈,测试数据都过,心里那个激动啊,直接就submit,想不到TL... 阅读全文
posted @ 2011-08-20 15:28 cchun 阅读(219) 评论(0) 推荐(0)
HDU1162和HDU1875
摘要:HDU1162,单纯地求最小生成树。此处用prim算法+邻接阵。代码:#include#includeusingnamespacestd;constintMAXV=105;constdoubleinf=1000000000;typedefdoubleelem_t;structpoint{doublex,y;}point[MAXV];doubl... 阅读全文
posted @ 2011-08-18 01:42 cchun 阅读(168) 评论(0) 推荐(0)
PKU3013-Big Christmas Tree(SPFA+queue+邻接表)
摘要:做了几道PKU上的图论,感觉PKU上的图论题很坑人。都是属于比较不易理解,且变化丰富的。这样也好,被虐多了,或许感觉就慢慢来了。3013,做了一两天了。表示累透了~~此题一上来第一反应就是图论,可是当我花了不少时间彻底理解了题目后,却发现有点儿不像图论,怪怪的,毛毛的,下面会解释。题意: 某人过圣诞节,要买个圣诞树,然后正常的想要尽量花最小的钱达到要求。这个图是一棵倒着的树,每一条边... 阅读全文
posted @ 2011-08-17 18:10 cchun 阅读(233) 评论(0) 推荐(0)
PKU2387-Til the Cows Come Home(SPFA+邻接表)
摘要:这道题还是蛮经典的图论题。题意:DescriptionBessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty s... 阅读全文
posted @ 2011-08-15 16:49 cchun 阅读(193) 评论(0) 推荐(0)
HDU1863-畅通工程(prim)
摘要:题意: 要求你输入n条边,还有nodeNum个结点。 然后求将所有结点连接起来的总权值达到最小,这不就是最小生成树嘛。题意还是比较经典,好理解的。prim算法:方法:从指定顶点开始将它加入集合中,然后将集合内的顶点与集合外的顶点所构成的所有边中选取权值最小的一条边作为生成树的边,并将集合外的那个顶点加入到集合中,表示该顶点已连通.再用集合内的顶点与集合外的顶点构成的边中找最... 阅读全文
posted @ 2011-08-15 09:17 cchun 阅读(348) 评论(0) 推荐(0)
HDU1233-还是畅通工程(prim算法)
摘要:题意:给你N个节点,然后N(N-1)/2即两两点之间的线路, 然后要你求连通所有点的最短路径。即求出最小生成树。 这道题我用prim算法做,prim算法跟Dijkstra还是蛮相似的。代码实现起来也很像。题目没什么困难的地方,算是一道很好的最小生成树的入门题目。prim算法:方法:从指定顶点开始将它加入集合中,然后将集合内的顶点与集合外的顶点所构成的所有边中选取权值最小... 阅读全文
posted @ 2011-08-15 02:37 cchun 阅读(422) 评论(0) 推荐(0)
PKU3259-Wormholes(SPFA判断负环,含题意)
摘要:题目: 一开始被题目的梦幻给弄的晕乎乎。的却,作者很会yy。 意思是: 一个农夫有cas个田地,然后每个田地里面有nodeNum个结点,结点之间可能有多条路径(这是一个无向图),田地里还有w个虫洞(虫洞是某种可以搞穿越的东西,即时光倒流),那么从这个虫洞开始,又有s(起点),e(终点),t(花费的时间)。正常路径的(时间——t当然是正数的。... 阅读全文
posted @ 2011-08-14 23:12 cchun 阅读(220) 评论(0) 推荐(0)
ACM国内外OJ网站大集合
摘要:看到了暨南大学的新OJ,激动啊。。虽然不算强,但是我们会努力的……国内:(一下排名不分先后) 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 同济大学(TJU):http://acm.tongji.edu.cn/ 杭州电子科技大学(HDU):http://acm... 阅读全文
posted @ 2011-08-14 21:54 cchun 阅读(14508) 评论(2) 推荐(2)
windows xp下配置JDK环境变量简明教程--(个人经历)
摘要:windows xp下配置JDK环境变量:准备: 先去sun官网http://java.sun.com/下jdk,如果你已经有jdk了,那么这一步省略。开始: 1.安装JDK,我默认安装在C:\Program Files\Java\jdk1.6.0_10; 2.安装完成后,右击“我的电脑”,点击“属性”; 3.选择“高级”选项卡,点击“环境变量”; ... 阅读全文
posted @ 2011-08-14 13:39 cchun 阅读(353) 评论(0) 推荐(0)
最小生成树算法入门(克鲁斯卡尔算法and 普里姆算法)
摘要:给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2)普里姆算法图的存贮结构采用邻接矩阵.此方法是按各个顶点连通的步骤进行,需要用一个顶点集合,开始为空集,以后将以连通的顶点陆续加入到集合中,全部顶... 阅读全文
posted @ 2011-08-14 02:08 cchun 阅读(1842) 评论(0) 推荐(0)
Dilworth定理,链还是反链?
摘要:这两天被Dilworth、链和反链搞到头昏脑胀,终于有点眉目,现在来总结一下。Dilworth定理说的是:对于一个偏序集,其最少链划分数等于其最长反链的长度。Dilworth定理的对偶定理说的是:对于一个偏序集,其最少反链划分数等于其最长链的长度。Dilworth定理先不证,有空再不上来,其对偶定理证明如下:设一个偏序集S的最少反链划分数是p,最长链长度是r。1.先证p≥r。这是显然的,因为最长链... 阅读全文
posted @ 2011-08-14 02:03 cchun 阅读(576) 评论(0) 推荐(0)
HDU2680-Choose the best route(SPFA)
摘要:题目的意思: 第一组输入3个数,n, m and s,(nusingnamespacestd;constintmaxNum=1010;constintmaxInt=999999999;intmap[maxNum][maxNum];intdis[maxNum];charvst[maxNum];intnodeNum,ed... 阅读全文
posted @ 2011-08-14 00:18 cchun 阅读(211) 评论(0) 推荐(0)
HDU1874-畅通工程续(SPFA,Mellman_ford)
摘要:图论的经典入门题目: 一开始想用此题试试Mellman_ford算法,可是不料,直接TLE 最后改为SPFA,就过了,看来Mellman_ford算法不经优化,还是行不通的。。不够至少通过这道题目认识了Mellman_ford算法:Mellman_ford算法流程:给定图G(V, E)(其中V、E分别为图G的顶点集与边集),源点s,数组Distant[i]记录从源点... 阅读全文
posted @ 2011-08-14 00:15 cchun 阅读(237) 评论(0) 推荐(0)
HDU1596-find the safest road(Dijkstra小变换)
摘要:图论注意:1、单向还是双向图,考虑清楚2、注意那个maxInt这个值超不超,够不够3、注意是否两点间有多条路径4、分清变量是double型的还是int型的5、注意主函数中初始化map[][]中的点边不要搞错(注意所有初始化,正确命名好变量)题目的意思: 给你一个图,n*n的矩阵形式,矩阵中的每一个元素,如map[2][4]=0.4,表示从2到4的安全系数为0.4.... 阅读全文
posted @ 2011-08-14 00:09 cchun 阅读(304) 评论(0) 推荐(0)
openCV之鼠标绘图
摘要:#include"cv.h"#include"highgui.h"#include#includeIplImage*inpaint_mask=0;IplImage*img0=0,*img=0,*inpainted=0;CvPointprev_pt={-1,-1};//定义原点的位置voidon_mouse(intevent,int... 阅读全文
posted @ 2011-08-13 11:05 cchun 阅读(1842) 评论(0) 推荐(0)
2011-ACM/ICPC亚洲区中国大陆5个赛区信息汇集
摘要:大连赛区(大连理工大学)网络赛(DLUT-OJ):2011.09.03 12:00-17:00现场赛时间:2011.09.24-25竞赛主页:http://icpc.dlut.edu.cn上海赛区(复旦大学)网络赛(HDOJ):2011.09.10 12:00-17:00现场赛时间:2011.10.15-16竞赛主页:http://www.cs.fudan.edu.cn/computer... 阅读全文
posted @ 2011-08-12 16:18 cchun 阅读(332) 评论(0) 推荐(0)
HDU1847-Good Luck in CET-4 Everybody!(巴什博弈入门)
摘要:先不说1847这道题,我们先从巴什博弈入手,理解了巴什博弈,相信这道题便迎刃瓦解。巴什博弈(定理献上): 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. n = (m+1)r+s , (r为任意自然数,s≤m),即n%(m+1) != 0,则先取者肯定获胜。巴什博弈还是很好理解滴,以你是先手的角度考虑。你想把... 阅读全文
posted @ 2011-08-10 15:27 cchun 阅读(1866) 评论(0) 推荐(0)
HDU1527-取石子游戏(入门博弈)
摘要:今天第一次正规从头开始刷博弈题。这道博弈没神马灵活,运用性可言,只是单纯地套威佐夫博弈公式而已。怎么,威佐夫公式没听过?我粘过来了: 前几个必败点如下:(0,0),(1,2),(3,5),(4,7),(6,10),(8,13)……可以发现,对于第k个必败点(m(k),n(k))来说,m(k)是前面没有出现过的最小自然数,n(k)=m(k)+k。一个必败点有如下性质:... 阅读全文
posted @ 2011-08-09 18:42 cchun 阅读(454) 评论(0) 推荐(0)
HDU2056-Rectangles(简单的数学几何题)
摘要:水题飘过,不过要注意坐标的交换,别让水题成为卡人的难题。 阅读全文
posted @ 2011-08-07 23:51 cchun 阅读(195) 评论(0) 推荐(0)
HDU2064--简单hanno塔
摘要:第1步:初始状态第2步:把上面的n-1个盘移到第3号杆上第3步:把第n个盘从1移到2第4步:把前n-1个从3移到1,给第个盘让路第5步:把第n个盘从2移到3第6步:把前n-1个从移到3,完成移动我们设f(n)为把n个盘从1移到3所需要的步数,当然也等于从3移到1的步数。看什么的图就知道,要想把第n个盘从1移到3,需要想把前n-1个从1移动3,再从3->1最后再1->3。而第n... 阅读全文
posted @ 2011-08-07 23:45 cchun 阅读(293) 评论(0) 推荐(0)
java连连看(GUI有进度条加背景音乐)
摘要:《连连看》,看起来本来就傻乎乎的游戏,复习周的我,想不到手痒痒,竟然也连续玩了几天。玩的时候才发觉,原来看起来傻傻的游戏,要玩好,还是很困难的。(承认我眼神不好吧),话说平兄啊,你咋玩到8万的啊?玩来玩去,《厨房连连看》还是六万多。好吧,这一次,本来我打算开挂的,鉴于有QQ被封的危险,还是自己写一个吧。 写的过程中,艰辛不已,艰辛的不是那个界面,而是算法,算法啊,果真一切应... 阅读全文
posted @ 2011-08-07 13:32 cchun 阅读(2150) 评论(10) 推荐(1)
HDU1232--并查集入门(畅通工程)
摘要:一道并查集的入门题目。没什么好说的,代码已经注释了。。并查集,概念其实都不是很难,不要被这种东西吓到。继续~~#include#includeusingnamespacestd;intpre[1005];intfind(intx){intr,j;r=x;while(pre[r]!=r){r=pre[r... 阅读全文
posted @ 2011-08-07 13:25 cchun 阅读(338) 评论(0) 推荐(0)