自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

_nplus

我不会敲线段树,不会搞DP。

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

原创 ZOJ1610_Count the Colors(线段树/成段更新)

解题报告题意:一根长度8000的线段上染色,求染完之后,每个颜色在线段上有多少个间断的区间。思路:区间问题用线段树,成段的更新区间,最后把所有的区间下压到叶子结点,统计叶子结点的颜色。#include #include #include using namespace std;int lz[32000],_hash[10000],color[10000],cnt;v

2014-08-11 03:05:36 8290 1

原创 POJ训练计划2299_Ultra-QuickSort(线段树/单点更新)

解题报告题意:求逆序数。思路:线段树离散化处理。#include #include #include #include #define LL long longusing namespace std;LL sum[2001000],num[501000],_hash[501000];void push_up(int rt){ sum[rt]=sum[rt

2014-08-10 23:37:08 2632

原创 HDU2852_KiKi's K-Number(线段树/单点更新)

解题报告题目传送门题意:意思很好理解。思路:每次操作是100000次,数据大小100000,又是多组输入。普通模拟肯定不行。线段树结点记录区间里存在数字的个数,加点删点操作就让该点个数+1,判断x存在就查询[1,x]区间的个数和[1,x-1]的个数。求x之后第k大的数就先确定小于x的个数t,第t+k小的数就是要求的。#include #include #incl

2014-08-10 21:16:26 2205

原创 POJ训练计划2528_Mayor's posters(线段树/成段更新+离散化)

解题报告地址传送门题意:一些海报,覆盖上去后还能看到几张。思路:第一道离散化的题。离散化的意思就是区间压缩然后映射。给你这么几个区间[1,300000],[3,5],[6,10],[4,9]区间左右坐标排序完就是1,3,4,5,6,9,10,300000;1,2,3,4,5,6, 7 ,8;我们可以把上面的区间映射成[1,8],[2,4],[5,7],[

2014-08-10 15:21:26 34296 1

原创 POJ训练计划3096_Surprising Strings(STL/map)

解题报告题目传送门题意:给一个字符串,要求,对于这个字符串空隔为k取字符对(k=0,1,2,3,4...)要求在相同的空隔取对过程汇总,整个字符串中没有一个相同字符对如:ZGBZ:间隔为0的字符对有: ZG、GB、BZ,三个均不相同间隔为1的字符对有: ZG、 GZ,均不相同间隔为2的字符对有: ZZ 仅有一个,不必比较。这种字符串定义为

2014-08-09 19:44:22 2305

原创 ZOJ1109_Language of FatMouse(STL/map)

解题报告题意:略。思路:map应用。#include #include #include #include #include #include #include #include using namespace std;mapMap;int main(){ string str1,str2,str; int i,j; while

2014-08-09 19:29:38 1801

原创 ZOJ2724_Windows Message Queue(STL/优先队列)

解题报告题意:看输入输出就很明白。思路:优先队列。#include #include #include #include #include #include #include #include using namespace std;struct node { char m[100]; int v,k; friend bool ope

2014-08-09 19:23:53 1820

原创 POJ2352_Stars(线段树/单点更新)

解题报告题意:求在坐标系中

2014-08-09 19:15:42 2316

原创 HDU1698_Just a Hook(线段树/成段更新)

解题报告题意:原本区间1到n都是1,区间成段改变成一个值,求最后区间1到n的和。思路:线段树成段更新,区间去和。#include #include #include using namespace std;int sum[500000],lz[500000];void push_up(int root,int l,int r){ sum[root]=sum

2014-08-09 10:43:58 1451

原创 POJ3468_A Simple Problem with Integers(线段树/成段更新)

解题报告题意:略思路:线段树成段更新,区间求和。#include #include #include #define LL long long#define int_now int l,int r,int rootusing namespace std;LL sum[500000],lazy[500000];void push_up(int root,int l,

2014-08-08 21:44:43 1372

原创 HDU3074_Multiply game(线段树/单点更新)

解题报告题意:略思路:单点更新,区间乘积。#include #include #include #define LL long longusing namespace std;LL mul[501000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l==r)

2014-08-08 08:14:55 1068

原创 HDU1754_I Hate It(线段树/单点更新)

解题报告题意:略思路:单点替换,区间最值#include #include #include #define inf 99999999using namespace std;int maxx[808000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l==

2014-08-07 21:53:54 1128

原创 HDU1166_敌兵布阵(线段树/单点更新)

解题报告题意:略思路:线段树单点增减和区间求和。#include #include #include #define LL long longusing namespace std;int sum[201000];void update(int root,int l,int r,int p,int v){ int mid=(l+r)/2; if(l

2014-08-07 21:32:22 1127

原创 POJ3264_Balanced Lineup(线段树/单点更新)

解题报告题意:求区间内最大值和最小值的差值。思路:裸线段树,我的线段树第一发。#include #include #include #define inf 99999999#define LL long longusing namespace std;LL minn[201000],maxx[201000];void update(LL root,LL l,LL

2014-08-07 20:45:34 1001

原创 POJ1061_青蛙的约会(数论/同余方程)

解题报告思路:

2014-08-07 14:32:58 1180

原创 SDUT_人活着系列

SDUT2929_人活着系列之芳姐和芳姐的猪解题报告求出所有最短路,枚举一个猪圈求出到有猪的猪圈的总路程最短。#include #include #include #include #include #define inf 99999999using namespace std;struct E{ int v,w,next;} edge[5000

2014-08-06 01:00:56 1563

原创 POJ3624_Charm Bracelet(背包/01背包)

解题报告题目传送门题意:思路:

2014-08-02 23:05:05 1166

原创 HDU3832_Earth Hour(最短路)

解题报告题意:N个路灯,1,2,3,分别表示图书馆

2014-08-02 18:06:19 1306

原创 HDU1839_Delay Constrained Maximum Capacity Path(最短路+二分)

解题报告题目传送门题意:有N个点,点1为珍贵矿物的采矿区, 点N为加工厂,有M条双向连通的边连接这些点。走每条边的运输容量为C,运送时间为D。他们要选择一条从1到N的路径运输, 这条路径的运输总时间要在T之内,在这个前提之下,要让这条路径的运输容量尽可能地大。一条路径的运输容量取决与这条路径中的运输容量最小的那条边。思路:二分容量建图,spfa判时间是否符合

2014-08-02 15:55:39 1624

翻译 二分图最大匹配及常用建图方法

转载百度文库算法———艺术二分图匹配剖析很多人说,算法是一种艺术。但是对于初学者的我,对算法认识不是很深刻,但偶尔也能感受到他强大的魅力与活力。这让我追求算法的脚步不能停止。下面我通过分析匈牙利算法以及常用建图方式,与大家一起欣赏算法的美。匈牙利算法匈牙利算法是用来解决最大二分图匹配问题的,所谓二分图即 “一组点集可以分为两部分,且每部分内各点互不相连,两部分的点之间可

2014-08-02 11:09:29 3955 1

原创 POJ2063_Investment(背包/完全背包)

解题报告题意:本金买股票,最大n年后的收益(本金加利息)思路:基础完全背包,单纯的写可能TLE,因为股票都是1000的倍数,所以本金用1000的整数倍来买股票。#include #include #include #define inf 99999999using namespace std;int w[12],c[12],dp[2001000],v;int n,d

2014-08-02 09:31:48 1321

原创 POJ2001_Shortest Prefixes(字典树)

解题报告题目传送门题意:给你字符串,然后让你找出最短的前缀字符串,但不能跟下面的单词的前缀相同。思路:只要建成trie的前缀树就行了。#include #include #include struct node{ int v; node *next[26];};node *newnode(){ node *p=new node;

2014-08-02 00:29:38 1197

原创 HDU2191_悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(背包/多重背包)

解题报告题目传送门题意:中文不多说;思路:基础多重背包,每个物品有多个可以选,转换成01背包解。#include #include #include #define inf 99999999using namespace std;int main(){ int t,i,j,n,m,v,p,h,cc,w[1010],c[1010],dp[1010];

2014-08-02 00:19:26 1350

原创 HDU2602_Bone Collector(背包/01背包)

解题报告题意:容量为v的大小,物品数n,每个物品有价值和容量,求能装进包的最大价值。思路:基础01背包。dp[j]=max(dp[j],dp[j-c[i]]+w[i])#include #include #include #define inf 99999999using namespace std;int main(){ int t,i,j,n,v,

2014-08-01 22:56:15 1087

原创 HDU2159_FATE(背包/二维背包)

解题报告题意:

2014-08-01 22:46:12 947

原创 HDU1114_Piggy-Bank(背包/完全背包)

解题报告题目传送门题意:给金币的面额和重量,求装满储蓄罐的最小价值。思路:完全背包基础,初始dp为最大,dp[0]=0表示储蓄罐为空价值为0;状态转移方程就是dp[j]=min(dp[j],dp[j-w[i]]+c[i])#include #include #include #define inf 99999999using namespace std;in

2014-08-01 21:31:49 991

原创 POJ3189_Steady Cow Assignment(二分图多重匹配/网络流+二分构图)

解题报告题目传送门题意:B个猪圈,N头猪,每头猪对每个猪圈有一个满意值,要求安排这些猪使得最大满意和最小满意的猪差值最小思路:二分图的多重匹配问题;猪圈和源点连边,容量为猪圈容量,猪与汇点连边,容量1;猪圈和猪之间连线取决所取的满意值范围;二分查找满意值最小差值的范围。#include #include #include #include #define

2014-08-01 17:56:33 2056

原创 UVa10115_Automatic Editing csdn(小白书字符串专题)

解题报告题意:替换字符串,一个单词可重复替换思路:这种题都很恶心。#include #include #include #include using namespace std;char str[1000][1000],ch[1000][1000],sh[1000],str1[1000];int main(){ int n,i,j; while(~

2014-07-31 21:50:47 1002

原创 UVa409_Excuses, Excuses!(小白书字符串专题)

解题报告字典树爆。#include #include #include using namespace std;int k,e,num[100],cnt;struct node{ int v; node *next[26];};node *newnode(){ node *p=new node; p->v=0; int i;

2014-07-31 20:38:17 941

原创 UVa10815_Andy's First Dictionary(小白书字符串专题)

解题报告思路:字典树应用,dfs回溯遍历字典树#include #include #include using namespace std;struct node { int v; node *next[26];};int l,m,cnt;char str[100],ch[100],dic[5500][100];node *newnode(){

2014-07-30 21:33:18 1090

原创 POJ2584_T-Shirt Gumbo(二分图多重最大匹配/最大流)

解题报告题目传送门题意:X个参赛选手,每个选手有衣服大小的范围,5种大小的队服,求是否能使每个选手都拿到符合自己大小范围的衣服。思路:X人5种衣服,有的人选的衣服可能大小一样,这样就是二分图的多重最大匹配。源点到5种衣服的容量就是衣服的数量。#include #include #include #include #include #include #define

2014-07-28 23:38:39 1806

原创 POJ1698_Alice's Chance(二分图多重最大匹配/最大流)

解题报告题目传送门题意:N个电影,每个电影在每一周有固定拍映时间,电影必须在W周前演完。有一个演员,他每天只能演一场电影,对于每部电影必须演完D天才算完。思路:二分图多重最大匹配问题,对于每个电影,源点与每个电影连上一条边容量为D,电影与每周7天对应拍映连线,容量为1,每周每天与汇点连线容量为1在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边

2014-07-28 22:49:04 1303

原创 POJ训练计划2513_Colored Sticks(字典树+判断欧拉通路)

解题报告题意:问给

2014-07-28 20:23:37 865

原创 ZOJ3508_The War(网络流最大流)

解题报告题目传送门题意:N个士兵,M个武器,每个士兵能接受的武器重量范围是[minw,maxw]思路:本来以为二分图可以的,(看错数据范围了,,,)贪心好像可以。scf说网络流可以缩点。建图方式:源点和士兵连一条线,每个士兵与[1,1000]的武器重量连边,[1,1000]与汇点连线,容量是武器i的数量#include #include #include #i

2014-07-28 19:13:07 1414

原创 G++万能头文件/cin_cout

#include #define _ ios_base::sync_with_stdio(0);cin.tie(0); using namespace std; int main() { _ return 0; }

2014-07-27 16:54:47 7480 1

原创 ZOJ1516_Uncle Tom's Inherited Land(二分最大匹配)

解题报告题目传送门题意:同POJ2

2014-07-27 15:51:05 1845

原创 POJ2446_Chessboard(二分图最大匹配)

解题报告题目传送门题意:M×N的矩阵,k个点被标记,用2×1的木板最多可以放置多少个。思路:把标记的格子除外,链接相邻的两个格子,然后最大匹配出来的是二分图的两倍。c++TLE了,G++1700+过了,理论上匈牙利算法的时间复杂度是n^3,就应该超时,可能数据弱吧。还有一种建图方式就是建成二分图,将矩阵中的点奇偶分。#include #include #incl

2014-07-27 15:29:22 2313

原创 HDU1068/POJ1466_Girls and Boys(二分图/最大独立集=N-最大匹配)

解题报告题目传送门题意:求满足条件的最大集合:集合内任何两个人都没有浪漫关系思路:跟POJ2771一样的题,变的简单多了。POJ2771解题报告#include #include #include #include using namespace std;int n,mmap[550][550],pre[550],vis[550];int dfs(int x)

2014-07-27 03:36:53 1294

原创 POJ2771_Guardian of Decency(二分图/最大独立集=N-最大匹配)

解题报告题目传送门题意:看到题目我就笑了,,,老师认为这样的两个学生不是一对:身高相差40以上(年龄都不是距离了,身高又算什么)不同性别(sad,,,就不允许基友存在呀,,,谁的肥皂掉了,,,)喜欢不一样的歌曲类型(你总不能要求两人整天听小苹果吧,,,,,,你是我的小丫小苹果,,,,,,)喜欢一样的运动( they are likely to be fans of

2014-07-27 02:56:02 1837

原创 POJ2536_Gopher II(二分图最大匹配)

解题报告题目传送门题意:n只地鼠,m个洞,老鹰的到达地面的时间s,地鼠的移动速度v,求多少只地鼠会被老鹰吃了。思路:地鼠和洞看成两集合,建立二分图。只有当地鼠到洞的时间少于老鹰到地面的时间才连边。#include #include #include #include using namespace std;int n,m,s,v,mmap[500][500],v

2014-07-27 00:58:15 2257

空空如也

空空如也

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

TA关注的人

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