自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vsooda的专栏

新博客: http://vsooda.github.io github: https://github.com/vsooda

  • 博客(81)
  • 资源 (9)
  • 收藏
  • 关注

原创 HDU 1085

#include using namespace std;int c1[10002],c2[10002],a[3]={1,2,5},b[3];int main(){ int n,m,i,j,k,sum; while(cin>>n>>m>>k,n+m+k) { b[0]=n;b[1]=m;b[2]=k; sum=0; for(i=0;i<3;i++) { sum+

2012-02-28 21:47:52 1239 2

原创 HDU 1028

#include using namespace std;const int lmax=125; int c1[lmax+1],c2[lmax+1];int main(){ int n,i,j,k; while (cin>>n) { for (i=0;i<=n;i++) { c1[i]=0; c2[i]=0; } for (i=0;i<=n;i+

2012-02-28 21:20:25 503

原创 HDU 1398

#includeusing namespace std;const int lmax=300;int c1[lmax+1],c2[lmax+1];int main(){ int n,i,j,k; int elem[17]={1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289}; while(cin>>n && n!=0)

2012-02-28 21:13:50 830

原创 HDU 1272

/分析解决方案很明显的一个用并查集解决的问题:如果只用一个根肯定满足要求,遍历数组即可 //如果某两个要合并的节点同根肯定会构成回路,不满足要求 这里用sign 标记是否出现了同根,分两种情况处理即可#include #include using namespace std;struct node { int parent; int weight;};

2012-02-28 13:01:41 668

原创 HDU 1863

#includeusing namespace std;#define N 9999999int map[101][101];int mark[101];bool visited[101];int n,m;void prim(){ int i,j,k,sum=0,min; int flag=1; memset(mark,0,sizeof(mark)); memset(vis

2012-02-28 12:38:42 493

原创 HDU 1213

#includeusing namespace std;const int maxn=1005;struct Node{ int parent;//保存父节点 int rank;//以此为父节点的人数}people[maxn];void init(int n){ int i; for(i=0;i<=n;i++) { people[i].parent=i; peop

2012-02-28 12:01:57 654

原创 HDU 1879

#include #include #include #include using namespace std ; #define MEM(a, v) memset (a, v, sizeof (a)) // a for address, v for value #define max(x, y) ((x) > (y) ? (

2012-02-28 11:01:20 846

原创 vi及缩进设置

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。1、vi的基本概念  基本上vi可以分为三种状态,

2012-02-26 22:49:29 13933 3

原创 HDU 1875

最小生成树的一种求法,关键还是判断两个点是否在一个回路上即并查集的运用#include #include#include#includeusing namespace std;int num[210];int pre[210];double length;struct edge{ int x, y; double w;}e[9999];void makeS

2012-02-26 22:04:00 1046 2

原创 prim最小生成树模板

int minTree(int n){ int i,j; memset(v,0,sizeof(v)); v[0]=1; sum=0; for(i=1;i<n;i++) { min=max; for(j=0;j<n;j++) { if(!v[j]&&map[0][j]<min) { min=map[0][j]; flag=j; } }

2012-02-26 20:17:00 1769 1

原创 HDU 1102

#include#include#includeconst int max=0x7ffffff;int map[101][101],min,v[101],n,x,y,sum,flag;void Reset(int n){ int i,j,m; memset(map,0,sizeof(map)); for(i=0;i<n;i++) { for(j=0;j<n;j++)

2012-02-26 20:16:09 639

原创 HDU 1301 %*C显示威力

最小生成树#include#include#includeconst int max=0x7ffffff;int map[27][27],min,v[27],n,dis,m,sum,flag;char cx,cy;void Reset(int n){ int i,j; map[n][n]; memset(map,0,sizeof(map)); for(i=0;i<n-

2012-02-26 19:55:24 619

原创 HDU 1116

这个题目要运用到欧拉路得相关知识,并且也要并查集,题目说的是:给你n个单词,要你判断这些单词能不能首尾相连。理解题目意思后,进行转化,输入字符串,提取首位字母作为下标来表示两节点的出现,以及相对应节点入度和出度的增加,转化为并查集的应用即可。那么从可以想象一幅由首位字母节点构成的图,当且仅当图是一条欧拉回路或者欧拉通路的时候,才能满足题目的要求,至于欧拉回路和欧拉通路的判定可以总结为如下:1)

2012-02-26 19:21:33 1583

原创 HDU 1233 还是畅通工程

#include#include#includeconst int MAX=100000000;int map[101][101],min,sum;int main(){ int i,j,n,x,y,m,v[101],flag,dis; while(scanf("%d",&n),n) { map[n][n]; memset(map,0,sizeof(map)); m

2012-02-26 18:24:38 566

原创 HDU 1232 畅通工程(与1856类似 )

这个题目也是典型的最小生成树算法的利用,不同于其他的题目就在于其它要求的是要添加的边的最少数目,使得任意两点都有联系,利用并查集算法 ,在题目已经给出的map基础上,统计两棵树相并的次数,即使要添加的路径的最少数目。#include#includeint father[1001],tot;int find(int x){ int r=x; while(r!=fat

2012-02-26 14:06:21 517

原创 HDU 1856

题目大意:老师选小男孩参加一个项目。要求选上的小男孩都能够直接或间接地相互认识。给你多对数,每对表示这两个小男孩是直接地相互认识,求出老师最多能选到多少个小男孩。最简单最基本的并查集。#includeusing namespace std;const MAXN =10000005;struct Node{ int parent;//保存父亲结点 int rank;//从此小男孩为父

2012-02-26 13:34:17 672

转载 并查集 (Union-Find Sets)

如果:给出各个元素之间的联系,要求将这些元素分成几个集合,每个集合中的元素直接或间接有联系。在这类问题中主要涉及的是对集合的合并和查找,因此将这种集合称为并查集。 链表被普通用来计算并查集.表中的每个元素设两个指针:一个指向同一集合中的下一个元素;另一个指向表首元素。 链结构的并查集 采用链式存储结构,在进行集合查找时的算法复杂度仅为O(1);但合并集合时的算法复杂

2012-02-26 13:12:09 1073

转载 并查集

并查集的学习告一段落,整理总结一下与大家共勉~        并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数、最小公共祖先、带限制的作业排序,还有最完美的应用:实现Kruskar算法求最小生成树。其实,这一部分《算法导论》讲的很精炼。       一般采取树形

2012-02-26 12:51:23 7432

转载 并查集知识

并查集:(union-find sets)一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。并查集的精髓(即它的三种操作,结合实现代码模板进行理解):1、Make_Set(x) 把每一个元素初始化为一个集合初始化后每一个元素的父亲节点

2012-02-26 12:25:36 821

原创 HDU 2159

二维完全背包,第二层跟第三层的要顺序循环;(0-1背包逆序循环);状态可理解为,在背包属性为 {m(忍耐度), s(杀怪个数)} 里最多能得到的经验值,之前的背包牺牲体积,这个背包牺牲忍耐度跟个数注意: 最后扫的时候 外层循环为忍耐度,内层循环为杀怪个数,因为题目要求出剩余忍耐度最大,没有约束杀怪个数,一旦找到经验加满的即为最优解;状态转移方程为: f[j][l]=max(f[j][l],

2012-02-25 23:27:20 1246

原创 HDU 1203

#includeint a[1010];double b[1010],f[10010];double Min(double x,double y){ if(x<y) return x; else return y;}int main(){ freopen("1203.txt","r",stdin); int n,m,i,j; while(scanf("%d%d",

2012-02-25 22:07:06 1287

原创 HDU 1176 !

状态表示:dp[i,j]为j秒时在i位置的最大值//问题描述为:求从f[0][5]到f[T][]的一条路径,使得总和最大状态转移:i=0    dp[0][j] += Max(dp[0][j+1], dp[1][j+1]);         i=10   dp[10][j] += Max(dp[10][j+1], dp[9][j+1]);         i=1-9  dp[i

2012-02-25 20:11:23 845

原创 HDU 1171 ?

题目大意:hdu的计算机要分成两个学院,现在有n种物品,价值为ai的有bi个,要求把这些东西分成价值总和最为接近的两份,如果不能平分,大的在前面。#include using namespace std;int V[51];int M[51];int bst[125005];int main (){ int N; while ( scanf ( "%d",&N ),

2012-02-25 19:34:16 1090

原创 HDU 1069

#include#include#includestruct rect{ int x; int y; int z;}r[100];int bubblesort(struct rect* r,int n){ int i,j,t=n; struct rect temp; for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) { i

2012-02-25 17:45:11 846

转载 hdu题目分类

1001       这个就不用说了吧1002       简单的大数1003       DP经典问题,最大连续子段和1004       简单题1005       找规律(循环点)1006       感觉有点BT的题,我到现在还没过1007       经典问题,最近点对问题,用分治1008       简单题1009       贪心1010

2012-02-25 15:51:27 5490

原创 1069 qsort你这是什么状况,printf一下个别结构体的值发生变化?

#include#include#includestruct rect{ int x; int y; int z;}r[32];struct sh{ int s; int height;}s[100];int cmp(const void *lhs,const void *rhs){ struct sh *a=(struct sh*)lhs; struct sh

2012-02-25 13:27:12 844

原创 HDU 2571

#includeint a[22][1010],f[22][1010];int max(int x,int y,int z){ if(x>=y&&x>=z) return x; else if(y>=x&&y>=z) return y; else if(z>=x&&z>=y) return z;}int main(){ int n,m,t,i,j,k,c; sca

2012-02-25 11:17:00 836

原创 HDU 2602

#include#include#define M 1010int a[M],b[M],n,v;int f[M];int max(int x,int y){ if(x<y) return y; else return x;}void pack(int cost,int weight){ int i; for(i=v;i>=cost;i--) { f[i]=

2012-02-25 00:09:25 589

转载 背包九讲

背包问题九讲 v1.0目录第一讲01背包问题第二讲 完全背包问题第三讲 多重背包问题第四讲 混合三种背包问题第五讲 二维费用的背包问题第六讲 分组的背包问题第七讲 有依赖的背包问题第八讲 泛化物品第九讲 背包问题问法的变化附:USACO中的背包问题前言本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划的一部分,这

2012-02-24 19:41:58 528

原创 HDU 2870 最大子矩阵,联系1505, 1506

题目意思:w  x  y  z  可以转化,求最大子矩阵。思路:枚举后转换为 hdu 1505 hdu 1506 的情况。可以转化为a的有:w,y, z可以转化为b的有:w,x, z可以转换为c的有:x, y, z所以a, w,  y, z一组b, w,  x, z一组c, x,  y,  z一组分别dp#include #include using

2012-02-23 22:03:06 947

原创 HDU 1505

这题是HDU1506 的加强版,只要把算出以i 行为底能达到的最到的最大高度,再扫描每一行,就转化为 HDU1506 的问题了,即算出以此点为最低点能两边延伸的最大距离,最大延伸距离乘以该点的高度就是面积了,HDU 2870 则是此题的加强版#include#include#define M 1005int a[M][M],l[M],r[M];int main(){ int t,i

2012-02-23 21:48:12 2482

原创 HDU 1506

【题目大意】  给出n(n 【解题思路】   对于每一块木板,Area=height[i]*(j-k+1)  设其中任一块x,  j=height[i]; 找j,k成为关键。  一般方法肯定超时,[cpp:firstline[1]] view plaincopyFOR i:=1 TO n

2012-02-21 16:08:39 551

转载 程序猿装B指南

《程序猿装B指南》一.准备工作“工欲善其事必先利其器。”1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。 2.椅子不一定要舒服,但是一定要可以半躺着。 3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。 4.

2012-02-21 13:02:24 554

原创 HDU 1159 最长公共子序列

f(i,j)= {f(i-1,j-1)+1 (a[i]==b[j])max(f(i-1,j),f(i,j-1)) (a[i]!=b[j]) 由于f(i,j)只和f(i-1,j-1), f(i-1,j)和f(i,j-1)有关, 而在计算f(i,j)时, 只要选择一个合适的顺序, 就可以保证这三项都已经计算出来了, 这样就可以计算出f(i,j). 这样一直推到f(len(a),len(b))就

2012-02-21 12:33:01 672

原创 HDU 1231 自己做的,改天优化一下 类似题1003

#includeint main(){ int n,a[10000],b[10000],sum,temp,max=-1,i,first,last;// freopen("1231.txt","r",stdin); while(scanf("%d",&n),n) { int t=0; temp=0; first=0; last=0; max=-1; for(i=0

2012-02-21 01:05:07 490

原创 HDU 1684

题址:http://acm.hdu.edu.cn/showproblem.php?pid=18640—1背包,把每张发票当一个物品, 其中,发票中有单项大于600的或者总额大于1000的,这张发票扔掉不要,也就是不加入物品的行列。整理出每张发票的总额,作为这件物品的价值也作为容量(相当于物品的体积),放到容量为q的背包中,这就是标准的0—1背包了;转移方程:f[j]=max(f[j],

2012-02-20 22:53:52 604

原创 HDU 2955

http://acm.hdu.edu.cn/showproblem.php?pid=2955dp题关键还是写出转移方程。dp[j] 表示偷得 j 块钱的时候不被抓的概率;那么方程就可以这样写了: dp[j] = max( dp[j], dp[ j - mm[i] ] * (1-pp[i]) );#include#includedouble dp[10000];int mm[1

2012-02-20 15:07:40 1255

原创 HDU 1087

#includeint main(){ int n,i,j,a[1000],b[10000],maxb,maxnum; while(scanf("%d",&n),n) { maxnum=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); b[i]=a[i]; } for(i=0;i<n;i++) { b[i]=a[i

2012-02-20 14:16:37 455

原创 HDU 1181

#include #include int main() { freopen("1081.txt","r",stdin); const int size = 101; int Max,sum; int N,i,j,k,val,a[size][size]; while (scanf("%d",&N)!=EOF) {

2012-02-20 13:39:16 417

转载 HDU 2094 拓扑

#include#include#include#includeusing namespace std;int main(){freopen("2094.txt","r",stdin);int n,i,t;string b,e;sets;set::iterator it;mapm;map::iterator iter;while(cin>>n

2012-02-19 18:23:51 454

计算机视觉:一种现代方法(第二版)清晰文字版(英文版)

计算机视觉是研究如何使人工系统从图像或多维数据中“感知”的科学。本书是计算机视觉领域的经典教材,内容涉及几何摄像模型、光照和着色、色彩、线性滤波、局部图像特征、纹理、立体相对、运动结构、聚类分割、组合与模型拟合、追踪、配准、平滑表面与骨架、距离数据、图像分类、对象检测与识别、基于图像的建模与渲染、人形研究、图像搜索与检索、优化技术等内容。与前一版相比,本书简化了部分主题,增加了应用示例,重写了关于现代特性的内容,详述了现代图像编辑技术与对象识别技术。

2013-03-14

msicuu2.exe

微软官方强力卸载工具。简单易用。对于注册表错误等造成的无法卸载,都能完美解决。简单易用。可以解决office及其它软件无法卸载问题。

2013-03-01

树状数组整理材料

包含一个ppt,一个习题集。树状数组很有用的材料。个人认为很好懂。。

2013-01-11

线性规划与网络流题解

问题编号 问题名称 问题模型 转化模型 1 飞行员配对方案问题 二分图最大匹配 网络最大流 2 太空飞行计划问题 最大权闭合图 网络最小割 3 最小路径覆盖问题 有向无环图最小路径覆盖 网络最大流 4 魔术球问题 有向无环图最小路径覆盖 网络最大流 5 圆桌问题 二分图多重匹配 网络最大流 6 最长递增子序列问题 最多不相交路径 网络最大流 7 试题库问题 二分图多重匹配 网络最大流 8 机器人路径规划问题 (未解决) 最小费用最大流 9 方格取数问题 二分图点权最大独立集 网络最小割 10 餐巾计划问题 线性规划网络优化 最小费用最大流 11 航空路线问题 最长不相交路径 最小费用最大流 12 软件补丁问题 最小转移代价 最短路径 13 星际转移问题 网络判定 网络最大流 14 孤岛营救问题 分层图最短路径 最短路径 15 汽车加油行驶问题 分层图最短路径 最短路径 16 数字梯形问题 最大权不相交路径 最小费用最大流 17 运输问题 网络费用流量 最小费用最大流 18 分配问题 二分图最佳匹配 最小费用最大流 19 负载平衡问题 最小代价供求 最小费用最大流 20 深海机器人问题 线性规划网络优化 最小费用最大流 21 最长k可重区间集问题 最大权不相交路径 最小费用最大流 22 最长k可重线段集问题 最大权不相交路径 最小费用最大流 23 火星探险问题 线性规划网络优化 最小费用最大流 24 骑士共存问题 二分图最大独立集 网络最小割

2012-09-26

浙大 ACM模板

浙大ACM模板,包含刷题常见的模板。是学习的好材料

2012-09-22

OpenCV 2 Computer Vision Application Programming Cookbook 全

包含所有可以找到的关于OpenCV 2 Computer Vision Application Programming Cookbook的资料。官方高清电子书,配套代码,实验所需要图片。免积分奉上,欢迎下载。opencv资源还很少,大家加油

2012-06-01

算法导论(第二版)源码 习题解答

算法导论(第二版)源码 习题解答 包含c++,java等多个版本,以及官网资料。非常齐全

2012-04-23

haarcascade_frontalface_alt2

opencv人脸识别所需要的xml文件,haarcascade_frontalface_alt2

2012-03-11

空空如也

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

TA关注的人

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