- 博客(73)
- 收藏
- 关注

原创 我搬家了哦!!!
今天,忙了一个早上终于算整理好了,还直的很烦的说我也来赶时髦玩玩wordpress,嘻嘻my new blog:http://coderling.tk/ or http://www.coderling.tk/快来踩踩吧,虽然好像没什么好看,不过与人交流总是件快乐的事
2011-08-16 14:34:32
905
原创 hdu 2544 dijkstra
太恶心了,我只能这么说……………… 那个无穷大一定要够大!!!!!!!!!!!!!!!!!!!!!!!!!!!!#include#define N 105const int max_d = 1000000000;// 至少应该是99*1000的说,一开始只给了1
2011-08-14 16:11:51
787
原创 hdu 1874 最短路径dijkstra
最短路径的纯模板题,第一次作,还是很有必要说说,理一理思路的说不知道大家有没有发现这个迪杰斯特拉算法和最小生成树的prim算法惊人地相似(嗯嗯,估计可能的卵生兄弟来的)1.松张技术(从算法导论上看来的名词,先不必过于纠结它什么含义) 在松弛边(u,v)
2011-08-14 09:15:08
1219
原创 pku 1159 dp
这题有两种方法,一种是用lcs来做,另外就是dp,不过其实现都差不多,内存方面还可以进一步优化,只开一个n的一维数就可以做这题时出现了一件怪事,点怪看代码递推式: c[i][j] = 0 i >= j;
2011-08-12 23:12:08
549
原创 pku 1936 LCS
水………………………………………………………………………………过,只不过是加个判断和模板无分别#include#include#includeusing namespace std;string a,b;string Lcs(){ vector s(a.si
2011-08-12 16:54:06
556
原创 hdu 1159 LCS最大公共子序列
有点那个了…………本来呢保存两行容易写很多,钻牛尖了,不过其实写完之后觉得都很简单,也就这样罢了就是记录下每一次比较有可能被覆盖的两个点[i-1][j-1] 与 [i-1][j]就可以了由递推式: dp[i][j] = dp[i-1
2011-08-12 16:18:18
724
原创 hdu 1233 最小生成树kruskal版
kruskal算法就是在并查集基础上加了个贪心,算法正确性的证明看完算法导论自己还不怎么懂,不过感觉写走来比起prim要来得顺手得多#include#include#includeusing namespace std;class node{public: i
2011-08-12 09:05:36
634
原创 hdu 1233 最小生成树prim1.0版
算法导论看得我真的很蛋疼,都怪自己平时看得书少,这题纯粹是参考别人代码得出来,自己还不是很明白 有一点想说的是,这里并不需要维护父结点#include#define N 105#define MAX 0x7fffffffusing namespac
2011-08-12 01:08:45
599
原创 hdu 2149 博弈 水下去
水……………………………………………………………………………………题#includeusing namespace std;int main(){ int m,n; while(cin >>m >>n){ bool flag = true; if(n >
2011-08-10 14:50:14
821
原创 hdu 1849 组合博弈水题
很明显,很水……………………………………其实就是nim Game 棋子的位置相当于石子的数量,m相当于有多少堆石子,走任意步就是说,可以从堆中任取多少石子#includeusing namespace std;int main(){ int m
2011-08-07 16:30:27
723
原创 hdu 1848 SG函数应用
做了这题才知道所有的ICG游戏都可以转化为nim game来做,中间就是SG值,对SG值的理解还是不够深就这题而言,题目数据不大,可以考虑直接求出单个游戏0-1000的所有SG值,最后取异或之和即可#include#include#include#i
2011-08-07 15:56:56
1148
转载 Sprague-Garundy函数
上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但
2011-08-06 17:12:23
1170
转载 C++ 条件编译
7.3 条件编译命令 在一般情况下,源程序的所有程序行都会参加编译,以生成目标代码。但在某些特殊情况下,也许只希望对部分满足条件的程序行进行编译,这就是条件编译。 程序员可在调试程序中增加一些调试语句,以达到跟踪的目的。当程序调试好后,再利用条件编译重新编
2011-08-06 13:27:26
7206
原创 hdu 1358 & 1711 kmp 模板
怎么说呢,之前看算法的时候,觉得思想自己还是理解了,不过就这几行代码还真的太那个厉害了,其实现在最不明白的是init_next()函数里面的初始化i = 0; k = -1; _next[0] = -1;为什么k 要初始化为-1? 真的不懂,、……………………#i
2011-08-05 19:07:34
865
原创 hdu 1847 被打击了
当我知道,这代码的长度时,我彻底无语了,这如果是比赛时这样的题目做不出来,我想我会,倍受打击,我想不到…………………………………………………………………………………………………… 找必败点,很容易知道当剩下3时,这是一个必败点,又每一个数减1或减
2011-08-04 18:16:45
1770
原创 hdu 1846 有趣,有趣
博弈问题除了有趣之外,我也想不到有什么可以形容了,知识有用之余,又可以骗下那些无知的小朋友(奸笑ing…………)这个又是经典的说,叫做巴什博弈,英文叫Bash Game。嗯嗯,大概又是一个叫Bash的人想到的所谓的Bash Game就是说:在只有一堆n个的物品,两
2011-08-04 16:36:50
838
原创 hdu 1850 第一次博弈
哈哈!!!!这是第一次做组合博弈的问题,不能不说真的很有趣的说,以后回家就找他们玩,虐死他们(嘻嘻…………) 这题用了nim游戏模型,重要的是这个定理: 当nim游戏的某个位置:(x1,x2,x3),当且仅当其各
2011-08-04 15:50:58
2322
1
原创 hdu 2150 水题,我真系好无语咯
我WA,他AC,无语…………………………………………………………………………………………我的代码:#include#include#define N 35#define K 105using namespace std;class cor{pub
2011-08-03 20:31:57
987
1
原创 hdu 1392 模板凸包
这实在是太囧了……………………你妹的,我差点就这样了,明明就是一道模板,交了十几遍一直wa……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
2011-08-03 15:26:11
662
原创 hdu 2018 简单的凸包思想应用
本来只要知道逆时针下,每个新增点的拐向都为逆时针就很容易做的说,不过自己太粗心………………首先拐向判断写错然后又少判断第一个顶点这个角…………#includeusing namespace std;class cor{public: int x,y;};
2011-08-02 20:04:19
765
原创 hdu 2063 最大二分匹配,匈牙利算法
link[i]:表示与集合A中的i想些连的为B中的link[i]; used[i]:表示集合中i点有没有用过 macth[i][j]:集合A中i与集合B中的j是否相连,1代表相连,反之0代表不相连
2011-08-01 16:31:10
633
原创 pku 1308 并查集应用
本来是在hdu 1272上面做,可不知道怎么了,我要hdu上面提交的时候它说我的栈爆了,我就蛋疼了,这怎么可能爆,后来同学告诉我pku上面有一题一样的,我就去交了结果是没过不过也没有传说中的爆栈这回事,后来发现考虑少了一些东西,改完后,还真过了,这时我就无语了,是我的问题还是
2011-07-31 19:01:38
592
原创 hdu 1198 并查集应用
其实可能是因为知道是用并查集做的原因啦,一下就看出题意了,明显是并查集思想,每次输入地图中的一块,检测这一块与它顶头的那块可不可以相通如果可以合并集合;同理检测其与它左边的那一块;最后遍历一遍看有多少个根结点即要多少个水源下面是代码,有点乱#include#incl
2011-07-30 20:13:30
675
原创 hdu 1232 并查集小试牛刀
今天第一次接触并查集这个神马东西,花了二个小时去搞懂一些基本的东西; 并查集思想:1.并查集是用来处理两个不相交集合的问题 2.以树为基础,组成一个森林,一棵树代表一个集合
2011-07-30 17:36:49
584
原创 母函数就这么点事儿(hdu 1079)
之前也有做过不过都忘记了,今日又重新来过,不过写完觉得,这也就不过是这么回事,对于母函数的应用还是比较窄的说,只要记得模板就几乎不可能做不出来,不过前提一定是这要知道这是用母函数做啦。 这里推荐一篇文章写得很不错:母函数详解 由于太长了就不转了。母函数就是模拟我
2011-07-29 23:54:58
1051
原创 hdu 1086 很基本的计算几何
题意不说,已经很明了,这里主要是用了acmppt里面的那个拐向方法判断两条线段是否相交;先写点基本知识: 1. 两下向量p1 ,p2 它们的叉乘(不是点乘): p1Xp2 = x1*y2-x2*y1
2011-07-28 15:29:01
1527
原创 kmp算法
kmp刚开始看时都唔觉得那么难,大概是因为我以自己真正懂了,真是天真的小伙子。后来越看就越发现一切都不是那么简单首先这是一个字符串匹配问题,现要在主串S中找子串T,对于普通的算法,相信没有人会不会的说。我这不是在教人(这一定要声明,那位大虾行过路过,还望指点一二)只不过是想看完写
2011-07-28 01:23:05
742
转载 STL priority_queue 优先队列
纯来看看……………………………………………………………………刚开始学习算法不久,一些常用的算法工具还没有掌握,真是丢人!前一段时间用到优先级队列时,都是自己手动通过最大堆或者最小堆来写一个,容易出错且耗时。接触到STL后,开始用map和set模拟一个优先级队列,但是总有一些小问
2011-07-20 15:56:29
1061
原创 hdu 1026 哎,又做了这么久 bfs
有点烦的题,思路,怎么说呢,好似不是难,就是那个记录路径烦,以前也做过,不过应该大有不同吧这代码很乱,现在我自己也不愿去分析了,其实我应该再写义多一个结构体去,记录每步情况,把初始结点情况与其分开,以免过程中改变了初始的情况,而这里是明显不应改变的 有一点值得注意的就
2011-07-20 15:52:04
475
原创 hdu 1016 很水的dfs
就一全奇偶剪枝罢了#include#includeusing namespace std;int n;int t;bool mark[25];int num[25];void ints(){ for(int i = 0;i <= n;i++){ m
2011-07-19 13:58:08
504
原创 hdu 1010 深搜+回溯
也不想解释了,只是做来找回做题的感觉。迟D出个这方面的小总结,越来越发现对所学知识作总结的重要性了 /*1010Tempter of the Bone*/#include#includeint n,m,time;int xs,ys,xd,yd;in
2011-07-18 16:41:17
636
原创 神啊,我是否还可获得救赎
两个月之后,我再刷起了题,才发觉是多么力不从心,完全没有了以前的感觉,就好似回到了初学那个年代这么水的题我竟………………不说,太丢脸了 #include#include#include#includeusing namespace std;int main(
2011-07-16 21:16:21
569
原创 两个月了,不搞acm感觉不知点算了
自从上次从广州比完赛后,足足两个月不刷过一题,不学算法,最多也只是看看C++primer罢了,刚上了一下hdu感到自己竟不知所措,只是茫然地在翻阅题目,想想又让我不禁想起这一个失败的学期。 我一直以为我可以处理得好好,一直就这么认为,可当考试时我才 发现,一切都不如自己所
2011-07-12 16:46:57
818
1
原创 关联容器的表面
一·关联容器的三种构造函数(C为容器类型,T为容器元数键值类型,c为容器名): C c; //建立空容器 C c1(c2) //建立一个新容器,把c2的所有容器的元素都复制到c1中,即c1为c2的一个副本。 C c(b,e) //把迭代器b,e范围内的元素复制到c中,这个范围内的元素必写是对应类型二·关联容器支持的的操作:
2011-06-04 13:54:00
578
原创 map的应用(swap_word)
<br />带参的main以文件名为参数完成单词转换功能<br />要用到的文件要放在与可执行程序相同的目录中<br />不然运行不了<br /> <br />代码:<br /> <br />#include<iostream>#include<stdexcept> //导常处理头文件#include<map>#include<string>#include<fstream>#include<sstream>using namespace std;ifstream &open_f
2011-06-02 10:57:00
1548
原创 hdu 2072 单词数(map的简单应用)
偶刚开始学C++……路过别喷,欢迎指出不足~~~~#include#include#includeusing namespace std;int main(){ map word_count; string word; string art; char flag; while(getline(cin,art) && art[0] != '#'){ for(string :: size_type i = 0;i != art.size();
2011-05-31 11:32:00
1218
原创 0-1背包问题小总结(hdu 2062)
<br />首先谢过侠哥的拔刀相助,没有你我还是一根葱<br /> <br />直接给状态转移方程:<br />dp[i][v] = max(dp[i-1][v],dp[i-1][v-vol[i]]+val[i]);<br />vol[i] 为第i件物品的体积,val为第i件物品的价值<br />方程意思就是说,我们考虑第i件物品的情况,对于第i件物品只有两种选择:<br />放还是不放,如果不放则得到的重量就是第i-1容量为v时的重量,如果放<br />则得到的是第i-1件物品容量为v-vol[i]时的重
2011-05-29 13:44:00
1946
原创 心血来潮装了了ubuntu 11.04
<br /> 早就听说过linux了,前几天换了电脑在这嗐玩,不知怎么就从脑中冒出玩linux的想法,作天什么有空(原因是我没有心情做野),物理课也起趐了,在网看到ubuntu的发行版最热,就选它了.经过艰苦的战斗,经过无数次百度,goole,经过无数次重启之后之后,终于……终于成功装的了双系统。其实要安装没有那么复习的说,主要是因为害怕把原系统破坏了,还是就是引导问题,本来想用gurb来装的,不过应该是我菜,按网上的方法设置好,重启,竟无法引导镜像文件安装。后来还是放弃了这方法,用软件来(easybcd
2011-05-27 11:30:00
720
原创 以悲奇的形式结束 goole code jam 之旅~~~~
这次参加goole code jam 虽然一开始就没想过要拿什么奖,拿什么T-shirt,不过这样的结局也太令人无语了。 资格赛就无视了吧,基本参加的都可以过,我自认为自己还是有几大希望进军Rund 2 的说在三场Rund 1 中,第一场因为要参加华理工的邀请赛没有做,这也就算了,悲奇的事就从第场开始了…………首先错过第一场的我当然想在第二场过了,不再做第三场啦。那天晚上,我兴高彩烈地写完第一题代码,正要编译,才发现编译器不行(在广州,不是自己电脑,在网上找的个VC6 的绿色版),搞了我老半
2011-05-23 14:00:00
910
原创 hdu 2084 数塔
<br />数塔,最最基础的DP,别人都是这么说,个人觉得(因为个人比较菜)要做出来不难<br />但完完全全理解,分析透彻,还是要仔细想想的说;<br />其实这道题很久之前就做过一次了,那时虽题目明确给出是DP,但压根没有概念<br />什么最优子结构,什么子问题重叠性都是浮云,最后还是出了必杀技(百度,goole)才过了;<br />现在又做一次,看了关于状态的表示(大牛写的,边个就忘了,真不好意思),觉得分析得很好<br />直接贴上来吧:<br />状态表示1-1 最自然的作法是用一元组(X)
2011-05-17 11:30:00
711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人