摘要:匈牙利二部匹配的裸题,算法思想我是懂了,但是代码为什么可以那样写我还没想明白。鉴于过几天要比赛了,所以先拿别人的模板来用。 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 15 #define repA(p,q,i) for( int (i)=(p); (i)!=(q); ++(i) )16 #define repAE(p,q,i) for( ...
阅读全文
摘要:首先要吐槽一下杭电,错误的代码都能过,而且这种情况不止一次了。第一次最大流,纪念一下。就是用的Edmonds-Karp,自己的模板,详细资料参考《算法导论》第26章最大流。题意就是给N条有向路径,M个节点,1为源点,M为汇点,求最大流裸题。直接上代码,代码中,最开始,我初始化和搜索中的范围都是[1,N],在HDU交,居然AC。后来在POJ WA地不明所以,才发现这个错误。注意判重边。 1 #include 2 #include 3 using namespace std; 4 #include 5 #include 6 #include 7 #include 8 #includ...
阅读全文
摘要:离区域赛还有9天。上周末说要看网络流和KM系列算法的,可是看到现在也才搞懂了最基本网络流。匈牙利算法看了N个版本的资料还是没弄清楚,KM算法的百度词条烂得跟渣 一样,图算法连张图都没有。等哥搞懂了,一定要写一个系列出来虐爆那些垃圾文档!上午想把去年杭州赛区现场赛的题目给啃下来,没想到两个几何搞得我根本就不愿动手,另一个是等概率分布变量不等式,解法是容斥原理+N重积分,杀了我吧,果断不做了。剩下一道模拟题,好吧,死也要敲出来。还有KM,KMP,KMQ神马算法哥都给你搞出来,擦擦,哥就不信了还能有哥搞不出来的东西。啦啦啦,发几句牢骚敲代码去啦。
阅读全文
摘要:枚举题。最多只有10个vacant,所以把(1 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 13 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) ) 14 #define repAE(p,q,i) for(int (...
阅读全文
摘要:第37届ACM/ICPC杭州现场赛C题DP经典。思路: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 8 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 9 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )10 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i) )12 #define range 100001013...
阅读全文
摘要:大水题,好欢乐,需要注意的就是字符的读入,不要出错。 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include10 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) )11 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )12 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i...
阅读全文
摘要:题意是求,在一个联通图中,求所以点对之间的最短路,并求出这些最短路中最长的是多少。用Floyd-Warshall是O(n^3),会超时的。用于稀疏图的Johnson算法我不会,所以不知到行不行。所以只有用N次BFS求最短路。图用邻接表储存,BFS的时候注意标记,以便能跳出循环。这样的时间复杂度就会远远低于n^3了。下面是代码: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #define repA(p,q,i) ...
阅读全文
摘要:几乎是裸的最小生成树,只是Nick 和 Apple 要直接相连。上代码: 1 #include 2 #include 3 using namespace std; 4 5 #include 6 #include 7 8 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 9 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) )10 #define repAE(p,q,i) for(int (i)=(p); (i)=(q); --(i) )12 #define range ...
阅读全文
摘要:第一次用hash,第一次用二维树状数组,这道题所涉及到的知识点对我来说几乎是全新的。于是乎这道题花去了我一晚上加一上午搞。一开始直接开10001*10001的数组,维护N棵树状数组,结果显然爆内存了。不过现场赛的时候据说这样就能过,泥玛坑啊!~后来搜题解,才知道。好吧,用过一维树状数组的童鞋学二维应该马上就能上手的,这里贴一个二维树状数组的资料。二维树状数组资料:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804至于hash这里用到的都是简单映射,看完hash的百度词条就能做这题了。其实这道题的关键是在于坐标转
阅读全文
摘要:从暑假集训到现在,整整两个月过去了,与代码为伴的两个月,成长了许多。首先是代码实现能力,发现通过两个月的训练,只要我理解解题的思路,代码基本上都能够敲出来,不过代码性能好不好那又是另外一回事了。其次是思维能力,在对一些基本的数据结构和算法有了基本的了解之后,便有了基本的思考能力,现在拿到题目不至于像九月初那样只是能看懂题意而根本无从入手。再有就是要说到组队,和CSY和TBC同鞋组队的这一个月,有了一点人家日志里一起训练一起拼搏然后一起上战场的感觉。虽然两个坑货在训练是总打击我,不过我这种货可能就是用来打击的吧。但是感觉训练的时候还是认真一点比较好,就像是真的现场赛一样。临近现场赛,总结一下我们
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html作者:阮一峰日期:2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。
阅读全文
摘要:一维DP。给定买电脑的费用c,给定使用年限n。题意就是给定m(j>=i),表示第i年买的电脑,直到第j年需要的维护费用。那么就是一个一维DP了,从代码里可以直接看出解题思路的,所以不解释了。 1 #include 2 #include 3 using namespace std; 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 13 #define repA(p,q,i) for( int (i)=(p); (i)!=(q); ++(i) )14 #defi
阅读全文
摘要:不知不觉中又一个月过去了,这个月,生活里就是ACM,OC,网络选拔赛。而最难忘的,就是ACM网选,虽然很大一部分时间,我都感觉自己在打酱油,我想思考,可惜我根本没有思路。学习了Objective-C,读了jobs传,了解到了computer的发展历程,感受到了一个领域的历史轮迹。我想我跟jobs有很多共同点——完美主义,很容易忽略别人的感受,在满足大众需求中获得乐趣,可诚然,我没有jobs那么疯狂。而我想,我缺少的,恰恰也就是疯狂。我根本无法保证每天对着ACM题,仍然热情高涨,我无法保持效率,于是我找来了OC,做ios应用开发,我找到了一点乐趣,可是,这似乎还不够。我想,我的生活或许就应该是j
阅读全文