自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xinge008的专栏

不同的信念决定不同的命运

  • 博客(29)
  • 资源 (19)
  • 收藏
  • 关注

转载 图论500题

=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree?基础并查集★1856 More is better基础并查集★1102 Cons

2012-11-17 16:20:08 801

原创 hdu4451

题目给出 上衣,裤子,鞋子的各种类数,然后给出了不能匹配的关系,求解能匹配的种数。一开始没有看见题目中明确说明只会有clothes pants 和 pants shoes 这两种情况,所以yy各种容斥,后来扫了一眼,了解了水题的本质。只需要以pants为中心,开两个数组标记各种裤子中不能与之匹配的clothes和shoes种数,然后用总的减去就可以了。#include #incl

2012-10-29 15:47:39 1531

原创 二分匹配之一

二分图的最大匹配:匈牙利算法DFS实现的匈牙利算法是每一次寻找一条增广路径时间复杂度是O(n^3),复杂度偏高,通过改进优化在寻找增广路经的时候同时找多条不相交的增广路经在寻找路径的每一个阶段,找到的增广路经都具有相同的长度,时间复杂度是O(n^0.5*m).模板:DFS实现://DFS实现增广,复杂度O(n^3);const int maxn=550;bo

2012-10-09 22:20:06 536

原创 三分法求极值

二分法用来解决单调函数的极值问题,而三分法用来解决凸函数的极值问题。所以在使用三分的时候要注意函数具有凹凸性模板:double cal(){ //.....具体计算根据题目要求实现 return 0.0;}void solve(){ double left,right,mid1,mid2,ans,flg1,flg2; left=0.0;right=1000.0;

2012-09-22 22:35:15 883

原创 最大流算法

EK算法,复杂度(V*E*E)#define min(a,b) a<b?a:b#define inf 0x3f3f3f3fusing namespace std;const int maxn=250;int edgenum,nodenum;int cap[maxn][maxn];int pre[maxn];bool vis[maxn];//不要忘了初始化cap[][]=0

2012-09-20 22:11:42 469

原创 树状数组总结篇

最近几天系统的做了一下树状数组的各类题型,感觉树状数组真乃神器呀,编程复杂度低,同时功能强大,一维和二,三维的基本上共通。首先复习一下:树状数组的几个基本操作。在我的理解中树状数组可以分为两类,插段问点和插点问段,分别对应的是向上更新,向下统计和向下更新,向上统计(一定要真正理解这句话)。1,lowbit,这就不多说了,精华之一。2,修改操作,对应于某个点的改变,同时被该店所管辖的点也

2012-09-11 21:56:58 6914

原创 优先队列优化的dijsktra的模板

用STL的优先队列实现了dijsktra的优化#define inf 999999999using namespace std;const int maxn=1000010;int dis[maxn];int head[maxn];int pnt[maxn];int next[maxn];int cost[maxn];int vis[maxn];int node,edge

2012-08-30 21:54:29 495

原创 spoj8281

题意是:给出一组数字,然后让你判断在正整数中不能由这些数字表示的数的个数,感觉就是一个BFS,可是怎么gao都不行就是wa,后来在大神提示下,明白了SPFA可破,哎,我那可怜的BFS怎么就是过不了,望路过的大神不吝赐教。//用最短路模拟求解不同余数的最小数,队列中存的是小于data[0]的不同余数,每次将不同的余数加入队列#include #include #include

2012-08-28 14:57:20 446

原创 poj2607 Fire Station

题意是:在一个城市里有一些消防站,但是市民抱怨这些消防站离他们太远了,希望政府能新建一些消防站,让他们离这些新建的消防站比原有的消防站近一些。思路:可以利用Floyd求出各点之间的最短距离,然后枚举每个点,若该点比原有的点的最大值要小,则更新,直至最小#include #include #include #define min(a,b) a<b?a:b#define max(a,b) a>

2012-08-28 11:08:18 1263

原创 最短路模板BF和SPFA,poj3259测

分别用BF和SPFA处理带负权图,自己写的模板,哎也WA 了N多次呀,测试题目是poj3259Bellman-ford:#include #include #include #define MAX 1<<28using namespace std;const int maxn=7010;int N,M,W;int dis[maxn];int edgenum;struc

2012-08-18 20:35:32 656

原创 图论之拓扑排序

拓扑排序1定义:根据一定的顺序进行排序,2表示,邻接链表,邻接矩阵3实现:一:普通的方法每次寻找入度为一的点,然后输出二:BFS实现三:DFS实现4性质:性质1、 拓扑排序在有向无环图中才能排出有效的序列,否则能判断该有向图有环。2、如果输入的有向图中的点,不存在入度为0的点,则该有向图存在回路3、如果存在的入度为0的点大于一个,则该有向图肯定不存在一个

2012-08-15 14:05:22 902

原创 lightOj1066--BFS好题

题目链接:http://lightoj.com/volume_showproblem.php?problem=1066题意是:给你一个N*N图,你的起点是在A处,然后根据字母顺序进行收集字母,若能则输出最少步数,若不能则输出Impossible注意必须按照字母顺序,在没有收集C的情况下,是不能接触比C大的字母的。Sample:4 5A....

2012-08-13 14:06:53 510

转载 图论和搜索题目推荐<汇总>

一些图论、网络流入门题总结、汇总最短路问题此类问题类型不多,变形较少POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/Judg

2012-08-12 17:53:39 828

原创 poj1861

题意:求一个最小生成树,边和边权都给出了,只是输出的时候有点恶心,要求输出最大权值的边的权值,边的条数以及都是什么边具体实现看代码吧import java.util.Arrays;import java.util.Scanner;public class Main { class Edge implements Comparable { int start,end; i

2012-08-12 17:01:30 521

原创 UVA 439 Knight Moves 基础BFS

题意是:给定一个8*8的棋盘然后给你起点和终点的坐标让你求骑士(也就是中国象棋中的马,只不过没有拌腿的限制)从起点走到终点的最短距离思路就是用BFS从起点开始按照骑士的走法遍历棋盘,知道走到终点。//注意起点和终点在一起的情况import java.util.ArrayList;import java.util.Scanner;//BFS求解最小距离public class M

2012-08-12 13:41:06 486

原创 poj3026

题意:就是S去感染A,然后A就变为了S在一起去感染其他的A,转变思路就是迷宫中全都是S,求把他们连起来的最小生成树具体做法:先建图,然后BFS求出S之间的距离存入map[][]里在求解最小生成树就可以了。26 5##### #A#A### # A##S ####### 7 7##### #AAA#### A## S #### ##AAA#

2012-08-11 21:48:31 606

原创 hdu1312基础的搜索

DFS的两种实现:import java.util.Scanner;public class hdu1312DFS { static char map[][]=new char[22][22]; static int x,y; static int inc[][]={{1,0},{0,1},{-1,0},{0,-1}}; static int ans; static void in

2012-08-11 18:15:07 546

转载 搜索专题题目推荐

POJ 1190 – 生日蛋糕(基础,好题)http://acm.pku.edu.cn/JudgeOnline/problem?id=1190题意:略解法:dfs,题偏简单,但做出来还是有些感觉的POJ 1376 – Robot(基础)http://acm.pku.edu.cn/JudgeOnline/problem?id=1376题意:略解法:bfs,A*….PO

2012-08-10 21:45:51 806

原创 poj1751已知某些边建好的情况下求最小生成树中其他需要建的边

poj1751:题意:已知某些边建好的情况下求最小生成树中其他需要建的边,输出其起点和终点这道题目是spj,对输出的顺序没有要求我用java写一直MLE,百思不得其解,然后又用C++写了一遍就AC了。这次终于知道了在结构体内写比较函数要比在外面写cmp快的多第二次在外面写的cmp直接卡时间超低空飘过,呵呵不多说了,看代码吧//==============

2012-08-10 18:48:16 2213 1

原创 最小生成树专题

今天系统的做了一下有关最小生成树的题目,都挺水的,水水更健康嘛1.hdu1233,中文题目,不再赘述了,很裸的MSTimport java.util.Arrays;import java.util.Scanner;public class hdu1233 {static int roadnum;static int max=10010;static int parent[]

2012-08-09 18:45:11 550

原创 在一些边已建的情况下求最小生成树hdu1102

hdu1102 :题意是在一个无向图中有一些边已经建好求最小生成树,思路很简单就是将已建的道路权值变为0即可。我用的是kruskal求MSTimport java.util.Arrays;import java.util.Scanner;public class Main { static int max=10010; static int parent[]=new int[ma

2012-08-08 22:32:43 1748

原创 poj3368--线段树统计区间的最大频率

今天又做了点图论和线段树的题目,比较有感触的就是这道,一开始感觉有点像hotel那道题,感觉记录区间的左右值和左右的最大频率以及总的最大频率即可,最后比较取最大,后来在初始化的时候RE了一次,然后就AC了,感觉线段树终于入门了import java.io.*;public class Main { static StreamTokenizer in = new Strea

2012-08-08 19:53:57 796

原创 ural1521-线段树解约瑟夫问题

使用sum[]数组来记录当前区段的个数pushup来更新子节点与父节点的关系,实现很简单,但是要注意每次节点个数在减少,注意查询时要求的长度要模一下当前节点的个数#include #include #include using namespace std;const int maxn=100010;int sum[maxn<<2];void pushup(int idx

2012-08-07 19:29:22 762

原创 hdu1394求最小逆序----树状数组解决

首先用树状数组求出初始序列的逆序对数,再根据变化特征,因为所有的数都是在1 ~ n(由于用到树状数组每个输进来的数都加了1) 的,所以每次把末尾的数掉到序列前面时,减少的逆序对数为n-1-A[i] ,增加的逆序对数为A[i]-1 ,这样就可在所有的序列中找出含有逆序对最少的了!import java.util.Arrays;import java.util.Scanner;

2012-08-07 16:19:00 558

原创 poj2481-树状数组的应用

//***********************************************解决思想************************************对于这种有两个关键字并且具备单调性的问题,使用树状数组优化的一般方法是固定一个关键字(或者区间的端点),然后查询另一个关键字前n项和的性质确定当前对象的答案。1.此题先按s由小到大排序,如果s相同根据t由大

2012-08-07 16:11:56 604 2

原创 数据结构之树状数组

package 树状数组;//低位操作//修改操作//求和//删除//插入//取第K小public class 模版 {// 点更新:向上路径更新关键字;// 区间更新:向下路径更新关键字;// 更新区间查询点:将inc与get方法互换。//要注意一个超时陷阱:x==0的情况static int N;static int c[]=new

2012-08-07 16:07:59 352

转载 并查集题目推荐

POJ 1611 The Suspects          最基础的并查集 POJ 2524 Ubiquitous Religions 最基本的并查集POJ 1182 食物链       并查集的拓展注意: 只有一组数据;要充分利用题意所给条件:有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。也就是说:只有三个groupPOJ 2492

2012-08-07 15:07:24 639

原创 数据结构之并查集

并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数、最小公共祖先、带限制的作业排序,还有最完美的应用:实现Kruskar算法求最小生成树。其实,这一部分《算法导论》讲的很精炼。       一般采取树形结构来存储并查集,在合并操作时可以利用树的节点数(加权规则

2012-08-07 15:03:55 503

原创 种类为两种时,并查集的解题应用poj1703和hdu1829

将两种的种类并查集转化为普通并查集例题:poj 1703 和 hdu 1829当有N各节点且他们之间只有两种关系时,可以再虚拟出N个节点,对这2*N个节点进行操作即可//hdu1829import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import j

2012-08-07 14:51:18 445

SplayTree详细解释

SplayTree详细解释

2012-09-24

离散数学及其应用6E—练习题答案

离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案离散数学及其应用6E—练习题答案

2012-04-20

HDU 2000-2099 解题报告.CHM

HDU 2000-2099 解题报告.CHM

2012-04-14

java课程2009内容串讲

java课程2009内容串讲

2012-03-31

排序大全各种排序

排序大全各种排序

2012-03-29

算法设计与分析

算法设计与分析

2012-03-23

高级数据结构

高级数据结构.

2012-03-23

QTREE解法的一些研究

QTREE解法的一些研究

2012-03-23

ACM输入输出介绍

ACM输入输出介绍

2012-03-23

acm人必备

acm人必备

2012-03-23

POJ推荐50题DP树图集锦

POJ推荐50题DP树图集锦

2012-03-23

acm北大暑假课讲义

acm北大暑假课讲义

2012-03-23

动态规划算法

动态规划算法

2012-03-23

中科大赛题加详细解析

中科大赛题加详细解析 中科大赛题加详细解析中科大赛题加详细解析中科大赛题加详细解析中科大赛题加详细解析中科大赛题元旦大战赛题

2012-03-23

Java经典问题算法大全

Java经典问题算法大全

2012-03-23

acm中dp问题简单入门讲解

acm中dp问题简单入门讲解

2012-03-23

hdu动态规划算法集锦

hdu动态规划算法集锦

2012-03-21

清华ACM模板

清华ACM集训队的模板,非常经典,各种代码各种有,图论,计算几何,都有,很齐很全,希望对大家有益,多多下载,谢谢大家了

2012-03-21

空空如也

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

TA关注的人

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