自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

juruo? juruo!

青春从不辜负拼尽全力的你。

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

原创 zoj2112 Dynamic Rankings

题面在这里题目大意:给一个序列,要求维护一个数据结构支持单点修改,区间查询第k大。动态第k大,树状数组套主席树。第一次写树套树。#include#include#include#include#include#include#include#include#include#define rep(i, x, y) for (int i = (x);

2017-11-29 23:12:06 248

原创 【Notes】【主席树】hdu2665 Kth number

题面在这里题目大意:给一个长为n的序列,m次询问,每次询问[l, r]内第k小的数是几。 n <= 100000, m <= 5000emmmm这题其实和poj2104一模一样的。不过poj的那题我用的是划分树,这题用一下主席树。(划分树是不支持修改的)主席树又名函数式线段树balabalabala....(关于主席树的简介包括名字来...

2017-11-27 23:49:36 16536 21

原创 【Notes】【划分树】poj2104 K-th Number

题面在这里题目大意:给一个长为n的序列,m次询问,每次询问[l, r]内第k大的数是几。 n 用了划分树,简单介绍一下。划分树,顾名思义是将n个数的序列不断划分,根结点就是原序列,左孩子保存父结点所有元素排序后的一半,右孩子也存一半,也就是说排名1 -> mid的存在左边,排名(mid+1) -> r的存在右边,同一结点上每个元素保持原序列中相对的顺序。

2017-11-27 20:45:59 264

原创 bzoj1208: [HNOI2004]宠物收养所

题面在这里splay练习,按题意模拟着做,每次找前驱后继即可。代码比较丑= = 而且里面有一些不必要的东西比如sz[]这个数组是不需要的。ps. wzp是一超级无敌巨佬名字,大家可以尽情地%他..../************************************************************* Problem: bzoj 1208 [HNOI20

2017-11-24 20:28:41 244

原创 bzoj1588: [HNOI2002]营业额统计

题面在这里splay练习,查找前驱后继即可。/************************************************************* Problem: bzoj 1588 [HNOI2002]营业额统计 User: fengyuan Language: C++ Result: Accepted Time: 176 ms Memory:

2017-11-22 22:09:23 204

原创 bzoj1036: [ZJOI2008]树的统计Count

题面在这里树链裸题。。直接上代码qwq/************************************************************* Problem: bzoj 1036 [ZJOI2008]树的统计Count User: fengyuan Language: C++ Result: Accepted Time: 2388 ms Mem

2017-11-18 21:31:55 257

原创 Codeforces round #446 (div2)

比赛链接(恩。。。noip后第一场cf,被虐地好惨啊。主要是T2打错了一个字母找了1h...居然只降了1分我感到很欣慰。。)言归正传qwq.

2017-11-18 10:04:00 275

原创 codeforces790B - Bear and Tree Jumps

题面在这里题目大意:有一棵树,在树上每一步 可以跳k条边。设f(s, t)表示从s到t的最小步数。求所有点对的f值之和。先考虑k = 1的情况,那么就是求树上任意两点的距离之和,相当于求每一条边被经过的次数,答案应该就是任意一条边左右两边点数的乘积之和。然后如果k != 1,那么在一条路径长度不被k整除的时候就会出现问题,因为有一个余数,这个余数我们需要再走一步。处理这

2017-11-17 21:58:02 351

原创 codeforces790A - Bear and Different Names

题面在这里题目大意:就是说有一个长度为n的名字序列,然后告诉你每连续m个里有没有重复的,有重复的就是NO,没有重复就是YES。让你构造一个合法的名字序列。一个简单的贪心思想,前m-1个赋值为1~m-1,每次有重复的就让他等于这m个的第一个,这样就不会对后面有影响。如果没有重复的就再新建一个。/*************************************

2017-11-17 20:46:00 279

原创 bzoj1034: [ZJOI2008]泡泡堂BNB

题面在这里排序+贪心。贪心策略就是说,对于a[],b[]分别维护两个指针,然后最弱的能打过就打最弱的,打不过的话,最强的能打过就打最强的,还是打不过的话就拿a[]最弱的打b[]最强的。然后这个是最好成绩。最差成绩就是把a,b反一反然后做出b的最好成绩,那么2*n-ans就是a的最差成绩。/*******************************************

2017-11-16 22:30:42 240

原创 bzoj1029: [JSOI2007]建筑抢修

题面在这里贪心是显然的吧。一个想法就是考虑按结束时间排序,然后能修就修,不能修就不修。但是明显是错的qwq。。因为你可以舍弃一些之前的来完成更多的任务。所以我们应该是舍弃掉之前做过时间最长的,正确性显然。然后用堆维护一下即可。/************************************************************* Problem

2017-11-16 21:56:34 249

原创 bzoj1024: [SCOI2009]生日快乐

题面在这里大暴力。。。首先考虑一个问题:如果一个矩形只能向一个方向切n-1刀,让每个矩形的长宽之比最大值最小,应该怎么切?显然是平均切成n份。但是这里不要求只能一个方向,我们可以对于一个矩形枚举它切在哪里,递归地处理切成的两个矩形就好了。/************************************************************* Pro

2017-11-16 21:08:58 340

原创 bzoj1019: [SHOI2008]汉诺塔

题面在这里首先f[i][j]表示第i个柱子上j个盘,移到g[i][j]上需要的步数。g[i][j]保存上述状态下移到哪个柱子。假设现在的状态是第x个柱子i个盘,设y = g[x][i-1],k = 3-x-y(k是剩下一个盘)然后我们考虑操作:肯定是把x上的i-1个先移到y,剩下一个移到k,再移动y上的i-1个盘。至于y上i-1个盘怎么移,需要分类讨论:如果g[y][i

2017-11-16 20:08:40 237

原创 51nod1495 中国好区间

题面在这里这题标签叫做“尺取法”。。一开始感觉很高级。。后来发现就是维护两个指针QAQ首先将题意转化一下,要求一个区间内的第k大的数>=T,相当于是这个区间内有>=k个数>=T,就是说我们把每个数如果>=T就打标记1,否则是0,然后满足条件的区间即需要区间内1的个数>=k。那么我们用一下前缀和s[i]表示前i个数内1的个数,然后如果一个区间[x, y]满足要求即需要s[y] - s[x

2017-11-15 22:48:43 278

原创 51nod1437 迈克步

题面在这里很裸的单调栈。。计算出每个数作为最小值的区间最大长度len,然后更新ans[len],最后倒着更新一遍ans[]就好了。很坑地要加读优输优。/************************************************************* Problem: 51nod 1437 迈克步 User: bestFy Language:

2017-11-15 19:44:50 281

原创 51nod1423 最大二“货”

题面在这里我们维护一个单调递减的栈,然后发现每次一个数进栈的时候,那些弹出栈的数都对应某一个区间的次大值(最大值就是要进栈的数),所以我们每次弹栈的时候更新一下答案就好了。然后这个只是次大值在最大值之前的情况,之后的情况再把a数组反过来操作一遍就行。/************************************************************* P

2017-11-15 17:04:12 362

原创 51nod1394 差和问题

题面在这里离线。首先离散化。然后我们考虑加进一个数或减去一个数的改变量:假设数是x,即答案要加上(或减去)x*(小于x的数的个数) - (小于x的数的和) + (大于x的数的和) - x*(大于x的数的个数)。开两个树状数组分别维护数的个数和数的和就好。注意开long long。/***************************************************

2017-11-15 00:55:06 233

原创 NOIp2017酱油记

Day -1刷一大堆模板晚上翻来翻去睡不着。。Day 0早上很早就醒了(听说某些人4点多就醒qwq)坐高铁去的一堆大佬车上讨论算法哇啦哇啦(˘•ω•˘)下午报道,去书院中学熟悉考场不让进学校。。晚上本来要打一个比赛T2大水题wa了8次以后弃了T1看了眼好像不会然后就不想做了紧张到爆。。后来T2好像是精度问题。。T1听说是一道很水的期望

2017-11-14 22:42:51 515

空空如也

空空如也

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

TA关注的人

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