自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

转载 Tarjan O(n+m) 算法【转】

对于强连通相关概念可参考这里推荐BYV大牛的文章O(n+m)http://www.byvoid.com/blog/scc-tarjan/****************************************************************************************************************************

2011-05-26 02:02:00 1173

原创 SPFA最短路

B-F  适用条件&范围单源最短路径(从源点s到其它所有顶点v); 有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图); 边权可正可负(如有负权回路输出错误提示); 差分约束系统;算法描述对每条边进行|V|-1次Relax ( 就是松弛操作 )操作; 如果存在(u,v)∈E使得dis[u]+wFor i:=1 to |V|-1 d

2011-05-22 00:01:00 1337 1

原创 Splay伸展树&模板

伸展树操作详解http://wenku.baidu.com/view/cc211f126edb6f1aff001f16.html?from=rec&pos=4&weight=9&lastweight=9&count=5The Magical Splayhttp://wenku.baidu.com/view/a202e27931b765ce05081416.html

2011-05-21 09:57:00 8821 1

原创 数据结构之树状数组

1、概述树状数组(binary indexed tree),是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。概括说,树状数组通常用于解决以下问题:数组{a}中的元素可能不断地被修改,怎样才能快速地获取连续几个数的和?2、树状数组基本操作传统数组(共n个元素)的元素修改和连续元素求和的复杂度分别为O(1)和O(n)。树状数组通过将线性结构转换成伪树状结构(线性结构只能逐个

2011-05-15 21:34:00 736

转载 数据结构之后缀数组

数据结构之后缀数组1. 概述后缀数组是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,后缀数组经常用于解决字符串有关的复杂问题。本文大部分内容摘自参考资料[1][2]。2. 后缀数组2.1   几个概念(1)后缀数组SA 是一个一维数组,它保存1..n 的某个排列SA[1],SA[2],……,SA[n],并且保证Suffix(SA[

2011-05-15 21:07:00 714

原创 最短路 Dijkstra算法

以下部分转自百度百科Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。  Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直

2011-05-13 22:06:00 754

转载 母函数详解【转】

我发现自己的母函数忘记了不少,趁着有空就补补呗。。。母函数(Generating function)详解 最近更新:2011.4.3 1.鉴于文章图片和排版的问题,对文章进行了重新编辑。2.看见网上很多朋友在转载时不尊重别人的劳动成果,任意删除文章里关于作者的信息,希望大家在转载时保留文章所有信息,遵守版权规定。前段时间写了一篇《背包之01背包、完全背包、多重背包详解》,看到支持的人很多,我不是大牛,只是一个和大家一样学习的人,写这些文章的目的只是为了一是希望让大家学的轻松,二是让自己复习起来更方便。

2011-05-12 01:24:00 611

原创 最大二分匹配【转】

**********************************************************************转自Hao的博客http://chhaj5236.blog.163.com/blog/static/1128810812009910102617216/**************************************************

2011-05-04 10:17:00 1132

原创 线段树入门【转】

*********************************************************************转自Hao的博客http://chhaj5236.blog.163.com/blog/static/11288108120099128044145/*********************************************************************把问题简化一下:在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线

2011-05-04 10:13:00 498

原创 SCUT “TCL”赛过后

说实话,哥今天的心情不好,那5小时特别难熬!看着别人一题一题地a了,自己队还是鸭蛋,心情真的不好受!昔日的222去哪呢???最近我们仿佛在各忙各的,默契不再,话题不再,连一个最短路都不会敲,真的真的很惭愧!估计明天都是打酱油的,总是打酱油,真讨厌!自己曾想过下学期不搞了,去搞项目,搞android,可是连算法基础都没有,搞条毛!况且222还需要我,所以决定留下来好好干,谁知道自己不争气,整天做水题,看别人代码,有P用!!!没有自己的想法,一比赛就完蛋了。有时候真的不能完全依靠队友,一旦他们没状态,后果就像今

2011-05-21 21:06:00 985 3

原创 hust 1425【DFS】

http://acm.hust.edu.cn/thx/problem.php?id=1425再次orz青蛙牛&菊神的神思路,已经把DFS理解得出神入化思路:首先要知道(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)的结果除以3取模,和(x1%3,y1%3,z1%3)(x2%3,y2%3,z2%3)(x3%3,y3%3,z3%3)的结果除以3取模是一样的,然后因为abc可能是负数,负数%3=负数或0。用cnt数组记录同类的有多少,然后DFS。。。额,比较难说清,看代码吧。总之很神!#include

2011-05-20 13:16:00 751

原创 hust 1428【母函数】

<br />http://acm.hust.edu.cn/thx/problem.php?id=1428<br />/**************************************************************** Problem: 1428

2011-05-20 00:30:00 563 1

原创 hust 1422【DFS】

http://acm.hust.edu.cn/thx/problem.php?id=1428STL+DFS#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x7fffffffvector v[50005];int a[50005];int dfs(int x){ int i,j;

2011-05-20 00:25:00 528

原创 hdu 3015【树状数组】

http://acm.hdu.edu.cn/showproblem.php?pid=3015犯一些低级错误。。。例如忘了return,注意求大和求小的式子---【ans+=t[i].ch*(num_min*t[i].cx-sum_min + sum_x-sum_min-(i-num_min-1)*t[i].cx);//第i个与其他的差的和】/************hdu3015*****************/#include#include#include#includeusing

2011-05-19 01:27:00 689

原创 poj 1990【树状数组】

<br />http://poj.org/problem?id=1990<br />这题调试了n久!!!就是因为变量名有点乱,自己也乱了。<br />#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int num_small[20010],sum_small[20010];int Max;struct node{ int v

2011-05-18 09:33:00 487

原创 【树状数组or归并排序求逆序数】HDU 1394

http://acm.hdu.edu.cn/showproblem.php?pid=1394 先说一下逆序数的概念:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那末它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4,为偶排

2011-05-17 13:22:00 863

原创 hdu 2492【树状数组】

<br /> http://acm.hdu.edu.cn/showproblem.php?pid=2492<br />/*有一条街上的人进行乒乓球比赛。 每两个人可以进行比赛的前提是能够找到除了他们之外的一个裁判住在他们中间, <br />并且, 裁判的等级不能同时低于他们两个人,或者同时高于他们两个人。   <br />思路:  用两次树状数组;枚举裁判位置,  用树状数组求出 左边比他小的数有多少个,  <br />求出左边比他大的数有多少个, 再用一次树状数组 求出右边比他小的数 有多少个,  <br

2011-05-17 00:19:00 669

转载 数据结构汇总

1、常见数据结构线性:数组,链表,队列,堆栈,块状数组(数组+链表),hash表,双端队列树:堆(大顶堆、小顶堆),trie树(字母树or字典树),后缀树,后缀树组,二叉排序树,二叉平衡树,B+/B-,AVL,Treap,红黑树,splay树,线段树,树状数组图:图其它:并查集,RMQ2、常见算法(1)       基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯(2)       图算法:深度优先遍历与广度优先遍历, 最短路径,最小生成树,拓扑排序(3)       字符串算法:字符串查找,h

2011-05-15 21:11:00 417

转载 数据结构之堆

数据结构之堆1. 概述堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。二叉堆形状可参考维基百科2. 堆的基本操作堆是一棵完

2011-05-15 21:09:00 765

原创 hdu 3003 【二分快速幂】

http://acm.hdu.edu.cn/showproblem.php?pid=3003推出的公式为2^(n-1)+1,利用二进制。过程:设不透明为0,透明为10 0---》1 0---》0 1---》1 1   三天0 0 0---》1 0 0---》0 1 0---》1 1 0---》0 0 1---》1 1 1  五天二分快速幂,可是纠结于二分过程。。。囧特别是这里:if(n&1)  {   t=t*ans;//!!!   n--;   t%=m;  }#include#include#i

2011-05-14 20:16:00 1076

原创 zoj 2029【二分查找】或【STL】

题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1029题目大意是说给出a数组,对于b中的每一个在a中找出最小范围使得ai自敲的二分#includeusing namespace std;#includeint n,m;int find(int *a,int x){ int l=0,r=n-1,mid; if(xx)return mid; if(a[mid]

2011-05-14 17:05:00 698

原创 codeforces #72 div2 C. Biathlon

http://www.codeforces.com/contest/84/problem/C二分在cf很常见,可是怎么当时就是想不出来!#includeusing namespace std;#includeint n,m;struct node{ int x,r,i,hit;}p[10010];bool cmp(const node &a,const node &b){ return a.x1) { mid=(l+r)/2; if(p[mid].

2011-05-14 10:53:00 672

原创 hdu 1879 最小生成树【prime算法】

http://acm.hdu.edu.cn/showproblem.php?pid=1879#include#include#define MAX 0x3fffffffint map[101][101],dis[101],vis[101];int main(){ in

2011-05-13 22:43:00 545

原创 UESTC Treasure----dfs

<br />TreasureTime Limit: 2000 ms Memory Limit: 65535 kB<br />Solved: 68 Tried: 140 <br /> Description   Loneknight is finding treasures in a maze. He is so greedy that he always takes away all the treasure he can reach. Now, he has a map for the maze, and

2011-05-13 13:24:00 455

原创 hdu 1085 母函数---有限个

把它转化为有限硬币的模型只有3钟情况,遍历到sum就ok#include#includeint c1[10000],c2[10000];int num[3]={1,2,5},m[3];int main(){ int a,b,c; while(scanf("%d%d%d",&a,&b,&c) &&(a+b+c)) { int i,j,k; int sum=a+2*b+5*c; m[0]=a,m[1]=b,m[2]=c; memset(c1,0,sizeo

2011-05-13 00:08:00 488

原创 hdu 1398

<br />http://acm.hdu.edu.cn/showproblem.php?pid=1398<br /> <br />#include<stdio.h>int c1[310],c2[310];int main(){ int n; while(scanf("%d",&n) &&n ) { int i,j,k; for(i=0;i<=n;i++) { c1[i]=1; c2[i]=0; } for(i=2;i*i<=n;i++)

2011-05-12 20:44:00 464

原创 hdu 1028 母函数---无限个

代模板。。。不解释,要理解!http://acm.hdu.edu.cn/showproblem.php?pid=1028#includeint c1[130],c2[130];int main(){ int n; while(scanf("%d",&n)!=EOF) { int i,j,k; for(i=0;i

2011-05-12 20:24:00 510

原创 hdu 1800 map水过

<br />http://acm.hdu.edu.cn/showproblem.php?pid=1800<br />输出最多重复的level个数就ok<br />#include<iostream>using namespace std;#include<map>int a[3010];int main(){ //freopen("a.txt","r",stdin); int n; while(scanf("%d",&n)!=EOF) { int i; map

2011-05-12 01:10:00 862

原创 hdu 2719

http://acm.hdu.edu.cn/showproblem.php?pid=2719注意%输出!!!#include#includechar str[100];int main(){ //freopen("a.txt","r",stdin); while(gets(str)) { int len=strlen(str); if(len==1 && str[0]=='#')break; int i; for(i=0;i

2011-05-10 15:01:00 566

原创 hdu 分类

<br />第二篇<br /> <br />基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、--1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、1164、1170、1194、1196、1197、1201、1202、1205、1219、123

2011-05-10 00:48:00 534

转载 CSDN自定义CSS【转】

<br />可以在博客的配置页面的自定义css栏中填入css样式代码来自定也blog的风格<br /><br />csdn blog的页面架构基本是由div实现的,整个页面主要由三个div组成,它们的id分别是:<br />csdnblog_header, csdnblog_sidebar, csdnblog_content。<br />所以,定义它们的主体样式可以这样:<br />#csdnblog_header<br />{<br />    //头部的风格<br />}<br />#csdnblog_

2011-05-08 14:41:00 498

原创 zoj 1905 字符串

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1905

2011-05-08 01:42:00 569

原创 zoj 1589 传递闭包

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=589Run IDSubmit TimeJudge StatusProblem IDLanguageRun Time(ms)Run Memory(KB) 25282682011-05-08 01:12:19Accepted 1589C0164简单闭包。。。注意一下用scanf来读入字符时getchar()使用就ok了#include#includeint re1[30][30],re

2011-05-08 01:13:00 596

原创 hdu 1704 传递闭包

<br />http://acm.hdu.edu.cn/showproblem.php?pid=1704<br />传递闭包。。。。<br />#include<stdio.h>#include<string>int a[510][510];int main(){ //freopen("a.txt","r",stdin); int t; while(scanf("%d",&t)!=EOF) { while(t--) { int n,m; scanf("

2011-05-07 18:30:00 829 4

原创 hdu 1698 线段树(修改线段值)

<br />http://acm.hdu.edu.cn/showproblem.php?pid=1698<br />/*修改函数Update():在修改区间的时候,如果正好和区间对应,则改变当前点的value值,如果不对应,则要修改的区间必是当前区间的子区间,再当前区间的两个子区间修改就行了,关键点是:先将当前区间value值赋给它的两个子区间,同时当前区间的value值要赋零,表示当前区间里的保存的值不是同一个值。*/#include<iostream>using namespace

2011-05-06 01:54:00 444

原创 hdu 1166 线段树/树状数组

http://acm.hdu.edu.cn/showproblem.php?pid=1166***********************************************************本人做的第一道线段树的题,纪念一下吧*****************

2011-05-05 16:12:00 453

原创 hdu 2444 判断是否构成二分图,并求最大匹配

关于二分匹配详见http://blog.csdn.net/leolin_/archive/2011/05/04/6393259.aspx//构造的二分图虽然是多解的,但是任意一个二分图的最大匹配数相等#includeusing namespace std;#include#include#define MAX 210bool map[MAX][MAX];int vis[MAX];int match[MAX];int n;struct node{ int n

2011-05-04 21:55:00 736

原创 hdu 2063 过山车 基础最大二分匹配

http://acm.hdu.edu.cn/showproblem.php?pid=2063忘了每次清空那几个DT的数组导致wa。。。低级错误。。。囧#include#include#define MAX 510bool path[MAX][MAX],visit[MAX];int match[MAX];bool searchpath(int s,int m){ for(int i=1;i

2011-05-04 13:59:00 543

原创 SRM 505 ----score 250

<br /> <br />纪念下第一道TC题。。。那格式实在很蛋疼,很不习惯Problem Statement      You are given a simple paragraph containing a number of sentences, the original person who wrote the paragraph was in a rush and used only lower case letters ('a'-'z') for the words in the paragr

2011-05-03 20:18:00 562

原创 TopCoder竞赛:C++, STL 用法快速入门(转)& 输入输出

********************************下面总结了一些题目中常用的STL库的用法。#include #include #include #include #include usingnamespace std;//递归int GetN(int n){if(n==1)return1;elsereturn GetN(n-1);}void TestSTL_main(int argc, char* argv[])//void main( int argc, char* argv[] ){/*

2011-05-03 18:45:00 784

acm程序设计曾宗根

acm程序设计曾宗根,方便

2011-09-06

空空如也

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

TA关注的人

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