自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 hdu5400

大水题,但wa了几次。。。思路:用一个数组保存相邻两数的差,然后过一遍数组,连续的b2可以,连续的b1之后再连续的b2也可以.。这题的个数用longlong,这个注意到了,我用len表示来连续的个数,sum+=(len+1)*len/2;我len用int保存,这里int会爆掉。。。逗比错误啊#include #include#includeusing namespace std;con

2015-08-19 12:55:50 274

原创 hdu5372(树状数组)

开始看这题时以为是线段树区间更新,误以为和poj2528差不多,然后上手打了。。。到末尾时发现有个点不一样,那就是删除,还要恢复到之前的状态,这个不会了。又从树状数组入手,发现用树状数组很简单。这题的主要思想,求得左端点大于等于左端点的线段的个数,然后再求得右端点大于该线段右端点的个数,然后两数相减得出答案,用两个树状数组维护即得到答案#include #include#include#in

2015-08-17 23:15:01 454

原创 poj2528(线段树区间更新)

这题是典型的线段树区间更新,不过有一个点需要注意,在建树之间需要把数据离散化,因为数据范围过大,直接建树会超内存,不信可以试试这里首先讲下如何把数据进行离散化。

2015-08-17 23:09:52 257

原创 ac自动机模板(hdu2222)

#include #include#include#includeusing namespace std;const int MAX=1e6+20;char str[MAX];struct node{ int count; struct node *next[26]; struct node *fail; void init() {

2015-08-16 10:19:34 300

原创 字典树模板(hdu1251)

真是不爽。。特么水的不能再水的题,g++#include #include#includeusing namespace std;char str[11];struct Trie{ Trie *child[26]; int num; Trie() { num=0; memset(child,NULL,sizeof(chil

2015-08-16 10:16:52 350

原创 hdu3374

这题有两个要求,一是求最大最小的位置,二是求最大最小出现的次数,次数是比较简单的。次数需要判断这个字符串本身是否是由重复字符串组成。这个比较好求,用kmp算法。求助next【】数组。用字符串长度了len减去next【】数组最后一个元素的长度即为组成字符串的子字符串的长度,极为cr,再判断这个长度为cr的字符串是否能构成原字符串。之后的就是求出最小#include #include#incl

2015-08-12 22:21:42 374

原创 kmp模板

/*pku3461(Oulipo), hdu1711(Number Sequence)这个模板 字符串是从0开始的Next数组是从1开始的*/#include #include using namespace std;const int N = 1000002;int next[N];char S[N], T[N];int slen, tlen;void getNe

2015-08-10 19:31:02 365

原创 poj1201(贪心+树状数组)

网上的题解都用啥差分约束系统。。。太高端,不会玩,额。。这题把数据按b的大小进行从小到大排序。然后每次取最右边的数据,用树状数组维护,真的是很方便#include #include#include#include#define mem(a) memset(a,0,sizeof(a))using namespace std;const int MAX=5*1e4+20;typedef

2015-08-09 19:51:29 609

原创 poj3268(线段树)

此题需要求某一区间内的出现最多次数的数的出现次数,此题有个好处就是它是非递减序列。题目的输入输出就让人想起了线段树。。。。每个节点需要保存三个值,一个是区间左边相同数的次数,一个数是区间右边相同数的次数,一个是最多出现次数的个数#include #include#include#include#define mem(a) memset(a,0,sizeof(a))using na

2015-08-09 19:45:45 343

原创 poj2886

此题需要了解反素数的知识,之前不了解反素数还想把1e5以内的数的因子个数全部打表。。。。此题还有一点,就是线段树的更新操作,删除某节点,这可能是大家之前没有接触到得#include #include#include#includeusing namespace std;const int MAX=5*1e5+20;typedef struct{ char name[1

2015-08-09 19:42:35 368

原创 hdu3015

此题和poj1990一样的思路,排序三次,之后的套上就行,一开始没用long long 导致wa了7 8次不开心#include #include#include#include#include#define mem(a) memset(a,0,sizeof(a))using namespace std;const int MAX=1e5+20;typedef struct{

2015-08-08 10:38:08 411

原创 hdu5358(尺取法)

这题若是按常规的思路肯定会超时,我们需要注意题目中给出的每一个条件,注意有log2这个条件,s(i,j)在[2^(k-1),2^k)之间时 log2(s(i,j))下取整+1的值是k,枚举k从1到34 ,求出对应的s(i,j)在[2^(k-1),2^k)之间时i+j的和,求这个的话,可以枚举起始点从1到n,用两个指针不断后移就行#include #include#include#includ

2015-08-08 10:37:14 789

原创 poj3321

刚见到此题时,我认为此题和poj2352star可以用类似的模型,然后写了一个程序,结果wa了,后来又仔细读了遍题目,发现之前题目理解错误。这题难点在于把树映射到数组中,然而树节点的序号并不能达到要求,我们可以求出每个节点管理的左值和右值,这里可以用dfs实现。知道左值与右值,就可以很快得出这点所管理的苹果的个数sum(right)-sum(left-1)。有个难点在于如何dfs,因为一个根节

2015-08-06 10:48:08 601 1

原创 hdu5328(不用dp)

这题咋一看会想到dp,但可以不用,可以开辟两个数组,一个数组表示给出的数组里面,相邻两数的差,另一个数组表示相邻两数的比值。然后只需要遍历这两个数组,找出连续相等的最大长度就行,这里还需要特殊考虑n为1的情况#include #include#include#includeusing namespace std;const int MAX=1e6+10;int T,n,a[MAX],b

2015-08-03 13:05:45 353 2

原创 hdu4417(单纯裸划分树)

来源:http://acm.hdu.edu.cn/showproblem.php?pid=4417题意:给一些数,数中有重复的。还有一些询问,问的是[L,R] 区间内有多少个数小于h,有多次询问。一般的方法肯定很容易超时,那这题就想到了划分树,接触过划分树的同学可能都知道用划分树查询区间内排列第k的数,这里只需把查询换为数值为k。用一个num表示小于等于k的数的个数,当k大

2015-08-03 12:54:35 411 2

原创 hdu5334

比赛时想了3小时,到4点有了思路,结果当时体力不够,思维不够严谨,一直wa。网上看大神题解后,发现大神的思维不是我等渣渣能想出来的,故此又重新拾起自己的思维,ac。遇到这种题目,大家一定要想,这种题目一定是有规律的,大家要善于发现规律。对此题,我一开始是枚举前10几个数,结果到第4的时候发现,4只能由1111这种四个一样数才能得出,故此思考数列中有相同的数会使子串个数减少某些固定的数。后来发现

2015-08-01 15:30:04 528 4

spark下EM算法(1.0版本)

spark下EM算法(1.0版本)

2017-01-03

人脸识别技术代码

人脸识别技术,用matlab实现,图像处理入门

2015-05-21

空空如也

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

TA关注的人

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