自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大洋深处

爱生活,爱算法,爱coding

  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 poj3468A Simple Problem with Integers(线段树+成段更新)

题目链接:huangjing题意:给n个数,然后有两种操作。【1】Q a b 询问a到b区间的和。【2】C a b c将区间a到b的值都增加c。思路:线段树成段更新的入门题目。。学会使用lazy即可。还需要注意的是,lazy的时候更改是累加,而不是直接修改。。有可能连续几次进行修改操作。。注意这一点就好了。。。题目:Language:De

2014-08-30 21:20:35 1427

原创 uestcoj 890 Card Trick(dp+逆推)

题目链接:啊哈哈,点我点我思路:从终点向前递推。首先p[I]表示从第i个点到终点的概率。则分为两种情况进行考虑。【1】已经翻到的点则它必定会到终点,则概率为1.【2】不知道的点则要进行枚举。那么p[i]=sum(p[i+j])/13(2=为什么要逆推,因为从前往后走,要用到后面的状态。哎,自己的dp好弱啊,一个暑假好像都没怎么做。。哎,加油啊!!!题目:

2014-08-30 20:23:28 1056

原创 zoj2027Travelling Fee(Spfa+枚举)

题目链接:huangjing题意:给了起始和终点城市,然后给了若干对城市和距离,然后从起点到终点最小的费用,但是有一个新优惠,那就是费用最大的两个城市之间可以免费。思路:最开始以为求了最短路然后减去最大的费用即可。但是想了一组样例就知道是错的。比如1--->2---->3 然后有直接1----->3,那么如果按刚才的思路,那么最小费用就是2      2     5

2014-08-28 10:15:51 982

原创 邻接表的使用及和vector的比较

这几天碰到一些对建边要求挺高的题目。而vector不好建边,所以学习了邻接表。。下面是我对邻接表的一些看法。邻接表的储存方式邻接表就是就是每个节点的一个链表,并且是头插法建的链表,这里我们首先用数组进行模拟。。first [u],next[e]分别表示节点u的第一条边的编号,第e条边的下一条边的编号。。则实现代码为:next[e]=head[u[e]];head[u[e]]=

2014-08-27 09:42:59 2723 4

原创 poj1613Cave Raider(带限制的最短路+spfa)

题目链接:huangjing题意:题意:有很多条轨道,但是这些轨道在特定的时间内会关闭,求出从起点到终点的最小时间。思路:【1】首先建图比较麻烦,最开始我模拟度数,但是一直是错的,看了几个小时还是错的,最后参考别人的,果断暴力,巧妙的引入now变量。。【2】然后就是求最短路了。。时间很难求。。就是在一个地方比较难弄,就是这条路可以走。所以在开启时间和达到temp的时间中

2014-08-26 08:48:08 1070

转载 ~~~!!!

转载链接:

2014-08-25 16:01:12 872 1

原创 hdu1325is it a tree?&&poj1308 is it a tree?(并查集)

题目链接:huangjing||huangjing建议做hdu上的这个题,因为poj上面的数据很弱,就是因为只做了poj上面的导致我在一次比赛中一直wa到比赛结束,因为比赛的那次挂的是hdu上的题。。。题意:判断由给出的数据得到的是否是一棵树。。。思路:这个题有几个要注意的地方。【1】首先一棵树只能有一个入度为0的点即根节点。。所以根节点唯一。。【2】除根节点外

2014-08-23 11:23:05 920

原创 poj2502Subway(SPFA)

题目链接:huangjing分析:首先说我做这题在哪里出现误区。。【1】 首先一条线路上的地铁站只有相邻的两站可以到达,比如一站和3站就不能直接到达,所以建边的时候应该用步行建边。。。。还有就是数据给的同一条线路上的地铁站的纵坐标都相同,所以比较误导人。。。【2】最后的结果要四舍五入,就是精度的问题要注意。。。【3】还有一个小知识  double类型的不能初始化为-1。

2014-08-22 21:48:51 1153

原创 hdu1385Minimum Transport Cost(最短路变种)

题目链接:huangjing思路:输出路径的最短路变种问题。。这个题目在于多组询问,那么个人觉得用floyd更加稳妥一点。还有就是在每个城市都有过路费,所以在floyd的时候更改一下松弛条件即可。。那么输出路径怎么办呢??我采用的是输出起点的后继而不是终点的前驱。。因为我们关心的是路径字典序最小,关心的是起点的后继。。。那么打印路径的时候就直接从前向后打印,这个和dijkstra的

2014-08-21 09:07:56 2913

原创 poj3187Backward Digit Sums(DFS)

题目链接:huangjing思路:这个题目想到dfs很容易,但是纠结在这么像杨辉三角一样计算那些值,这个我看的队友的,简直厉害,用递归计算出杨辉三角顶端的值。。。。具体实现详见代码。。。题目:Language:DefaultBackward Digit SumsTime Limit: 1000MS Memo

2014-08-20 20:17:38 968

原创 poj1856Sea Battle(DFS)

题目链接:huangjing思路:这个题目当时想到是找联通快,但是不知道怎么判断这个联通快是不是标准的好船,后来看了别人的题解才知道可以用面积去判断。。。这个知道了就是简单的dfs找联通快了。。注意是如果出现一艘破船则不用找了,直接输出就可以了。。。题目:Sea BattleTime Limit: 1000MS Memory Limi

2014-08-20 16:26:50 934

原创 hdu1205 吃糖果(鸽笼原理)

题目链接:huangjing思路:这个题我是这样想的,把其他颜色的糖果当成挡板,必过有n个,那么就可以形成n+1个位置,那么如果n+1大于最大堆糖果树,那么就可以吃到所有不同的糖果,但是有可能会说,万一其他颜色的糖果冲突呢????但是因为其他每种颜色的糖果的数目必然小于最大的,那么可以把这些插入到最大堆的糖果和其他颜色中,相当于加大板子的厚度。。。。题目:吃糖果

2014-08-20 16:06:59 1152

原创 poj2356Find a multiple(鸽笼原理)

题目链接:huangjing思路:详见传送门题目:Find a multipleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6015 Accepted: 2609 Special JudgeDescription

2014-08-20 16:04:59 824

原创 poj3623 Best Cow Line, Gold(贪心)

题目链接:huangjing思路:选取字典序最小的串,那么值得考虑的是当两端出现相等时,继续比较,直到出现不同的结果。。题目:代码:#includeint main(){ __int64 sum; int max_num,candy,t,n,i; scanf("%d",&t); while(t--) {

2014-08-20 15:53:16 1364

原创 poj3370Halloween treats(鸽笼原理)

题目链接:传送门思路:这个是鸽笼原理的题目。。。看了一下这个原理,对此的理解是分为三点。。c代表人的数目,n代表家庭的数目。。【1】首先要求前缀和,然后对此取余,首先如果出现余数为0的情况,那么说明前n项就已经满足了条件,那么这就是其中的一组可行解。。。【2】但是如果没有出现0呢??那么就看同余了。。如果在两个点处出现同余,说明什么??说明从上一个出现同余的后一个数到这

2014-08-20 11:09:22 1681

原创 poj1840Eqs(哈希判重)

题目链接:传送门思路:这道题是一个简单的hash的应用,如果直接暴力的话肯定承受不了5重for循环,所以比赛的时候我先到分成两组,但是后来用到了许多数组,然后想到数字太大,还先到stl判重,后来搞出来还是在本地跑的很慢,就放弃了。。后来看到题解,不得不说太牛了,我的思路是对的,首先把方程分成左右两边,然后分别暴力,因为计算结果的上限可能达到50*50*50*50*2=125

2014-08-20 09:28:20 1904 1

原创 poj1351Number of Locks(记忆化搜索)

题目链接:传送门思路:这道题是维基百科上面的记忆化搜索的例题。。。四维状态dp[maxn][5][2][5]分别表示第几根棒子,这根棒子的高度,是否达到题目的要求和使用不同棒子数,那么接下来就是状态转移了。。。要用到位运算判断以前是否这种高度的棒子用到没。。。那么这个问题就解决了。。。题目:Number of LocksTime Limit:

2014-08-18 23:07:25 1062

原创 poj1061青蛙的约会(扩展欧几里得)

题目链接:啊哈哈,点我点我这道题是扩展欧几里得问题。。。哎,数学太弱了,看了半天才看懂。。。。如果要相遇的话,则(n-m)*T+p*c=x-y成立,那么进行代换得到a*x+b*y=c,那么就转换成小白上面讲的了,所以用扩展欧几里得算法求得一组解,那么最后得到解的通式为x=x0+k*b/gcd(a,b),那么直接另右式子等于0及可。。还有就是没有解的情况就是c%gcd(a,b)不等于

2014-08-18 21:57:37 1514

原创 hdu1885Key Task(状态压缩+bfs)

题目链接:啊哈哈,点我点我这题和hdu1429是姊妹题  请参见传送门题目:Key TaskTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1187    Accepted Submission(s):

2014-08-18 13:30:56 897

原创 hdu1429胜利大逃亡(续)(状态压缩+bfs)

题目链接:啊哈哈,点我点我题意及思路两个状态压缩+bfs的题,两个题其实是一样的,所以我讲一个。。。就选1429吧。。最开始我以为跟普通的bfs一样,所以直接写了一个朴素的bfs,一跑,前两组数据对了,但是第三组不对,一看,走过的还可以走啊,所以不能标记,结果我的bfs乱改,最后 毫无疑问改成了死循环。所以看题解。。。思路:因为有10中不同的钥匙,每种都有两种状态,所以结合

2014-08-18 13:23:28 2065

原创 zoj1232Adventure of Super Mario(图上dp)

题目连接:啊哈哈,点我点我思路:这个题目是一个图上dp问题,先floyd预处理出图上所有点的最短路,但是在floyd的时候,把能够用神器的地方预处理出来,也就是转折点地方不能为城堡。。预处理完毕后,就是一个dp问题了。。。dp[][],两维分别表示到达的地点和使用神器的次数。。这样这个问题就得到了解决。。题目:Adventure of Super MarioTi

2014-08-18 11:20:56 1105

原创 poj2607Fire Station(floyd最短路)

题目链接:啊哈哈,点我带我这道题目当时一看觉得很熟悉,但是后来越想越混乱,搞得最后题目都没搞清楚。。。比赛的时候不知道怎么想的,但是大致思想是对的。。。。题意:这道题目是讲原来镇上有若干个加油站,但是镇上的居民觉得消防站的距离李自己家太远,所以决定在居民点键一个消防站,要使离居民点的最大距离最小。。思路:毫无疑问是最短路。。。但是这题数据太多。。所以预处理的时候用floyd

2014-08-13 23:18:23 1020

原创 poj1363Rails(栈模拟)

题目链接:啊哈哈,点我点我思路:这道题就是一道简单的栈模拟。。。。我最开始觉得难处理是当出栈后top指针变化了。。当不满足条件时入栈的当前位置怎么办,这时候想到用一个Copy数组保持入栈记录即可。。当满足所有的火车都出栈时或者已经没有火车可以进栈了,那么久跳出。。最后判断是否出栈的火车是否达到n。。。题目:RailsTime Limit: 1

2014-08-13 23:01:38 898

原创 poj3687Labeling Balls(反向拓扑+优先队列)

题目链接:啊哈哈,点我点我题意:就是给了m个限制条件,然后形式是啊a,b就是说编号为a的小球比编号为b的小球青,最后输出字典序最小的序列出来。思路:如果正常的正向建图的话,有可能得到的不是字典序最小的序列。。比如有这样一个例子1->5->4,6->2->3,如果正向建图得到的序列将会是5 2 1 3 4 6,,而正确的序列式怎么感觉碰到一些题目按字典序都要逆向枚举啊。。1 3

2014-08-11 23:02:05 972

原创 poj2349Arctic Network(最小生成树kruscal+第k长的边)

题目链接:啊哈哈,点我点我题意:北极的某区域共有n座村庄( 1 ≤ n ≤ 500 ),每座村庄的坐标用一对整数(x, y)表示,其中 0 ≤ x, y ≤ 10000。为了加强联系,决定在村庄之间建立通讯网络。通讯工具可以是无线电收发机,也可以是卫星设备。所有的村庄都可以拥有一部无线电收发机, 且所有的无线电收发机型号相同。但卫星设备数量有限,只能给一部分村庄配备卫星设备。  不

2014-08-11 09:26:56 2251

原创 poj2031Building a Space Station(最小生成树prim)

题目链接:啊哈哈,点我点我题意:就是空间站之间有很多球形的东西,然后这些球可能相交,如果相加那么距离为0,否则距离为两球表面的距离,最后求联通这些球形实验室所需要的最小距离。。。思路:相信大家都学过圆相交吧,类推到球是一样的,当两球的距离大于两球的半径之和的时候,说明两球不想交,反之则两球相交,转换成公式为d-(r1+r2)>0则说明两球不相交。。。建图后基本上就是套模

2014-08-10 21:43:09 769

原创 poj1789Truck History(最小生成树prim算法)

题目链接:啊哈哈,点我点我思路:根据字符串中不同的长度建图,然后求图的最小生成树。。题目:Truck HistoryTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 18272 Accepted: 7070DescriptionAdv

2014-08-10 21:32:23 880

原创 poj3211Washing Clothes(字符串处理+01背包) hdu1171Big Event in HDU(01背包)

题目链接:poj3211  hdu1171这个题目比1711难处理的是字符串如何处理,所以我们要想办法,自然而然就要想到用结构体存储,所以最后将所有的衣服分组,然后将每组时间减半,看最多能装多少,最后求最大值,那么就很愉快的转化成了一个01背包问题了。。。。hdu1711是说两个得到的价值要尽可能的相等,所以还是把所有的价值分为两半,最后01背包,那么这个问题就得到了解决。。

2014-08-10 15:37:03 1050

原创 pojWindow Pains(拓扑排序)

题目链接:啊哈哈,点我点我题意:一快屏幕分很多区域,区域之间可以相互覆盖,要覆盖就把属于自己的地方全部覆盖。给出这块屏幕最终的位置,看这块屏幕是对的还是错的。。思路:拓扑排序,这个简化点说,就是说跟楚河汉界一样,,分的清清楚楚,要么这块地方是我的,要么这块地方是你的,不纯在一人一办的情况,所以如果排序的时候出现了环,那么就说这快屏幕是坏的。。。还有一点细节要注意的是第i个数

2014-08-09 13:04:56 1018

原创 poj1270Following Orders(拓扑排序+dfs回溯)

题目链接:啊哈哈,点我点我题意是:第一列给出所有的字母数,第二列给出一些先后顺序。然后按字典序最小的方式输出所有的可能性。。。思路:总体来说是拓扑排序,但是又很多细节要考虑,首先要按字典序最小的方式输出,所以自然输入后要对这些字母进行排列,然后就是输入了,用scanf不能读空格,所以怎么建图呢??设置一个变量判断读入的先后顺序,那么建图完毕后,就拓扑排序了,那么多种方式自然

2014-08-09 11:21:45 1761

原创 pojAGTC(LCS,DP)

题目链接:啊哈哈,点我点我题意:给两个字符串,找出经过多少个操作可以使得两个串相等。。思路:找出两个串的最长公共子序列,然后用最大的串的长度减去最长公共子序列的长度得到的就是需要的操作数。。题目:AGTCTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1001

2014-08-09 11:05:18 777

原创 poj3934Queue(dp)

题目链接:啊哈哈,点我点我题意:有n个幼儿园的孩纸,然后从中找出m对孩子能够让他们看到双方,这样以便他们交流。。思路:首先可以考虑把n-1个人已经排成了m-2对,那么只需要把这个最矮的随便插在队伍就可以凑成m对了。另外一种情况是先排成m-1对,然后把最矮的那一个放在对首或者队尾,这样就到了状态转移方程。if(j>=2)dp[i][j]=dp[i-1][j-2]*(i

2014-08-09 10:24:19 909

原创 poj3080Blue Jeans

题目链接:啊哈哈,点我点我题意是:给n个字符串然后找出n个字符串里面最长的公共字串。。这道题目最开始以为是dp,后来又以为是kmp,但是kmp貌似没看到过这么多字符串相匹配的,后来就搜题解,太弱了,只能看别人题解。。思路是:首先看数据大小,最多只有10个串,那么把第一个串当作母串,然后逐个去枚举母串中的子串,然后根据字串去其他n-1个DNA序列中检测,看是否这些子串在其

2014-08-08 23:26:28 705

原创 poj3671Dining Cows(DP)

题目链接:啊哈哈,点我点我题意:给一个只含有1,2的序列,怎样变换n次使序列成为一个非递减的序列,并且使n最小。思路:这道题的数据范围是50000,则肯定承受不了n方的复杂度,所以 只能写O(n)的算法,甚至更小,所以当时想二分,但是不知道怎么写,忽然想到可以枚举每个位置,把每一个位置都当做一个分界点,然后求前半部有多少个2,后半段有多少个1,最后和全部是1和2进行比较,这

2014-08-08 08:28:54 1557

原创 poj1827A Bunch Of Monsters(贪心)

题目链接:啊哈哈,点我点我题目意思:给出n个怪物可以拿到卡片的范围和这个怪物对主人公造成的伤害。。然后求最后得到怪物对主人公的最小伤害。。思路:对怪物造成的伤害从大到小排序,然后对n个怪物进行逐一枚举,枚举时对它的时间进行逆向枚举,然后没有被访问到的将其伤害降为0,最后统计一下即可。题目:A Bunch Of MonstersTime Lim

2014-08-07 23:16:23 919

原创 poj3993Not So Flat After All(筛法素数+分解质因子)

题目链接:啊哈哈,点我点我题意:题意是给出两个数字,然后有由一分解定理得,每个数可以分解成若干质因数的乘积,这样就可以在一个n维的坐标系下表示出这个点。。。比如给出50和24  因为24=2^3*3^1*5^0  而50=2^1*3^0*5^2那么这两个点就可以在一个3维德坐标系下表示出这两个点。。24=(3,1,0)  50=(1,0,2)  那么共同拥有的维度就是3  而两

2014-08-07 09:22:28 959

原创 poj3026Borg Maze(bfs预处理+最小生成树)

题目链接:啊哈哈,点我点我思路:首先把图中的A S预处理出来,然后对这些点逐一做bfs找到这些点到其它点的最短路径,然后建图完毕也用最小生成树的prim算法或者kruscal算法求出连接所有点的最短距离。。不知道为嘛用dis数组去维护为什么会超时,而在结构体里面用step数组却可以过,我也不知道为什么,纠结了很多天。。我把错误的代码贴出来,希望各位帮我找出原因,不胜感激。。。

2014-08-07 08:57:01 967

原创 poj2245Lotto(最基础的dfs)

题目链接:啊哈哈,点我点我思路:最开始画好搜索状态,然后找好结束条件,最好预判断当前找到的个数和可以找到的是否大于6即可。。题目:LottoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6291 Accepted: 3995Descr

2014-08-07 08:41:22 777

原创 hdu2377Bus Pass(较为复杂的建图+spfa)

题目链接:啊哈哈,点我点我思路:题目是给了很多个车站,然后要你找到一个社区距离这些车站的最大值最小。。所以对每个车站做一次spfa,那么就得到了到每个社区的最大值,最后对每个社区扫描一次,得到那个最大最小值。。还有题目要求是要最小的id,所以排一次序。题目:Bus PassTime Limit: 10000/5000 MS (Java/Others)    Me

2014-08-06 23:01:27 1108

原创 hdu1198Farm Irrigation(dfs找联通)

题目链接:啊哈哈,选我选我思路是:首先根据图像抽象出联通关系。。首先确定每一种图形的联通关系,用01值表示不连通与不连通。。。然后从第1个图形进行dfs搜索。如果碰到两快田地可以联通的话那么标记。。注意处理的过程中你的搜索顺序要和你的每个图形的连通性的顺序相同。。然后就是最后看上下。左右能否匹配。。。看最后有几个不同的快,这就是答案,感觉跟并查集一样。。并查集应该也可以做。。

2014-08-04 18:55:32 807

邮件收发系统

是基于web的邮件收发系统

2016-04-04

空空如也

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

TA关注的人

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