自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

° ﹎.- 看淡1.苆х.

如花美眷,也敌不过似水流年 心若磐石,也敌不过绕指缠绵.... 如花美眷,也敌不过似水流年 心若磐石,也敌不过沧海桑田.... 如花美眷,也敌不过似水流年 心若磐石,也敌不过过眼云烟

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

原创 hdu1421n中选k个不相邻数的最小值

//题目大意:有n个物品.每个物品有重量.一个人需要搬动k次物品.每次用两只手搬动.消耗疲劳值为左右手重量差的平方.// 求消耗疲劳的最小值//解题思路:自己做的时候把n个物品转换成n-1个物品.转换通过把n个物品排序.依次相减平方.那么所选的k个值// 必定是从这n-1个中选出来的..同时要求k个值没有任意两个是相邻的.// dp转移方程为

2012-05-16 11:25:42 2708

原创 hdu2870子串长度子串最小数

//本题大意:给出一个含有w,x,y,z,a,b,c的矩阵.因为其中w,x,y,z可以转换为a或者b或者c.要求找一个子矩阵.里面全是// 相同的元素.输出这个最大值.//解题思路:这个题分为a,b,c来枚举以后就变成类似hdu1505,1506的类型.在一维上面来说.就是解决在一串数字(正数)// 中寻找一个最大的子串.子串的价值=子串长度*子串中最小的数.

2012-05-15 12:09:39 653

原创 hdu2830可变换位置的hdu2870变型

//题目大意:给定一个bool矩阵.可以交换任意两行的位置任意次.找到一个最大子矩阵.全部是1//解题思路:把bool图同样转换成一个个处理一行数的情形..由于可以任意交换col.// 那么对于col来说的话.其上所能形成的dp序列是不会变的.(dp[i]表示在一col中到第i个位置所能形成// 的连续1有几个)同时.因为col可以任意变换.所以最大的价值必定

2012-05-15 12:08:50 642

原创 #119div2 D

//本题大意:在一个城市图中.有N个车子.每个车对于该图的边的值不一样.在每次询问中.询问从A->B最多替换K次车的最短路// 替换可以在任何城市进行.//解题思路:最开始想的是dp[i][j][k][l] = min(dp[i-1][1->carnum][k][s] + car[s][l]).i是第几次替换.j是使用第// j个车进行替换.k是起点.l是终点

2012-05-11 19:06:23 825

原创 SRM542div2(500分)

题目大意:给定一个直角坐标(1-X , 1-Y).在这个区域里面寻找一对点A,B,C.使得A->B+B->C+C->A的距离之和在minT和maxT之间              其中A->B的距离表示X和Y互相对减的绝对值  3 解题思路:如果是暴力枚举的方法的话,应该是所有的点X*Y^3的复杂度.太大了.              画出第一个 3  3 1 2000 .. 结果是6

2012-05-09 21:38:09 450

原创 POJ1236强连通分量tarjan

//题目大意:给定一个有向图,1.问最少可以从多少个点出发.访问完所有的点. 2.添加最少多少条边可以使得此图为一个强连通图//解题思路:通过缩点.将该有向图变成一个类似于树的结构..在新的图中.存在一些入度为0和出度为0的特殊点..// 对于问题1..要能够访问完所有的点..那些入度为0的点是不可能从别的点访问得到的..所以这些点必须从自身开始//

2012-04-24 14:04:51 583

原创 信息学竞赛DP专题(一)BNU8207舞蹈家怀特先生

//题目大意: 初始时候怀特双脚都在0的位置.之后每次出现一个1-4中的一个数.1=UP.2=right.3=down.4=left.// 0到其他位置消耗2体力.其他时候.在原地跳消耗1体力..跳到相邻位置消耗3体力.跳到相对位置消耗4体力.// 给定一个跳舞的序列步伐.问最后消耗的体力最少是多少.//解题思路: 用DP[i][j][k] 表示在第i次的

2012-04-23 12:44:54 1169

原创 多重背包经典列题hdu2844coins

题目连接地址#include#include#include#include#include#include#includeusing namespace std;#define LL long longconst int mn = 1100100;int dp[mn];bool vis[mn];int value[1111],num[1111];void zer

2012-04-19 21:42:27 406

原创 多重背包经典列题hdu1171

题目连接#include#include#include#include#include#include#include#includeusing namespace std;const int mn = 5555555;int dp[mn],m,value[55],num[55],n;void compeletepack(int value , int sum){

2012-04-19 21:41:17 369

原创 ZOJ3593扩展欧几里得之线性方程

//题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4677//题目大意:每次可以向左或者向右走a或者b或者(a+b)步.问在数轴上从A->B最少需要多少次.//解题思路:式子ax+by=c;如果x>0&&y>0 那么ans=max(x,y);if(x0)ans=y-x// 所以就是去求一组解(x

2012-04-19 16:04:48 1128 1

原创 csu1163扩展欧几里得之乘法逆元

//题目连接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1163//题目大意.求每个b[i]=(a[0]*a[1]*..*a[i]*.*a[N-1]/a[i])%m//解题思路:这是一个求解乘法逆元的题目..在EXGCD(a,b,&x,&y)里面.x是a对模b的乘法逆元//y是b对a的乘法逆元.return的是GCD(a,b).只有当r

2012-04-19 15:55:59 858

原创 图论专题(三)POJ1135最短路骨诺牌

//题目大意:一副骨诺牌,有N个关键点.关键点被碰到以后,与该关键点连的边开始倒..//         问最后一个倒的骨诺牌在哪儿和时间//题目连接:http://poj.org/problem?id=1135//解题思路:首先分析每个点所到达的最短时间,因为每条边都是在点倒了以后才开始倒..//         那么最后的那个点如果是在边中间的话,必定也是由这个关键点的最短

2012-03-19 14:18:43 1631

原创 图论专题(二)POJ1125最短路

//题目连接:http://poj.org/problem?id=1125//本题是基本的最短路问题#include#include#include#include#include#include#include#include#includeusing namespace std;struct node{ int dis , wz; bool o

2012-03-16 19:38:41 408

原创 图论专题(一)POJ1112二分染色+DP

//题目大意:给定一个有向图,表示N个人之间的认识关系.现在需要把N个人分成两个team.//要求每个team中的人必须互相认识.同时要求两个team的人数相差最少.//题目连接:http://poj.org/problem?id=1112//解题思路:把现有的建立的有向图求其补图.同时将有向边变成无向边.那么新构成的图G';//G'的意义是:a-b有边表示a和b不能在一个team

2012-03-16 10:48:51 696

转载 ACM常用数据结构

基本结构高级结构题单集合结构 幷查集POJ 1182POJ 1308POJ 1611POJ 1986POJ 1988线性结构数组栈队列双端队列POJPOJPOJPOJPOJ树状结构二叉树BST

2012-03-07 15:25:58 547

原创 CSUOJ优先队列

//本题大意:给一串数组:a[n]和k要求求出一串连续的子序列,子序列的max-min//题目连接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1170//解题思路..因为n是10^6.所以不能用朴素的算法(n^2)来爆搜..//但是可以从朴素算法优化过来..当从1->n搜索的时候..搜到一个地方不合法//就可以直接从1转到之前

2012-03-06 20:45:47 425

原创 HOJ12256临号不小于TDP

//题目连接:http://acm.hnu.cn/online/?action=problem&type=show&id=12256&courseid=0//题目大意:给定一个序列.问能够形成多少种序列,要求每个数-前一个数//解题思路:本题是一个DP题,自己考虑的时候就很多的去考虑前面的对后面的影响.//考虑多了..反而弄得很复杂..如果按照DP的无后效性来考虑的话..会变得很简单的

2012-02-27 18:09:13 348

原创 HOJ12259Sightseeing Tour

//题目连接:http://acm.hnu.cn/online/?action=problem&type=show&id=12259&courseid=0//题目大意:给N个点.每两个点之间都有两条单向边(且权值不一样),现在要求//每两个点之间只留下一条边,并且剩下的边能形成一条路径.能够到达每个点有//且仅有一次..//解题思路:直接留下每两个点之间小的那条边..为什么呢.?

2012-02-27 14:03:18 349

原创 CF109D分解素因子

//题目连接:http://www.codeforces.com/contest/155/problem/D//题目大意:抽象出来就是每次要向一组数(初始为空)插入or删除数字..//要求插入的数字与原有的数字所以都互素..//解题方法:最开始的时候是直接用一个判断他们最小公倍数是不是两者的乘积//的方式来判断互素,然后直接全搜.N^2的复杂度..TLE了..//后来学习到了一

2012-02-27 13:50:14 434

原创 并查集专题练习(一)POJ1611

//最开始的时候..在最后直接比较father[0]和father[i]一直都没有正确//后来改成了比较find_set(0)和find_set(i)才正确了..//以后要注意这一点..其实这样去把每个点都更新一次..花不了多少时间的...//但是如果有某些点没有更新到的话.直接用father就会导致错误#include#include#include#include

2012-02-24 08:57:09 392

原创 并查集学习讲解

文章作者:yx_th000 文章来源:Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 转载请注明,谢谢合作。昨天和今天学习了并查集和trie树,并练习了三道入门题目,理解更为深刻,觉得有必要总结一下,这其中的内容定义之类的是取自网络,操作的说明解释及程序的注释部分为个人理解。并查集学习:l并查集:(union-fi

2012-02-24 08:53:39 332

原创 DP激情奉献(五)hdu2571命运

//题目大意:给一个矩形,每个位置有一个分数.现在让从左上角到右下角.问能够得到的最大的分数和//走的方式可以是向右和向下.向下只能每次走一步..向右可以每次走一步或者走当前列数的整数倍//解题方式:这是一个典型的二维DP题目..每一个DP[i][j]的值均可以通过之前的几种可能的步伐而来.//每个DP都储存着,输出DP[n][m]即可.#include#include#i

2012-02-23 21:04:19 405

原创 DP激情奉献(四)hdu1505加强版1506

//本题是hdu1506的强化版本.题目大意是这样的:有一片土地.标记F为"空地",标记R为"已建造"//现在要在这个m*n的空间里面找到一个最大矩形...//处理方式:把每一行作为底行来可以形成一个状图,这样预处理以后就可以类似hdu1506那样的做..#include#include#include#include#include#include#inclu

2012-02-23 17:10:34 374

原创 DP激情奉献(三)hdu1506状图选最大矩形

//题目大意:给一个N,接下来N个数字..形成一个N格大的柱状图..answer问最大的矩形是什么//最开始想的是优化了直接的N^2的处理方法,对于每个a[i],分别找他的左右两边分别有多少个//比他要大的..只要遇见小的就break,优化在这儿..但是过不了.//2次优化.思路还是去求每个a[i]能够带来的矩形宽是多少..//那么,在这里..比如考虑a[i]的宽的时候..不必从i

2012-02-22 19:51:42 480

原创 留待学习线段树

#include #define lson l , m , rt #define rson m + 1 , r , rt const int maxn = 55555;int sum[maxnvoid PushUP(int rt) {sum[rt] = sum[rt}void build(int l,int r,int rt) {if (l == r)

2012-01-09 21:08:06 349

原创 树状数组终结篇(十四)之hdu2492

//本题大意:找到所有增序和降序的三元素子序列//题目链接://用树状数组计算i位置左边比他小的*右边比他大的//加上左边比他大右边比他小的..就是ans#include#include#include#include#include#include#includeusing namespace std;const int mn = 100000;

2012-01-08 16:54:48 395

原创 树状数组专题(十三)之hdu3450

//题目大意:给出一个序列和d,找出所有满足相邻元素的差得绝对值//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3450//这里没有给出数据的大小..试了试.是比较大的.开tree数组开不了这么大//所以使用处理2227题目的那种处理方式来做本题.//同时还要注意和2227的区别..因为这里不可能形成单元素序列//所以对dp[i

2012-01-08 16:22:27 556

原创 树状数组专题(十二)之hdu2227

//题目大意前面hdu4000处理过三元素的递增序列.//这里要求输出所有递增的子序列..//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2227//本来处理情况也可以那样..但是由于数据太大了.//开数组要开到2^32.不行..但是数据个数只有100000//所以有一个新的处理方式..a[] = 1,6,5,2,3//b[

2012-01-08 16:15:54 646 3

原创 树状数组专题(十一)之hdu2688

//本题大意:给出一个数组..然后给出m个处理//Q表示输出现在的递增2元组有多少个..//R a b表示对a-b这个区间进行循环//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2688//处理方式..一次进行树状处理..然后因为b-a比较小..//所以可以直接模拟就OK了.#include#include#incl

2012-01-08 16:10:44 395

原创 树状数组专题(十)之hdu4000

//题目大意:给一串数字,找出所有满足a[x]//其中x,y,z满足x//采用用全部可能的减去不可能的就是答案的思想//a[i] 后面有t个比a[i]大.则t*(t-1)/2就是可能的//再减去形成x//这里重点讲解处理连续递增的情形..//有点dp记录的思想..//比如现在处理的位置有一个5.那么需要考虑的就是前面已经出现了的//比5小的数的组合有多少种..全部加

2012-01-08 16:06:28 342

原创 树状数组专题(九)之hdu2852

//题目大意:给3种N个操作.0 a.增加一个元素a,1 a删除一个元素a,2 a k,//输出一个比a大的第K个元素;//其中,特殊情况是删除的时候没元素时输出not element!//没有第k个元素的时候输出 not find!//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2852//而找到第K个元素的方法就是通过树状数

2012-01-08 14:31:59 339

原创 树状数组专题(八)hdu2838计算逆序数

#include#include#include#include#include#include//Getsum1用来计算在某个位置i前面比a[i]大的数的总和.//Getsum2用来计算在某个位置i前面比a[i]大的数的个数.//比如 2 3 1 那么 Getsum1得到了5 Getsum2 得到2//总和就是结果7..using namespace st

2012-01-05 16:17:43 423

原创 CF判断正方形和矩形

//本题总结:判断特殊的的多边形的时候..要抓住很特别的特征..一定要能够确定是该多边形的条件.//比如本题..出现了一个很特殊的直角梯形的情况..有了四个最小边相等..然后存在一个直角的情况..//但是..开始写的时候的条件改成去判断全部形成的角是不是存在四个直角的话..就不会出现这样的情况了..//有的时候..对角线会有比边小的情形出现..#include#include

2011-12-10 14:07:36 567

原创 树状数组总结二

树状数组小结分类:算法学习 | 作者:酷~行天下 | 发表于2011/07/10 1条评论 513 views最近做了HDU几道树状数组的题,小小总结一下……  树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1..n],那么查询a[1]+…+a[n]的时间是log级别的,而且是一个在线的数据结构,支持随时修改某个元素的值,复杂度也为log级别。

2011-12-08 00:50:54 780

原创 树状数组专题(六)hdu1556

//这是属于树状数组的应用二..对一段区间进行修改..然后访问点的更新值..//如何对于一段区间[a,b]更新的情况Updata(a,1);Updata(b+1,-1)的理解..//因为是对于[a,b]区间内的更新..那么只更新a是如何去理解呢..//对于Getsum(i)得到的是1-i的总和..那么Updata(a)以后..对于a-n都加了1..//然后对b+1-->n更新-1.

2011-12-08 00:48:23 490

原创 树状数组专题(五)hdu1166

#include#include#include#include#include#include#includeusing namespace std;const int inf = 0x3f3f3f;const int MN = 51000;int n,a;int tree[MN];int Lowbit(int x){    return

2011-12-07 20:51:12 292

原创 树状数组专题(四)POJ3067

//本题大意..类似于寻找坐标上的左上角的点的sum#include#include#include#include#include#include#includeconst int inf = 0x3f3f3f;const int MN = 1100000;using namespace std;int tree[11111];int maxn,n

2011-12-07 01:59:22 294

原创 树状数组专题(三)POJ2481

//这里有几个需要学习的东西.//1..如何对结构体进行调用排序函数的operator的操作构造//2..如何把这个题目转换成为树状数组的思维..//3..如何去记录一个数组排序前的位置..在结构体里面加一个元素记录原来的位置.#include#include#include#include#include#include#includeusing na

2011-12-07 00:23:20 326

原创 树状数组专题(二)hoj1867经理的烦恼

//题目大意,给定N个商店,有初始商品数量.有两种指令,0 x y 表示x位置的商店的商品数量增加y//1 x y 表示查询[x,y]区间内的商品数量为素数的商店的数目..//这里更新的条件就变成去判断更新值是否从非素数变成素数或是从素数变成非素数..//然后对树状数组进行更行..//题目连接:http://acm.hit.edu.cn/hoj/problem/view?id=18

2011-12-06 15:51:03 733

原创 树状数组专题(一)POJ2352

#include#include#include#include#includeusing namespace std;const int maxn = 32101;int tree[maxn];int Lowbit(int x){    return x&(-x);}void Updata(int x){    for(int i = x

2011-11-29 15:50:28 398

算法分类以及POJ题目分类

这里面有介绍ACM中的算法,包括算法分类,以及对应在POJ上面的训练题目

2011-08-17

空空如也

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

TA关注的人

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