![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm——c/c++
ZouCharming
我要AC!!!!
展开
-
利用dfs解决规定路程问题
今天继续dfs的训练,遇到了一道原创 2014-07-21 00:51:45 · 322 阅读 · 0 评论 -
田忌赛马 hdu1052
最近进行贪心的学习,偶遇一道神题,经典的田忌赛马,卡了我好久,关键是思路太乱,不懂如何处理打平情况,后来借鉴了网上的做法,总算弄了出来,现在总结一下传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1052题目描述:Problem DescriptionHere is a famous story in Chinese hist原创 2015-03-31 22:50:48 · 451 阅读 · 0 评论 -
综合题 hdu1811 并查集+邻接表+拓扑排序
最近在做并查集的训练,偶遇一道不错的题目,被卡住了两天,今天终于过了,记录一下。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1811题目:Problem Description自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。为了更好的符合那些爱好原创 2015-03-24 23:27:19 · 643 阅读 · 1 评论 -
UVALive6533 inverting huffman
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=47668题解://思路就是先把二叉树补全,从最下层开始给叶子节点赋值,每一层的叶子节点能取到的最小值为下一层中的最大值#include#includeusing namespace std;int n,top;typedef struct Huffm原创 2015-04-10 18:51:19 · 435 阅读 · 0 评论 -
HDU4565-2013年长沙邀请赛A题
转自:http://blog.csdn.net/crazy______/article/details/9021169Sn=⌈(a+b√)n⌉%m,(a−1)2ba2这个题目也是2008年Google Codejam Round 1A的C题。做法其实非常简单,记(a+b√)n为An,配项Cn=An+Bn=(a+b√)n+(a−b√)n两项恰好共轭,所以Cn是整数。又根据转载 2015-04-20 20:43:35 · 403 阅读 · 0 评论 -
BZOJ2561 最小生成树
在做最小生成树训练时,遇到该题,立即就被卡住了,后来百度了一下,借鉴了网上的思路才弄出来Orz。题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=46843这道题实际上是最小割问题,做这道题不仅训练了最小割,还复习了一下邻接表,确实是一道不错的题,具体思路和过程见代码//思路:分别用原创 2015-04-29 20:41:44 · 554 阅读 · 0 评论 -
组合数学——不过对角线的格路问题
众所周知,格路问题是经典的组合数学问题,在n*n的格子盘中,对于从(0,0)->(n,m)的路线数为C(n+m,n),但是,如果加个要求:路线不允许穿过格子盘对角线,那又该怎么办呢?如图所示,我们的目标是从(0,0)到(m,n),且不穿过对角线,即x=y线做法如下:首先,把对角线向右平移一个单位,把格子盘扩展为(n+1)*(n+1),此时的对角线变为原创 2015-04-27 17:26:35 · 7062 阅读 · 2 评论 -
dinic算法的学习——hdu4280
最近在学习网络流部分,之前看了一下dinic算法,一直没机会尝试一下,今天终于体验了一下,然后就做一下总结题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4280在做题过程中使用了邻接表,dinic算法,以及一个超神的扩展栈空间的语句具体步骤在下面的代码中体现#include#include#pra原创 2015-05-22 22:23:23 · 419 阅读 · 0 评论 -
后缀数组——倍增算法
最近在做字符串方面的训练,做到后缀数组时卡了好久,后缀数组的实现有两种方法,而我看的是倍增算法,其实倍增算法的思路还是很简单的(详见白书),只是给的模板代码对于我这种渣渣来说有点艰难,弄了好久才弄懂。虽说是字符串方面的算法,但是它的实现过程是以数字的形式进行的,也正因如此,该算法同样适用于数字串(字符串应先转换成ASCII码)在使用倍增算法时应注意的两点:1,如果是求一原创 2015-06-22 16:22:17 · 529 阅读 · 0 评论 -
hdu2328——Corporate Identity(后缀数组练习)
今天继续后缀数组的练习,在做一道题时花了较多的时间,主要是一些细节上的问题,也是后缀数组题目常出现的一些细节问题,做完这题让我对后缀数组的使用更加熟悉了。链接:http://acm.hdu.edu.cn/showproblem.php?pid=2328相关细节在代码中体现://sa存的是排好序的后缀序号,Rank存的是每个后缀序号对应的排名//用后缀数组时,一定要注意原创 2015-06-25 18:56:19 · 609 阅读 · 0 评论 -
poj3581后缀数组+离散化思想
今天做后缀数组练习时,偶遇poj3581,这题并不难,但是感觉思路比较巧妙,而且学习了一下离散化的思想,所以做一下记录链接:http://poj.org/problem?id=3581题目大意是给你一个串,你把它分成三段,并且把每一段翻转,求字典序最小一开始我的想法是:从头到Rank最小的后缀为一段,拿掉这一段后,又从断口到Rank最小的后缀为一段,剩下的为一段原创 2015-06-29 11:20:39 · 565 阅读 · 0 评论 -
ZOJ 2615——用栈模拟dfs
ZOJ 2615整整弄了两天,虽然说题目意思很简单,就是dfs。但是由于数据过大,不得不采取用栈去模拟dfs的方法,下面做一下总结题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=13618题目大意就是给你两个数,询问前一个数是否为后一个数的祖先,在做题过程中,由于查询次数过多,所以借鉴了网上的原创 2015-05-26 12:37:40 · 990 阅读 · 0 评论 -
poj3693——后缀数组+RMQ
还是后缀数组,我觉得用后缀数组做字符串的题真真无敌了,今天做字符串练习时,又学到一项新技能,RMQ,加上题目的思路比较巧,就随意做一下总结。。题目链接:http://poj.org/problem?id=3693题目大意是给你一个串,要你求重复次数最多的子串题目的主要思路还是网上的(我还是太菜。。)给个思路的链接(我觉得讲的挺好):http://m.原创 2015-06-30 20:00:11 · 928 阅读 · 0 评论 -
poj3311 Floyd+枚举
今天在做枚举练习时,做到了此题。链接:http://poj.org/problem?id=3311此题大意是:给你一个有向加权图,问你如何从0点开始,以最小的时间遍历完所有点后,回到0点,整个过程路径可以重复走一开始,我的弱智想法是,每到一个点就遍历所有点,后来发现根本找不到什么条件让这个结束,后来不经意间看到了Floyd算法,我突然想到,可以先用Floyd把任意两点间原创 2015-10-14 23:28:10 · 682 阅读 · 0 评论 -
hdu1438 钥匙计数之一
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1438一道非常好的递推题目(感觉较难),解释在代码中/*F[n]=0;若前n-1个元素已构成钥匙,F[n]+=4*F[n-1];若前n-1个元素构不成钥匙,且加上2/3后构成钥匙,说明前n-1个不满足三个不同元素的要求(只有1/4)F[n]+=2*(2^(n-1)-2),-2为原创 2015-01-20 15:19:29 · 658 阅读 · 0 评论 -
动态规划——hdu1003
网上的人都说hdu1003是一道dp水题,我却wa了2天,不过,不管怎么说,还是过了,简单的总结一下吧上题:Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, giv原创 2015-01-30 16:28:08 · 396 阅读 · 0 评论 -
ACM必须掌握的算法
论坛看到的搞ACM必须掌握的算法,惊出一身冷汗,原来自己还有很多不会啊.........第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要转载 2014-12-20 20:21:32 · 466 阅读 · 0 评论 -
dfs学习总结
今天做到了dfs的训练,感觉和bfs有相似之处原创 2014-07-19 16:48:42 · 630 阅读 · 0 评论 -
ACM中常见错误对应表
Waiting:你的程序刚刚提交,正在等待OJ评测你的程序。 Compiling:OJ正在编译你的程序。 Accepted:OK!你的程序是正确的 ^_^。 Wrong Answer:你的程序运行的结果和正确结果不同。状态页面CASE那一览显示的是你的程序在第几个样例上出错的。 Time Limit Exceeded:你的程序运行时间转载 2014-06-16 19:33:12 · 950 阅读 · 0 评论 -
拓扑排序小结
拓扑排序是对图的一种排序原创 2014-07-25 20:11:57 · 565 阅读 · 0 评论 -
并查集三剑客
Make_Set:用来初始化Find_Set:查找元素所在集合,并压缩路径Union:合并两集合(不建议根据自己的思路来合并,感觉很容易错,当然大神除外)学习参考:http://www.cnblogs.com/cherish_yimi/archive/2009/10/11/1580839.html原创 2014-06-17 12:16:48 · 540 阅读 · 0 评论 -
bfs学习
今天做到了bfs的练习,顺便写下原创 2014-07-12 20:48:53 · 411 阅读 · 0 评论 -
map映照容器的使用
map映照容器可以实现各种不同类型数据的对应关系原创 2014-06-20 21:37:49 · 454 阅读 · 0 评论 -
欧拉回路以及欧拉路径
欧拉回路是指在一个图中存在一个回路使得con原创 2014-10-30 22:50:52 · 2227 阅读 · 0 评论 -
背包问题
转载自:http://blog.csdn.net/insistgogo/article/details/8579597转载 2014-10-15 22:10:23 · 400 阅读 · 0 评论 -
树的直径问题poj2631
树的直径是指在一棵树中,原创 2014-10-31 15:57:59 · 617 阅读 · 0 评论 -
01背包及其优化
动态规划是解决变成问题的yi原创 2014-10-17 18:55:12 · 428 阅读 · 0 评论 -
数组建立邻接表的方法
具体的思路是,在建立邻接表时原创 2014-11-21 16:58:56 · 3402 阅读 · 2 评论 -
不同类型元素的并查集操作
过去在做并查集的题目时,往往是将相同元素组成一个集合进行操作,最近,在练习中发现,原来并查集还可以操作类型不同的元素,具体来说,就是在统计敌对关系或者不同类型元素之间的关系时,比如食物链,也会用到并查集,但是分成多个集合是不现实的,因为元素之间的关系有可能交叉,因此,应该使用一个集合去操作常用方法:每个元素除了有记录父节点的数组外,还要有一个记录与当前父节点的距离的数组,为什么说是当前原创 2014-12-16 23:32:16 · 740 阅读 · 0 评论 -
动态规划解决最长子序列问题
文章部分内容转自:http://blog.chinaunix.net/uid-26548237-id-3374211.html今天在网上看到一篇关于动态规划解决最长子序列的文章,我觉得他写得比较易懂,就转了部分过来(红色字体是我的学习备注):1、序列str1和序列str2 ·长度分别为m和n; ·创建1个二维数组L[m.n];转载 2015-01-27 16:31:42 · 563 阅读 · 0 评论 -
欧几里得算法及扩展欧几里得算法
欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因转载 2016-04-23 22:55:43 · 538 阅读 · 0 评论