自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

new Blog("gzh")

非淡泊无以明志,非宁静无以致远

  • 博客(65)
  • 收藏
  • 关注

原创 【HBase从入门到精通系列】如何避免HBase写入过快引起的各种问题

首先我们简单回顾下整个写入流程client api ==> RPC ==> server IPC ==> RPC queue ==> RPC handler ==> write WAL ==> write memstore ==> flush to filesystem整个写入流程从客户端调用API开始,数据会通过protobuf编码成一个请...

2018-04-02 13:42:27 279

原创 kerberos下HBase访问Zookeeper的ACL问题

最近公司HBase(CDH-4.6.0)遇到了一个麻烦问题,觉得有必要记录下整个解决的过程。问题起因用户在跑mapreduce任务,从hdfs读取文件想写入到hbase table的时候失败了(这是hbase提供的一种mapred能力)。这个问题发现在A环境(一个测试环境),自从启用了kerberos之后。运行了用户给的程序和自己写的sample之后,发现程序最后挂在NullPointerExcep

2015-08-27 14:09:56 7354

原创 HBase Master 解析

HBase的master server具体实现是HMaster。它提供了面向Client的HMasterInterface和面向region server的HMasterRegionInterface的实现。 下面是它的组件介绍:InfoServer 展示信息的组件。这是一个web server,响应你访问http://MasterHost:60010的http请求,它本质是一个Jetty

2015-07-31 18:17:10 4510

原创 HBase源码学习 客户端scan过程

申明:以下代码均来自HBase-1.0.1.1HTable tb = new HTable(conf,"test");Scan scan = new Scan();scan.addColumn(("colfam").getBytes(),("col").getBytes());ResultScanner rs = tb.getScanner(scan);Result r = null;whil

2015-07-03 19:01:04 2240

原创 2014 第十一届浙江省程序设计竞赛

这应该是我退役前倒数几场的比赛了吧。

2014-04-14 17:05:01 1716 6

原创 ZOJ 3769 Diablo III

题意:  13jian

2014-04-09 20:28:24 1080 1

原创 Codeforces Round #238 (Div. 1)

D:建树,然后倍增法求最近公共祖先。建树的方法:考虑当前这座山i能飞到最右边是哪座?一定是与这座山斜率最大的,那么父节点就是它了。fa[]表示父节点,先比较i+1与fa[i+1]关于i的斜率,如果前者小于后者。那么就要去比较fa[i+1],fa[fa[i+1]]。直到前者大于等于后者。这里的复杂度是O(n)。因为如果i+1的斜率是小于fa[i+1]的,那么i的父节点必然

2014-03-24 21:27:09 799

原创 Codeforces Round #235 (Div. 2)

C、DC:范围在[n-1,(n+1)*2]之间是可以构造出来的,0必须用至少1个1隔开。code:#include #include #include #include #include #include #include #include #include #include #include #include #include #incl

2014-03-11 02:03:44 779

原创 Codeforces Round #234 (Div. 2)

C、DC:把所有0的边所连的两个点加入同一个集合,如果对于某类型所有点都在同一个集合就是correct。然后就是500^3的floydcode:#include #include #include #include #include #include #include #include #include #include #inclu

2014-03-07 22:54:48 836

原创 ZOJ 2864 Catch the thief

本来不想写题解的,不过意外发现这题居然是#1。。。留念下,写个题解题意:一个小偷从S到T,只走最短路。给出一个时间,问此时小偷可能的位置有多少个?有可能在顶点上也可能在边上。思路:求两次最短路,源分别是从T出发(记为dis[])和S(记为_dis[])。点和边分开考虑:1.对于边(u,v) 如果dis[u]+e(u,v)+_dis[v]==d

2014-02-28 22:58:19 945

原创 Codeforces Round #227 (Div. 2)

C、D、EC:每段类似X00000000...的数(X表示非零数字)如果X左边整段数字连起来都没有这段数字大的话,那么左边整段+当前这段就必须作为一个数字,要不然左边整段不可能在当前这段前面,程序到这里就可以结束了。否则,左边整段可以继续分解。对于非零的一整段,可以第一个数连第二个数字一直连起来,答案是这段的长度。除非这段在最开头,切第一个数字小于第二个数字,那么前两个数字

2014-01-31 21:28:17 718

原创 Codeforces Round #226 (Div. 2)

C:显然先分解质因数,如果某个数有质因数p,那么cnt[p]++。全部分解好后,其实cnt[p]就是题目的f(p)了。然后再搞成前缀和O(1)回答询问。当然这题不能直接用O(Nsqrt(N))的方法分解有可能TLE,可以在筛素数的时候处理出cnt[p],复杂度O(Nsqrt(N)),具体方法见代码。code:#include #include #incl

2014-01-25 13:32:36 896 2

原创 ZOJ Monthly, December 2013

部分题解(3738,3740,3741,3742,3745),其他题目以后会做了再更新吧。。。ZOJ 3738 Buy the Pets状压dp,如果压20位(10位猫,10位狗),显然复杂度不够。观察一下发现人和猫有冲突,狗和猫有冲突,人和狗无冲突。那么可以压10位,人选猫,狗选猫,再乘起来就是答案。复杂度O(10*10*2^10)。转移:dp

2014-01-24 19:49:56 1016 1

原创 ZOJ 3728 Collision

2013长沙区域赛的题目题意:一个硬币,半径为r,从(x,y)出发,速度(vx,vy)。 在(0,0)位置处有一个固定的,半径为Rm的实心圆。硬币碰到它后会无能量损耗反射。还有一个半径为R的范围,圆心也在(0,0)。硬币开始运动,求硬币有多少时间会呆在范围R内(硬币任何一部分在内都算)。思路:我们观察一下硬币与实心圆的圆心距随时间的变化,肯定是从大到小再变大。当然也

2014-01-22 17:27:13 798

原创 Codeforces Round #225 (Div. 1)

A:从最左边向右的牛,和最右边向左的牛中取影响最小的先挤奶。一直比下去。code:#include #include #include #include #include #include #include #include #include #include #include #include #include #include using nam

2014-01-21 21:31:54 829

原创 HDU 4781 Assignment For Princess

成都区域赛题目。题意:给你n个点,m条边,边权分别是1,2,3...m构造一张有向图,条件是:1.强连通2.两点之间只能有一条有向边2.任意一个环的权值和必须能被3整除。思路:把边权先mod 3,这样就转换成0,1,2三种边。然后我们的过程是这样:1.先把n个点串起来,连一个大环。用1,2的边(成对使用)(1+2%3==0),如果不够

2014-01-21 12:17:24 891

原创 浅谈欧拉图、半欧拉图(Eulerian graph、semi-Eulerian graph)

做了这么多题目,遇到要用欧拉图性质的不算多。但觉得还是有点用,有必要做点笔记。先看看欧拉图和半欧拉图的定义:欧拉回路:图G中经过每条边一次并且仅一次的回路称作欧拉回路欧拉通路:图G中经过每条边一次并且仅一次的路径称作欧拉通路。那么欧拉图(Eulerian graph)指的就是存在欧拉回路的图。半欧拉图(semi-Eulerian graph)指的是存在欧拉通

2014-01-21 01:58:57 5823 1

原创 HDU 4770 Lights Against Dudely

2013杭州区域赛的题目题意:给你一张图,所以空的地方必须点亮,非空的地方不能点亮。灯能放在空的地方,固定会照耀(x,y) (x-1,y) (x,y+1)三点。然后你还有一盏特殊的灯,能旋转。最多15个空位。求最少的灯覆盖所有的空位。思路:状态压缩,枚举灯在15个位置的放置情况,如果不合法再枚举旋转哪盏灯到哪个方向。可以记录点亮的次数A和点亮在空的地方的次数B。

2014-01-20 17:19:03 934

原创 HDU 4782 Beautiful Soup

2013成都区域赛题目题意:就是把HTML代码格式化。1.每段文本里的单词只能以空格分割,多余的换行符,空格,tab什么的都要去掉。2.标签不用管,原样输出。3.这题可能一行内输入多组""code:#include #include #include #include #include #include #include #include

2014-01-20 13:27:49 1022

原创 HDU 4784 Dinner Coming Soon

2013成都区域赛的题目题意:某人从1号房子走到n号房子去拜访朋友,他经过其他房子的时候可以买卖盐。求最后在时间T内到朋友家最多能赚多少钱。还有一些规则:1.1号房和n号房不能买卖盐,一开始有R元,最多能携带B袋盐。2.经过每条路需要花费时间和金钱,每个房子只能买卖一袋盐,交易不需要时间。3.不同房子盐的价格不一样,而且还存在K个平行宇宙,每个平行宇宙盐的价

2014-01-20 13:20:52 815

原创 HDU 4790 Just Random

2013成都区域赛的题目题意: 区间[a,b] [c,d]里各选一个数,加起来mod p=m思路:观察一下构成某个数x的情况:x 0..3 x-32 x-21 x-10 x左边的数从0到x,右边的x到0。它们的范围都是[0,x]我们假定左边的数从区间[a,b]里选出来,右边的从[c,d]。其实我们只要求一下三个区间的交集就

2014-01-20 13:02:17 773

原创 HDU 4777 Rabbit Kingdom

杭州区域赛的题目题意:给定区间[l,r] ,求[l,r]内有多少个数满足与区间内其他数都互质。思路:处理出每个数,最左边能互质到的位置L[i],以及右边R[i]。(具体方法看代码)然后用树状数组维护区间的覆盖,按l离线查询。然后从左往右扫。对于当前位置p,找出所有L[i]==p的数。然后i位置+1,R[i]+1的位置-1。因为p以及p以后的位置,这个L[i]

2014-01-20 00:18:32 718

原创 HDU 4778 Gems Fight!

杭州区域赛的题目题意:B个包,里面有不同数量和颜色的宝石。每轮,Alice或Bob选一个未选过的包,把包里的宝石倒入熔炉中。如果熔炉中同种颜色的>=S个,那么每S个会合成一个魔法石。魔法石给当前操作的人,同时此人可以继续操作一轮。他们都需要获得尽可能多的魔法石,两人操作都最佳,求A-B。思路:dp[state] 表示当前操作的人-后手的最大差值 ,state表示选包

2014-01-19 23:36:38 702

原创 HDU 4775 Infinite Go

2013杭州区域赛的题目题意:模拟围棋,看最后黑白棋子各剩多少。需要注意的是,这题能下一个棋子把自己的棋子都堵死,然后消掉(现实中没人会这么小吧。。。)。思路:1.用map,int>  模拟二维数组。2.用并查集维护连通块。3.对每个连通块再维护一个set,保存连通块的气(一个棋子在棋盘上,与它直线紧邻的空点是这个棋子的“气”)然后,并查集合并的

2014-01-19 23:23:18 1200

原创 HDU 4803 Poor Warehouse Keeper

题意:可以给number++,也可以给total prices++。如果给number++,那么total prices+=total prices/number(这里的number是增长之前的)。求最少多少步,使得number=x,total prices=y,total prices只取整数部分。思路:知道x的话,就是知道了number会增加几次,每次增加p

2014-01-18 12:17:48 1060

原创 Codeforces Round #224 (Div. 2)

B:if(b>=x) b=b-xif(bb=b-x+w其实就是b一直减x,如果小于0了,就加1次w。而且每加一次w必然使b-x+w大于0。那么就二分过了多少时间t,根据不等式 b-t*x+k*w>0 求出 k。所以a--了k次,也就是c++了k次。判一下c-t+kcode:#include #include #include #includ

2014-01-18 11:07:05 703

原创 Codeforces Round #222 (Div. 1)

A:从一个空点开始搜,建立搜索树。然后从深度最深的节点开始删除,这样就能保证深度低的节点依然连通。code:#include #include #include #include #include #include #include #include #include #include #include #include #include #inclu

2014-01-01 17:01:25 1145

原创 Codeforces Round #221 (Div. 1)

A:1689能组成0-6任何余数,然后可以随意构造xxxxx0000+1689的某种排列,使得余数为0,末尾在补零。code:#include #include #include #include #include #include #include #include #include #include #include #include #includ

2013-12-25 01:29:32 841 1

原创 ZOJ 3736 Pocket Cube

这是长沙区域赛的一道铜牌题。今天想起来才把它A了。不得不说当时长沙比赛的时候我负责写这题,然后TLE了。。。因为当时搜的是6面,而且杰恩一开始也和我说搜索6面,12^7感觉可以过的样子。然后整场比赛我就在剪枝,剪枝,剪枝。。。。事实上,对称性搜3面就好了。最后虽然我们过了银牌题,但因为这道铜牌题没能拿到银牌,毁了杰恩最后一场区域赛。。。这题不难,只要打好表,记录3个面周围8个点是谁,转

2013-12-22 15:09:05 845

原创 Codeforces Round #220 (Div. 2)

这场单独的div2真的好难,trick太多。A题几乎写了的人都是错的,各种hack。。。B题出题人想错了,最后unrated了 。我B题错的和出题人一样。。。最后只过了C。。。A:把4个位移式子相互叠加一下可以推出类似(x,y-2b)的式子。(x - a, y - b)(x + a, y - b)就是一个坐标可以不变,另一个坐标偏移2次。前提是x要有

2013-12-19 14:18:45 941 4

原创 Codeforces Round #219 (Div. 1)

这场一开始A题用set乱贪一发就交了,然后WA第六组。。。。然后二分乱搞过的。B题真的是想晕了,4秒的时限就是骗人的嘛。。。最后用1600*1600复杂度过的。。。思维不行,还需要好好练习。。。A:题意:      把一个袋鼠装进另一个袋鼠。每个袋鼠只能装一个袋鼠且必须体积小于等于自己的一半。不能装 装了袋鼠的袋鼠。求最少剩       多少只袋鼠。思路:二分有多少

2013-12-14 01:16:27 896

原创 Codeforces Round #218 (Div. 2)

这场开局不顺。。A题都不会做。。。B题一直不知道他只能用2,3,5。。。然后就拙计。好在最后4题都是1A没有fst勉强前50。。E题最后十分钟写了乱交也没A,事实上有很多bug赛后才A的。C:题意:有三种材料做汉堡。他手头上已经有一些材料,同时他有一定的现金可以去买材料。求最多能做几个汉堡。思路:二分答案code:#include #include

2013-12-08 22:11:37 734

原创 Codeforces Round #217 (Div. 2)

这场拙计在A题上浪费了点时间,居然去写bfs。。。还好没有fst。。。这场D题写得太翔了,赛后150行才过。。。C: 题意:小朋友们每人都有一对颜色一样的手套,分左右手。现在他们要互换手套使得左右手颜色不一样。求最多能满足多少小朋友。思路:        没多想,直接暴力。。。统计每种颜色左右手有多少个。然后对于某种颜色的左(右)手,给它寻找一只不同颜色的右

2013-12-07 20:20:08 952 4

原创 Codeforces Round #215 (Div. 1)

这场CF打得蛋疼,更意外的是我发现天赋真的很重要。。。练了一年被一个半路来练,题量不足我十分之一的数学建模选手给虐了。。。虽然虐的不是题量,但是她rating比我高了。。。不多说了。。。继续练吧。。A:维护下x,y,z数量的前缀和,三者中最大数量-最小数量code:#include #include #include #include #in

2013-11-27 02:18:10 1046

原创 Codeforces Round #214 (Div. 2)

这场题意都好坑,尤其是A。C:题意:选若干水果,至少一个。使得sum{b[i]*k}-sum{a[i]}==0时,求最大的sum{a[i]}。思路:选某个水果对平衡的影响是:b[i]*k-a[i]。dp[balance]表示平衡为balance时,最大的sum{a[i]}。答案在dp[0],平衡有可能负数,整体坐标要右移。code:#include #

2013-11-26 22:25:12 645

原创 Codeforces Round #213 (Div. 1)

A:题意:问有多少个子矩阵的和等于a思路:观察一下,矩阵其实很特殊。可以提取出每行的系数。a1*(a1,a2,..,an)a2*(a1,a2,..,an).  ..an*(a1,a2,..,an)用sum[i]表示数列a的前i项和。那么任意一个子矩阵和可以表示为(sum[col1]-sum[col0])*(sum[row1]-sum[row0]) (

2013-11-20 21:21:10 958

原创 ZOJ 3528 Parterre

题意:       比较难懂。其实就是给你一个矩阵,矩阵是由一圈一圈花框组成,从外到里逐渐缩小,每一圈都是同种花。 求子矩阵中花的种类,最多的是哪种花,数量是多少。       类似这样的矩阵:       222       212       222       有两圈,外圈是2,里面的圈正好退化成点,是1。思路:       好像数据很水暴力都能过

2013-11-04 09:26:30 676

原创 2013 亚洲区域赛成都站

这次来成都,可以说是我负责吃喝玩乐,杰恩负责打比赛。。。   第一天我们去吃了火锅,不得不说成都火锅确实比杭州的好吃。。。。 然后第二天热身赛,我们一人一道题。于是我乱搞A,把Case # 打成了Case ,还在那里乱搞了半天。   第三天就是正式赛了。开场发现H被秒了,于是我就去看H,看懂后就开始写。但是怎么都没想到我会把读入写错,我写了大概这样一个东西“[%s]”来读入单位,然后就一直

2013-11-02 18:50:23 964 2

原创 Codeforces Round #207 (Div. 1)

A:我是用最拙计的方法套线段树过的。倒过来更新,每次用x覆盖掉区间[l,x-1] [x+1,r],初始全0。code:#include #include #include #include #include #include #include #include #include #include #include #include #include

2013-10-16 18:24:23 1188

原创 Codeforces Round #206 (Div. 1)

这场题目难度顺序估计出题人放错了,事实上我发的是A B C的解题报告。。。A:枚举最后拿走物品的位置。然后这个位置左边的只会是左手拿,右边的只会是右边拿。左右左右交替拿走即可,最后的物品可以左手拿也可以右手,取一下最小。再注意一下某一边没有物品之类的细节就可以写好代码了。code:#include #include #include #include #

2013-10-14 20:25:23 842

空空如也

空空如也

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

TA关注的人

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