自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

moon_NO2015的博客

Beyong the river!

  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 UVALive 7139 Rotation

这个题就是模拟题,但是性质很深. 观察可得到一个结论:对于一个方格中的人来说,如果要有一个完整的时针旋转,则必然是一边走下去,一边走上去,且”包含”所以不用考虑R,L. 若车在人的正左方下降了X次,上升了Y次,那么那个人的旋转圈数便是abs(X-Y)。 然后暴力模拟车的移动: 在车向下移动的时候,我们就要给车影响右方的一个矩阵加上1。 在车向上移动的时候,我们就要给车影

2015-08-27 11:22:58 1063

原创 UVALive 7061 Dire Wolf (dp)(The 2014 ACM-ICPC Asia Beijing Regional Contest D)

该题就是求最小花费,但不是网络流,是区间DP,算起来因该是区间DP中比较简单的那种了。我们用dp[i][j]表示在区间[i,j]的最小花费,则它的转移状态为:for(int k=i;k<=j;k++){ dp[i][j]=min(dp[i][j],dp[i][k-1]+dp[k+1][j]+a[k]+b[j+1]+b[i-1]);}转移方程就这一个,注意下边界条件,和初始化

2015-08-25 11:06:05 827

原创 UVALive 7066 Intersection 求圆环面积并

稍微分析一下就出来了!就是求两个圆环的面积并!当两个圆环的圆心的距离d>=2*R,  s=0;d>=2*r时,s=area(R,R)-area(R,r)*2;d#include #include#include#include#includeusing namespace std;double area(double x,double y,double r,double

2015-08-24 19:05:17 1008

原创 3196: Tyvj 1730 二逼平衡树

/************************************************************** Problem: 3196 User: moonbeam Language: C++ Result: Accepted Time:5236 ms Memory:27600 kb***********************

2015-08-22 21:01:55 476

原创 multi_treap

#include#include#includeusing namespace std;class multi_treap//multi_treap和treap类似,也是一种排序二叉树,但支持重复元素,其他功能上和treap一样{private: struct node//multi_treap的节点定义 { node* ch[2]; int v, r, s, num;

2015-08-21 20:32:35 375

原创 treap 排序二叉树的模板

Description有一个序列含有一定数量的元素,现在要求写一个程序,满足以下几个要求:【A】支持插入操作(这个序列不允许有重复元素,即是说,如果待插入的元素已经出现在这个序列中,那么请忽略此操作)【B】支持删除操作(如果此序列中不包含待删除的这个元素,则忽略此操作,否则删除这个元素)【C】查找元素x的前继元素(前继元素是指:小于x且与x最接近的元素,当然,如果x已经是序列

2015-08-21 20:19:09 445

原创 hdu 5396 Expression (dp+组合数学)

dp[i][j]表示[i,j]区间的和值。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn

2015-08-21 10:36:40 348

原创 质因子分解

今天没事做,我们来写个博客,混混等级!下面我们来解释质因子分解。我们以求数的质因子的个数为例来讲解。对于质因子分解最简单最纯粹的暴力我相信大家都会的。int getnum(int x){ int ans=0; for(int i=2;i*i<=x;i++) { while(x%i==0) { ans++;

2015-08-19 11:24:27 850

原创 hdu1255 覆盖的面积

典型的线段树+线扫描#include#include#include#include#includeusing namespace std;#define nn 1010struct node{ int l,r,c; double len1,len2;}tree[nn<<3];struct seg{ double l,r,h; int f;

2015-08-19 09:39:09 357

原创 hdu4419 Colourful Rectangle(离散,线段树,线扫描,状压)

由于状态有点多,我们用状压的思想来做这道题,用1,2,4分别来表示三原色,其他的就和线扫描一样了!这样是比较简单的做法了,当然也可以用最原始的做法!不过嘛就是有点麻烦了!#include#include#include#include#includeusing namespace std;#define nn 10005#define LL __int64#define roo

2015-08-19 09:28:44 402

原创 UVA 11019 Matrix Matcher

不会AC自动机,就来份邪教的矩阵hash;存个模板留作纪念!AC自动机的做法在大白书上有作为例题来讲的!#include#include#include#include#includeusing namespace std;#define ull unsigned long long#define ll long long#define seed1 131#define

2015-08-18 21:34:47 355

原创 HDU2795 Billboard 线段树

这是一道简单的线段树,只需要考虑好我们建树的方式即可!我们以高h来建树,点的权值为W,通过来维护区间的最大值,我们很快就能查找到编号最小的点切大于等于wi。。明白之后就是一道简单的线段树单点更新,维护区间最小值。#include#include#include#include#include#include#include#include#include#include

2015-08-18 21:29:08 708

原创 HDU4638 Group (线段树,莫队算法)

题意:给出一个数组,每次查询l,r,看区间内能分成几个连续的数列也即时求求一个区间中连续ID区间的个数。需要离线处理所有查询。我们从左往右扫描,依次考虑右端点为i的询问,设dp[l]为区间[l,i]的连续区间个数,po[i]为i出现的位置,若还未出现,则为0,设我们当前考虑的右端点为a[i],首先我们假设a[i]不能和区间[1,i-1]中的任何一个数分到一组,则我们要将dp[1]到d

2015-08-18 21:14:37 669

原创 POJ2528 Mayor's posters

线段树的区间更新,最简单的模型!建树的时候需要离散化!离散时注意要将段改成点的区间,不然离散会出错的!虽然POJ数据水不会WA ,但是还是最一下比较好!例如:131 101 3 7 10正确答案为3,离散错的话会得到答案2.#include#include#include#include#include#include#include#include

2015-08-18 21:12:36 321

原创 HDU5316 Magician (线段树区间合并)

一个漂亮的子序列指的是:一个子序列,它的每一对相邻元素在原数组中的下标的奇偶性不同。这个题就是求给定的LR区间内的若干个漂亮的子序列他们各自的和最大是多少。对于线段树每个节点,用四个值  奇始奇终、奇始偶终、偶始奇终、偶始偶终  去分别存四种不同情况的最大值。然后向上更新就好了!

2015-08-18 20:59:19 426

原创 HDU3308 LCIS 最长连续上升序列。

询问区间内最大的LCIS 我们需要记录包含最左点的LCIS ,包含最右点的LCIS,和这段的最长LCIS,然后向上更新就没了!#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker,

2015-08-18 20:51:40 313

原创 POJ1703 简单的种类并查集

#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn 100010#define LL long

2015-08-18 20:50:30 294

原创 UVA11235 Frequent values

求区间内出现次数最多的数出现的次数。一道比较经典的RMQ问题,在大白书的198页也最这题进行了详细的分析!#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:

2015-08-18 20:47:30 279

原创 HDU5386 Cover 果然还是暴力

这么简单纯洁的暴力居然比赛的时候没做出来!我也是醉了!我们只要每次找一行或一列颜色除了0都相同的,然后如果有对应的操作,就把这行这列都赋值成0即可#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comm

2015-08-18 20:17:19 389

原创 hdu 5382 GCD?LCM!

赶脚多校的题太丧心病狂了!还是写个博客留个纪念吧!#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#def

2015-08-18 19:51:05 492

原创 hdu 5384 Danganronpa AC自动机

求目标串中出现了几个模式。模板题#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn 1000

2015-08-18 16:13:54 362

原创 hdu 5387 Clock 简单数学

#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn 1000010#define LL lon

2015-08-18 16:09:53 365

原创 Codeforces Round #315 (Div. 2) D. Symmetric and Transitive

枚举能推出其的i个相等的元素(ic[i,j]是组合数,直接用组合数的关系c[i,j] = c[i-1,j-1] + c[i-1,j]求出。dp[i,j]是 斯特林数 也是贝尔数用公式也就是贝尔矩阵 dp[i][j] = (dp[i][j-1] + dp[i-1][j-1]);也可以求出。#include#include#include#include#i

2015-08-18 10:01:45 533

原创 hdu5371 Hotaru's problem 2015年多校第七场C题 最长回文串

题意很简单,就是分成连续三段,相邻的两段为回文,求这三段的最大长度。111 2 3 4 3 2 1 2 3 4 5在这组数据是,为0;131 2 3 4 4 3 2 1 1 2 3 4 6这组数据为12.如果会最长回文的话,这道题就简单了,不会的可以先看看http://acm.uestc.edu.cn/bbs/read.php?tid=3258 ,会manacher的话

2015-08-17 21:12:40 606

原创 HDU3068 最长回文 manacher

至于manacher算法的原理,大家可以去看大神的:http://acm.uestc.edu.cn/bbs/read.php?tid=3258   这里面写的很清楚。#include#include#include#include#include#include#include#include#include#includeusing namespace std;

2015-08-17 20:37:21 410

原创 That Nice Euler Circuit (好看的一笔画)

直接就是欧拉定理:设平面图的顶点数为,边数,和面数分别为V,E和F,则V+ F-E=2;所以就只需要算顶点数和边数就好了。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(l

2015-08-17 14:49:45 450

原创 Bahosain and Digits

#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn 260#define LL long lo

2015-08-17 10:10:56 441

原创 HDU1536 或者POJ2960 S-Nim 传说中的SG函数

#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn 10010#define LL l

2015-08-14 20:55:02 465

原创 POJ1222 EXTENDED LIGHTS OUT 高斯消元

就一道简单的告诉消元,列30个方程解了就好了。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn

2015-08-14 20:48:15 350

原创 POJ3270 Cow Sorting

解法:置换。题目链接:http://poj.org/problem?id=32701.找出初始状态和目标状态。明显,目标状态就是排序后的状态。 2.画出置换群,在里面找循环。例如,数字是8 4 5 3 2 7 明显,目标状态是2 3 4 5 7 8,能写为两个循环: (8 2 7)(4 3 5)。 3.观察其中一个循环,明显地,要使交换代价最小,应该用循环里面最小的数字2,去与另外的两

2015-08-12 11:20:29 464

原创 POJ2429 GCD & LCM Inverse

要点:大数质因子分解(Pollard_rho就可以解决)题目链接:http://poj.org/problem?id=2429代码好长呀!#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define nn 110#de

2015-08-11 21:29:15 593

2015-2016 ACM-ICPC Northeastern European Regional Contest 标程

2015-2016 ACM-ICPC Northeastern European Regional Contest 标程

2016-08-23

字符串最小表示法

字符串最小表示法PPT

2016-08-03

网络流与线性规划24题

这24题包含了常见的网络流的建图方式,值得初学者认真做做!但是很多OJ上都没有这些题了(不要问我为什么)!这里面包含了每道题的思路和代码,还有一部分的测试数据!做好了,自己也可以测一测,只是麻烦了点!

2015-08-14

空空如也

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

TA关注的人

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