自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 文章标题 HDU 2222 : Keywords Search (AC自动机模板)

题目链接 题意:有n个单词,然后有一个文本串,问有多少个单词出现在文本串中出现,每个单词只技术一次 分析:ac自动机模板题,得注意单词只计数一次。 代码:#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <queue>using namespace std;const in

2017-08-25 17:21:53 367

原创 文章标题 HDU 5692 : Snacks(dfn序+线段树)

Snacks题目链接 分析:首先,先求出每个节点的第一次出现时的dfn序,用in数组维护,第二次出现的dfn序,用out数组来维护,然后,区间【in[x],out[x]】就是节点的儿子及其自己,所以可以用线段树来维护这段区间的最大值,及题目所求。 代码:#pragma comment(linker, "/STACK:1024000000,1024000000") #include <iostr

2017-08-25 11:37:03 360

原创 文章标题 HDU 2874 : Connections between cities(LCA+并查集)

题目链接 题意:有n个点组成的森林,然后有c个询问,每次询问u->v有没有一条路径,有的话,输出这条路径的距离,没有的话输出“Not connected” 分析:首先,判断是否有路径到达,只需要用并查集,看一下两个点是否在同一颗树上,然后对于有路径的两个点,我们可以求他们的LCA,然后通过dis[u]+dis[v]-2*dis[lca]来得到答案,但是题目给的是森林不是树,可以用另一个点作为树根

2017-08-23 15:00:25 151

原创 文章标题 HDU 6165: FFF at Valentine(强连通分量缩点)

FFF at Valentine题目链接 题意:在n个点,m条边的有向图中,判断是否对任意的两个点u,v,是否能从一个点到达另一个点,如果存在一组u,v不能从一点到达另外一点,就不符合情况。 分析:首先,我们可以知道,在同一个强连通分量的任意两个点是何以互相到达的,所以我们可以先求出强连通分量然后缩点重新建图,新建的图就是一个有向无环图,这样我们可以知道当出现有两个入度为零的情况时就不符合情况,

2017-08-23 10:10:56 286

原创 文章标题 HDU 6166 : Senior Pan(二进制+dijkstra)

Senior Pan题目链接 题意:有n个点,m条边的有向图,然后从中拿出k个点,然后要我们求出这k个点中距离最短的两个点。 分析:巧妙的用了二进制的思想,对于一个点上的一个二进制位,我们可以知道,不是1就是0,那么我们就可以通过判断这个二进制位是否是1来将这k个点的分成两个集合,由于n的大小只有1e5,所以最多只需要枚举20个二进制为, 然后就是当把k个点分成两个集合后,就是求两个集合之间的最

2017-08-23 09:53:11 386

原创 文章标题 HDU 4280 :Island Transport (最大流--ISAP)

题目链接一开始用的dinic 发现T了,然后换了个IS AP的模板代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#include <map>#include <algorithm>#include <math.h>#inc

2017-08-18 16:16:10 323

原创 文章标题 POJ 2516 : Minimum Cost (求k次 费用流)

题目链接 思路参考自 http://blog.csdn.net/lyy289065406/article/details/6742534题意:有N个店主,M个供应商,还有K种物品,然后对于N个店主,每一个店主对K种物品每种都有一个需求,对于M个供应商,每个供应商对K种物品每种都有一个供应,然后知道第k种物品从第j个供应商运到第i个店主的单位费用。 分析:首先先判断对第k种物品是否能够供等于求或供

2017-08-18 11:18:13 1413

原创 文章标题 POJ 1087 : A Plug for UNIX (最大流)

题目链接 题意:首先有n1,表示有n1个插座,每个插座属于一种类型(有可能是多个插座是同一类型) 然后有n2,表示有n2个设备,每个设备的插头属于一种类型,与插座对应类型的就可以充电。 接着有n3,表示有n3种转换器,比如A和B,表示可以将A类型的插头转成B类型的插头。 要我们求出这n2个设备有多少不能充上电 分析:首先,虚拟出超级源点st和超级汇点la,然后对于每个插座,都建一条插座到汇

2017-08-16 17:50:39 302

原创 文章标题 POJ 3281 : Dining (最大流+巧妙建图)

题目链接 题意:有N只牛,每只牛有自己喜欢的食物和饮料,现在有F种食物和D种饮料,然后每一种饮料和每一种食物只能由一只牛享用,然后要我们求,怎么分配这些食物和饮料,使得尽可能多的牛能同时得到一种饮料和一种食物。 分析:巧妙的建图方式,把食物和饮料放在两端。一头牛拆分成两个点,两点之间的容量为1.喜欢的食物和饮料跟牛建条边,容量为1. 加个源点和汇点。源点与食物、饮料和汇点的边容量都是1,表示每

2017-08-16 15:32:53 271

原创 文章标题 HDU 1533 : Going Home (最小费用最大流)

Going Home题目链接 题意:在n*m的矩形上,有房子和人, 人到达房子的话费是曼哈顿距离,然后每个人走到一个房子,求最小的费用。 分析:最小费用最大流的模板 代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#inc

2017-08-16 11:50:55 137

原创 文章标题 HDU 3549 : Flow Problem (最大流--模板)

题目 链接求点1到N 的最大流代码:#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<vector>#include<math.h>#include<map>#include<queue> #include<algorithm>using namespace std;const

2017-08-16 09:57:47 326

原创 文章标题 SPOJ-COT - Count on a tree(LCA+主席树)

题目 链接题意:求树上的路径 u->v上第k小的节点分析:普通的第K大,当前的这颗线段树是在前面一颗线段树的基础上建立的,而树上的第K大,当前的线段树可以在其父节点的线段树建立起来。所以我们查询u->v上的第k大就是rt[u]+rt[v]-rt[lca(u,v)]-rt[fa[lca(u,v)]]的第k大。代码:#include <iostream>#include <cstdio>#inclu

2017-08-14 16:58:42 325

原创 文章标题 POJ 2104: K-th Number(主席树)

题目 传送门思路参考自http://www.cnblogs.com/zyf0163/p/4749042.html 代码:////http://www.cnblogs.com/zyf0163/p/4749042.html//#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <q

2017-08-14 16:48:14 277

原创 文章标题 POJ 1185 : 炮兵阵地 (状压DP)

题目链接分析:首先我们可以先预处理一行中出所有状态中哪那些状态是可行的,即炮兵不会被放在另一个炮兵的射程内用each数组存储。然后同样预处理出地图每一行的状态,其中高地用1表示,用mp数组存储,这两个数组是我为了判断在第j行中第i个状态是否可行,即each[i]&mp[j],返回1表示有 冲突 然后我们用dp[I][j][k]来表示在第i行中的第j个状态与第n-1行中的第k个状态中炮兵的数量,然后

2017-08-09 11:17:51 305

原创 文章标题 HRBUST 1400 : 汽车比赛(树状数组 )

汽车比赛XianGe非常喜欢赛车比赛尤其是像达喀尔拉力赛,这种的比赛规模很大,涉及到很多国家的车队的许多车手参赛。XianGe也梦想着自己能举办一个这样大规模的比赛,XianGe幻想着有许多人参赛,那是人山人海啊,不过XianGe只允许最多100000人参加比赛。 这么大规模的比赛应该有技术统计,在XianGe的比赛中所有车辆的起始点可能不同,速度当然也会有差异。XianGe想知道比赛中会出现多

2017-08-09 09:45:52 725

原创 文章标题 POJ 1195 :Mobile phones(二维树状数组 模板)

Mobile phonesSuppose that the fourth generation mobile phone base stations in the Tampere area operate as follows. The area is divided into squares. The squares form an S * S matrix with the rows and c

2017-08-09 09:32:04 251

转载 文章标题 POJ 1182 : 食物链 (带权并查集)

传送门 思路参考自 http://blog.csdn.net/niushuai666/article/details/6981689 代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#include <map>#includ

2017-08-07 17:54:02 102

原创 文章标题 HDU 1054 :Strategic game (树形DP)

传送门 题意:有n个节点,n-1条条边的树,然后要我们选择最少的点,使得这些点能将所有的边看到。 分析:树形DP ,dp[i][2],用0表示i这个点不选择,1表示i这个点选择,然后当对于u这个节点,如果不选择,那么其儿子节点就必须都得选择,所以有dp[u][0]+=dp[v][1] (v表示u的所有的儿子节点) 当选择u这个节点时,dp[u][1]=min(dp[v][0],dp[v][1]

2017-08-07 16:23:17 302

原创 文章标题 POJ 2947 : Widget Factory (高斯消元)

题目链接 题意:有n 种装饰物,m 个已知条件,每个已知条件的描述如下: p start end a1,a2……ap (1<=ai<=n) 第一行表示从星期start 到星期end 一共生产了p 件装饰物(工作的天数为end-start+1+7*x, 加7*x 是因为它可能生产很多周),第二行表示这p 件装饰物的种类(可能出现相同的种类,即ai=aj)。规定每件装饰物至少生产3 天,最多生

2017-08-07 15:37:22 265

原创 文章标题 POJ 2065 :SETI (高斯消元)

题目链接 题意:给你一个素数P(P<=30000)和一串长为n的字符串str[]。字母’*’代表0,字母a-z分别代表1-26,这n个字符所代表的数字分别代表f(1)、f(2)….f(n)。 定义f(k) = ∑(0<=i<=n-1)ai*k^i(mod p) 通过定义可以列出n个方程 f(1) = a0 * 1^0 + a1 * 1^1 + a2 * 1^2 ,,,,,,,a(n-1) *

2017-08-07 15:33:25 281

转载 文章标题 高斯消元解方程组(模板)

参考自http://www.cnblogs.com/kuangbin/archive/2012/09/01/2667044.html#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#include <map>#include <alg

2017-08-07 15:13:26 312

原创 文章标题 POJ : Rectangular Covering(状压DP)

Rectangular Coveringn points are given on the Cartesian plane. Now you have to use some rectangles whose sides are parallel to the axes to cover them. Every point must be covered. And a point can be co

2017-08-03 10:15:43 304

原创 文章标题 POJ 2441 :Arrange the Bulls(状压DP)

Arrange the BullsFarmer Johnson’s Bulls love playing basketball very much. But none of them would like to play basketball with the other bulls because they believe that the others are all very weak. Fa

2017-08-03 09:20:04 178

转载 文章标题 POJ 2411 : Mondriaan's Dream (状态压缩DP)

Mondriaan’s Dream转自 http://www.cnblogs.com/scau20110726/archive/2013/03/14/2960448.html#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#includ

2017-08-03 08:25:15 337

原创 文章标题 FWT (快速沃尔什变换) 模板

void FWT(int a[],int n){ for(int d=1;d<n;d<<=1) for(int m=d<<1,i=0;i<n;i+=m) for(int j=0;j<d;j++) { int x=a[i+j],y=a[i+j+d]; a[i+j]=

2017-08-02 15:24:16 345

空空如也

空空如也

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

TA关注的人

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