自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 poj_1789

题意就是让你求一个最小生成树,一共有n个点,每两个点之间的距离就是字符串相对应位置上不同的字母个数,由题可知,这是一个完全图。建好图后,我们任意选择一个起点(这里我们选择0点),跑一遍Prim就能够计算出最小生成树的长度。#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<algorith

2015-06-16 22:15:57 289

原创 poj_2240

此题不难,套一下稍微改变的Floyd算法就行,因为没要求起点,所以我们计算下全局的最长路,看看最后回到自己本身以后路径长度是否大于初始的1.0即可。#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<algorithm>#include<iomanip>#include<vector>

2015-06-16 17:47:52 288

原创 poj_2253

最短路的变形。在一般最短路中,dis[i]的意思表示的是从源点到i点的最短路径,在此题中,我们把dis[i]的意思理解为从源点到i点的路径中使得最长路最短的长度。那么松弛条件也要相应的变化。 改为for(int j=0;j<n;j++) if(!vis[j]&&dis[j]>max(mmin,mp[flag][j])) dis[j] = max(mmin,mp[flag][j]);这样

2015-06-16 16:52:06 286

原创 poj_1062

这道题目不难,只要建好图就行。我们在图中新建一个新的点0,从0出发的到其他点的值就是该物品的原价值,那么我们新建立一个二维数组price[i][j],表示i物品兑换j物品的价值,则price[0][i]就是i物品的原价值。然后我们遍历每一个物品,对于每一个物品,我们都假设它是当前等级最高的那个,然后我们把比它价值高或者和它价值差超过m的那些物品设置为不可访问,接着用最短路跑一遍。经过n次循环后,输出

2015-06-16 16:15:11 432

原创 cf307_B

此题不难,但是刚开始想的比较复杂,想法有还是比较好写的。我们枚举字符串b出现的次数(0<=num<=strlen(a)),然后可以知道字符串c最多可以出现几次,边枚举边记录最大的次数和b,c各自出现的次数,最后输出即可。#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<algorithm

2015-06-14 16:03:58 627

原创 poj_3259

这道题目是求最短路图中是否存在负权回路,我们用bellman_ford即可。做此题时用了下链式向前星,因为之前没怎么用过。#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<algorithm>#include<iomanip>#include<vector>#include<tim

2015-06-13 23:41:21 325

原创 poj_1860

此题是求“最长路&&回路”,最长路的话我们只要把最短路的条件改一改就行,既然要求回路,那么我们就用bellman_ford来求,因为每求一个点后,都有可能使得最长路松弛,所以我们遍历n-1遍所有的边,如果之后还有可以松弛的边,那么说明这个图中存在着回路,也就是对于本题,货币可以无限的换,无限的增长。#include<stdio.h>#include<iostream>#include<strin

2015-06-13 22:40:37 349

原创 poj_2965

其实这道题目和1753差不多,但是我们可以有更简单的方法。对于每一个’+’号的棋子,我们一定会去翻它。遍历整个棋盘,都按照上述说的去做,在这个过程中,我们统计每个棋子被翻的次数,最后对于每一个棋子,如果它的被翻次数是奇数,那么我们就说这个棋子是需要被操作的,而偶数的就相当于不需要操作,仍然保持原来的状态。#include<stdio.h>#include<iostream>#include<st

2015-06-12 16:40:27 287

原创 poj_1753

poj_1753基础搜索题。一共就16颗棋子,共有2^16种情况,我们遍历从翻0颗棋子到翻16颗棋子,对于棋盘上的每一颗棋子,我们都有两种选择,翻或者不翻,做完该选择以后我们又面临两种可能,同一行的下一个棋子或者下一行的第一个棋子。/* * hujx.cpp * * Created on: 2015年5月17日 * Author: dell */#include<stdio.

2015-06-12 15:49:44 288

空空如也

空空如也

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

TA关注的人

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