自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Necklace 二分图加上排列组合(求下一个排列组合序列)

题目链接题意:有2*n个宝石,一半为阴、一半为阳的串在一起,阴阳宝石交错摆放,但是有一些阴宝石和阳宝石摆在一起会使阳宝石变得黯淡。阴阳宝石的编号都是从1~n。最后求阴阳宝石串在一起,阳宝石最少的黯淡数。其实就是一个阴阳宝石怎么交错摆放的问题,很容易想到通过DFS去搜索枚举,但是直接阴 阳交错搜索的话,时间复杂度太高,并且不容易通过估算估计代价去剪枝。 因此我们首先选取一种宝石(假设为阴),

2016-07-27 15:08:33 432

原创 SG函数 多校Chess

题目来源题意为:N*20的棋盘,刚开始有一些棋子在上面,棋子只能向前移动,不能向下或向上移动。如果该棋子前面有棋子,则可以跳过前面的棋子移动到下一个空位,但是并不能跳过空位,来移动到下一个空位。最后,谁不能移动棋子谁就输。sg函数介绍Nim游戏#include #include #include #include #include #define MAXN 200

2016-07-27 13:04:25 358

原创 多校 GCD

Give you a sequence of N(N≤100,000) integers : a1,...,an(0ai≤1000,000,000). There are Q(Q≤100,000) queries. For each query l,r you have to calculate gcd(al,,al+1,...,ar) and count the number

2016-07-27 11:54:12 455

原创 树状数组 改段求点

【1】修改操作:将A[l..r]之间的全部元素值加上c;【2】求和操作:求此时A[x]的值。操作【1】:updata(l-1, -c); updata(r, c);操作【2】:query(x)。#include #include#include#include #include #include #include #include #include

2016-07-25 08:34:49 388

原创 树状数组 改点求段

【1】修改操作:将A[x]的值加上val;【2】求和操作:求此时A[l..r]的和。#include #include#include#include #include #include #include #include #include #define LL long long#define MAXN 100000using namespace std;int su

2016-07-25 08:16:43 396

原创 二叉堆排序

#include #include #include #include #include #include #define MAXN 100010#define inf 0x3f3f3f3fusing namespace std;int a[MAXN];//大顶锥void HeapAdjust(int index,int n){ int l = index<<1;

2016-07-23 10:38:30 519

原创 并查集

#include #include #include #include #include #include #define MAXN 100010#define inf 0x3f3f3f3fusing namespace std;int uset[MAXN];int deep[MAXN];//深度void init(){ for(int i = 0; i < MAX

2016-07-23 09:59:00 321

原创 线段树 区间更新 区间求和以及最值

#include #include #include #include #include #include #define MAXN 100010#define inf 0x3f3f3f3fusing namespace std;struct node{ int l,r;//区间[l,r] int add;//区间的延时标记 int sum;//区间和

2016-07-23 09:36:55 3733

原创 线段树单点更新 区间求和,求最值

#include #include #include #include #include #include #define MAXN 100010#define inf 0x3f3f3f3fusing namespace std;struct node{ int l,r;//区间[l,r] int sum;//区间和 int mx; //区间最大值

2016-07-23 09:00:32 653

原创 POJ 2886 Who Gets the Most Candies?

题意:有N个人围成一圈,编号从1到N,每个人都有一个卡片,卡片上写了一个数字。若该数字小于0,则从他的从左边开始一直查到该数字的位置(不包括他自己),否则,从右边开始;然后他跳出该循环圈,下一个人是查到的那个人。某人是第m个跳出会得到F(m)个糖果,F(m)为么得因子个数。最后输出谁得到最多糖果的人的姓名和糖果数量。求F(m)用反素数求。对于任何正整数x,其约数的个数记做g(x).例如g(

2016-07-22 11:52:17 267

原创 POJ 2777 Count Color

题意:L的长度,从1~L,在区间上添加颜色(1~T),颜色初始全为1。输入P A B :查询A~B区间不同颜色的数目;输入C A B C:更新A~B区间的颜色为C;运用线段树的延时标记。#include #include #include #include #include #define MAXN 100010using namespace std;struct node

2016-07-20 19:34:59 275

原创 POJ 2828 Buy Tickets

Sample Input40 771 511 332 6940 205231 192431 38900 31492Sample Output77 33 69 5131492 20523 3890 19243HintThe figure below shows how the Little Cat found out the f

2016-07-18 22:02:48 280

原创 POJ 2528 Mayor's posters

大概意思:在一个墙上贴海报,每一个海报在墙上占据x~y的位置,按照输入顺序贴海报,问最后墙上能看见几张海报。Sample Input151 42 68 103 47 10Sample Output4#include #include #include #include #include #define MAXN 10000010using namesp

2016-07-18 13:48:41 334

空空如也

空空如也

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

TA关注的人

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