自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Longest k-Good Segment

The array a with n integers is given. Let's call the sequence of one or more consecutive elements in a segment. Also let's call the segment k-good if it contains no more than k different values.Find a

2016-01-27 00:59:19 375

原创 UVA 11488 Hyper Prefix Sets

就是求前缀长度*有当前长度前缀的串的数量 的最大值 #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; #define N 25 #define inf 1999999999 struct node { int

2015-12-15 17:16:57 344

原创 hihocoder #1141 : 二分·归并排序之逆序对

#include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; #define N 100005 #define inf 1999999999 #define mod 1000000007 int a[N],b[N]

2015-12-14 17:04:01 355

原创 UVA 11235 Frequent values

求区间最多相同数的数量是多少,因为数列是排序好的,所以直接离散了用线段树求比如样例 -1 -1 1 1 1 1 3 10 10 10 离散后就是(1,2)(2,4)(3,1)(4,3)标号为1的数有2个,标号为2的数有4个.....再用Left[i]Right[i]数组记录标号为i的左边界和右边界,方便查询。 查询时就是线段树求最大值了 #include #include #include

2015-12-13 17:15:28 287

原创 hdu 5529 ZYB's Premutation

当时想到是nlog(n)的方法,也想到用线段树,可是就是写不出来,只知道a[i]-=a[i-1]就是前面有多少个数比当前这个数大,却没想到如果这时a[i]+1就是当前数组中第几大的数了,当然要倒着求,然后就是用线段树维护一个数组了。没想到写出来这么简单。 #include #include #include #include #include #include #include using na

2015-12-06 17:11:51 675

原创 LightOJ 1140 How Many Zeroes?

题意就是问从n到m之间有多少个0。数位dp枚举每一位dp[i][j]表示到i为有j个0的有多少 #include #include #include #include #include #include #include using namespace std; typedef long long LL; LL dp[22][22]; int dig[20]; LL F(int pos,int

2015-12-04 21:12:16 267

原创 poj 1679 The Unique MST

判断最小生成树是否唯一,只需要判断是否存在至少有两条到达某个点相同权值的路径 #include #include #include #include #include #include using namespace std; #define N 110 #define LL __int64 #define inf 1999999999 int dis[N],Map[N][N]; bool vi

2015-12-04 14:31:12 230

原创 hdu 3018 Ant Trip

问至少从几个点出发可以遍历所有的边且每条边仅访问一次。 先看看给定的图是几个联通块组成的,遍历的起点和终点肯定是度为奇数的点(除非这联通块是环)也就是遍历只能是u->v1->v2->v3->。。。。->vn(或者u->v1->v2->v3->。。。。->u),所以要统计每个联通块的度为奇数 的点的个数和度为偶数的点的个数,则ans=奇数 的点的个数/2+都是偶数的联通块的个数。 #includ

2015-11-24 18:04:30 278

原创 POJ 2392 Space Elevator

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 1<<31 #define mod 1000000007 #define N 40100 in

2015-11-20 15:39:40 252

原创 HDU 4771 Stealing Harry Potter's Precious

A 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 0x3f3f3f3f #define N 110 struct node

2015-10-13 18:09:53 300

原创 POJ 2836 Rectangular Covering

B 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define inf 1999999999 #define N 1010 #define mod 1

2015-10-08 13:14:26 219

原创 POJ 2436

A 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define inf 1999999999 #define N 1010 #define mod 1

2015-10-08 10:31:53 362

原创 FZU 1719

U 点击打开链接  连通图缩点 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 3010 int l

2015-10-07 21:24:39 280

原创 HDU 2874

P 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define inf 1999999999 #define N 10010 int p[N],ehe

2015-10-07 21:18:55 324

原创 HDU 2586

O 点击打开链接 离线做法,倍增法还不会 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 40010

2015-10-07 21:17:35 256

原创 HDU 3394

N 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 10005 int low[N],

2015-10-07 19:56:21 353

原创 HDU 2460

J 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 200005 int low[N]

2015-10-07 19:53:27 337

原创 HDU 3594

H 点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 20010 int low[N],

2015-10-07 16:58:45 344

原创 HDU 2242

I  点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define inf 1999999999 #define N 10010 #define mod

2015-10-07 16:49:37 290

原创 HDU 3639

点击打开链接 G #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 5010 int low[N],d

2015-10-07 16:46:57 310 1

原创 HDU 3078

就是求最近公共祖先#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 80010 int ans[N],d

2015-10-07 16:37:52 299

原创 HDU 3072

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 50010 struct node { int

2015-10-07 15:55:29 267

原创 HDU 1827

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 1999999999 #define N 1005 #define max(a,b)(a>b?

2015-10-07 15:26:29 314

原创 HDU 3836

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 1<<30 #define N 20010 vectoredge[N]; int low[N]

2015-10-07 15:21:42 272

原创 HDU 2767

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 1<<30 #define N 20010 vectoredge[N]; int low[N]

2015-10-07 15:20:44 287

原创 HDU 1269

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 1<<30 #define N 10010 vectoredge[N]; int low[N]

2015-10-07 15:19:15 271

原创 hdu 5495 LCS

#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 100010 int a[N],b[N],c[N];

2015-10-04 16:33:29 281

原创 hdu 5496 Beauty of Sequence

点击打开链接 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf 199999999 #define N 100010 #define mod

2015-10-04 16:27:01 456

原创 [kuangbin带你飞]专题七 线段树

点击打开链接 A(hdu 1166 敌兵布阵 )中文体面,线段树单点更新,求一段区间和 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define inf

2015-10-01 15:05:56 874

原创 Codeforces Round #298 (Div. 2) D. Handshakes 二分

D. Handshakes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output On February, 30th n students came in the Cente

2015-07-27 17:06:48 304

原创 字符消除

时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的: 1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如"ABCCBCCCAA"中"CC","CCC"和"AA"会被同时消除,余下"A

2015-05-28 16:25:33 840 1

原创 hdu 1002

#include #include char s1[1010],s2[1010]; int main() { int i,j,m,n,t,ca=1; int f1[1010],f2[1010],ans[1010]; scanf("%d",&t); while(t--) { scanf("%s%s",s1,s2); n=strl

2014-10-08 19:02:00 390

原创 poj 1598 Excuses, Excuses!

#include #include char str1[25][100],str2[25][100],ch[100],str3[25][100]; int m,n,ans[25]; int judge(char c) { if(c>='a'&&c<='z') return 1; return 0; } void init() { int i,j; for(i=0;i<n;i++) sc

2014-08-10 17:44:46 352

原创 hdu 1533 Going Home(KM)

#include #include #include #define max(a,b)(a>b?a:b) #define min(a,b)(a<b?a:b) #define inf 999999999 #define size 110 int n,m,map[size][size],lx[size],ly[size],match[size]; int visitx[size],visity[siz

2014-08-01 15:23:24 397

原创 hdu 3605 Escape(多重匹配)

#include #include #define N 100005 #define M 13 bool map[N][M],vis[M]; int m,n,match[M][N],lim[M],num[M]; int find(int u) { for(int i=0;i<m;i++) { if(!vis[i]&&map[u][i]) { vis[i]=1; if(num

2014-07-30 22:39:42 410

原创 HDU 1498 50 years, 50 colors

#include #include #include using namespace std; #define size 110 int map[size][size],use[size],vis[size],ans[size],k,n,match[size]; int find(int u,int color) { int i,j; for(i=1;i<=n;i++) { if(!vi

2014-07-29 22:09:55 444

原创 HDU 1150 Machine Schedule(最小点覆盖)

最小点覆盖 = 最大匹配数

2014-07-29 14:34:26 384

原创 HDU 1151 Air Raid(最小路径覆盖)

#include #include #define N 1050 int map[N][N],vis[N],match[N],m,n,k; int find(int u) { int i,j; for(i=1;i<=n;i++) { if(map[u][i]&&!vis[i]) { vis[i]=1; if(match[i]==-1||find(match[i]))

2014-07-29 14:31:41 474

原创 HDU 1068 Girls and Boys (二分图 最大独立子集)

#include #include #define M 510 #define N 250010 int head[M],next[N],key[N],match[M]; int use[M],num,n; void add(int u,int v) { key[num]=v; next[num]=head[u]; head[u]=num++; } int find(int

2014-07-29 11:03:03 416

原创 HDU 1698 Just a Hook

#include #include #define size 100010 struct node { int l,r,sum,add; }tree[size<<2]; void pushup(int n) { tree[n].sum=tree[n<<1].sum+tree[n<<1|1].sum; } void build(int l,int r,int root) { tree[root

2014-07-25 10:50:50 428

空空如也

空空如也

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

TA关注的人

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