自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【GDOI2018】D1T2 密码锁(lock) - 差分 - 贪心

题目大意  给出n个数,每次选择任意一个区间加或减1,求最少多少次能在$mod m$意义下全变成0。Solution  首先我们对于这n个数前后加个零,在$mod m$意义下差分一下。  $f[i]=(a[i]-a[i-1]+m)mod m$  于是区间加减1操作就转换成了在某一位加一,另一位减一。  容易发现,每个数只会加到m或者减到1,而不会有多次循环。 ...

2018-05-03 12:53:00 186

转载 【GDOI2018】D1T1 农场分割(farm) - 倍增/前缀和

题目大意  n个数,求最多分成几组,使每组的和一样。Solution of mine  简单可见n个数的总和一定能被组数整除。  首先预处理第$i$位向后$2^j$个数的和。  对于总和$sum$的每个因子x,我们执行$sum/x$次倍增查找下一个位置是否分割点。  复杂度O(因子个数和)  因为因子个数和上界是$O(n log n)$,而且卡不满,所以$10...

2018-04-30 17:26:00 207

转载 【NOIP模拟赛(六)】狐狸的谜语(puzzle) - 深度优先搜索 - 剪枝优化

Problem Puzzle题目大意给一个串s和数T,求最少插入多少个乘号或加号可以使答案为T。Solution因为数据较小,然后我们直接深度优先搜索。但是我们需要加上四个剪枝。若当前已经搜索完毕的算式总和大于T则停止若当前加入的符号大于目前最小符号则停止若当前累加的数乘上前一个数已经大于T且串后面没有0可以抵消了则停止若当前进行插入乘号或加号都不...

2017-09-20 22:23:00 255

转载 【NOIP模拟赛(六)】花园的守护之神(greendam)-最短路-最大流最小割

Problem Greemdam题目大意给一个图$G=(V,E)$,求要使这个图的最短路增长所需要增加的最小权值的值。Solution既然是要求这个玩意儿,我们可以排除除了最短路以外的所有路径,因为这些是无用的。对于每一条最短路路径,如果这条路径与任意一个最短路路径有相同的一条边,那我们只需要在这条边权值加一就可以保证这两个最短路都增加了。所以我们转化为求不相...

2017-09-20 21:38:00 162

转载 【BZOJ3217】ALOEXT-暴力重构线段树-替罪羊树-Trie树-树套树-10k大代码(+数据生成器)...

Problem ALOEXT题目大意给出一个数据结构维护一个数列,要求支持以下操作:向数列中某个位置插入一个数将数列中某个位置的数删除将数列中某个位置的数换成另外一个数查询一段区间内的次大值与这段区间内整数的异或最大值要求强制在线。Solution看到这个题目以后我们脑子里弹出了许许多多种数据结构。首先我们看到维护一个数列支持区间查找删除操...

2017-08-16 22:15:00 210

转载 【北京集训测试赛(七)/BZOJ4631】踩气球(Balloon)-线段树-STL-Vector

Problem 踩气球题目大意给m个区间和一个数列,每次对其中一个数减一,强制在线求每次操作后区间内数字全都为0的区间。Solution对于数列开一个线段树。对于线段树每一个点开一个vector存区间的id。这样我们一共最多会存下$\log m$个id。对于每次操作,维护线段树sum值。当我们将一个数减到了零,那么对于到根路径上的每一个点扫一遍。如果这个点...

2017-08-11 16:16:00 99

转载 【BZOJ1036/ZJOI2008】树的统计(Count)-树链剖分

Problem 树的统计题目大意一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本...

2017-08-09 20:00:00 96

转载 【北京集训测试赛(五)/HDU5299】圆圈游戏(Circles game)-树上删边-圆的扫描线

Problem遗产题目大意一个平面上n个圆,任两个圆只会相离或包含,给出每个圆位置与半径。alice&&bob轮流取圆,每取一个就可以取出这个圆以及被这个圆包含的圆。没圆取的人输,alice先取,问谁有必胜策略。SolutionMethod #1首先我们考虑一个暴力一点的写法:先将圆半径从小到大排序,然后枚举两个圆,判断是否包含关系。...

2017-08-09 11:39:00 121

转载 【北京集训测试赛(三)】灯(Light)-奇怪乱搞数学题-素数

Problem 灯题目大意n盏灯排成一列,标号一到n,一开始标号为1的灯亮着。现在依次对于2~n的每一个质数pi,指定一盏亮着的灯ai,点亮所有标号为$A[i]\pm kP_i$的灯。有spj,任意一种方案即可。输入一个整数n,输出点灯方案。Solution首先写个暴力,考虑一下小范围的数据。我们发现$n<16$的时候没有完美解,都是n-1。再算下去...

2017-08-07 20:20:00 125

转载 【CF787D】遗产(Legacy)-线段树-优化Dijkstra(内含数据生成器)

Problem遗产题目大意给出一个带权有向图,有三种操作:1.u->v添加一条权值为w的边2.区间[l,r]->v添加权值为w的边3.v->区间[l,r]添加权值为w的边求st点到每个点的最短路Solution首先我们思考到,若是每次对于l,r区间内的每一个点都执行一次加边操作,不仅耗时还耗空间。那么我们要想到一个办法去优化它。一看...

2017-07-14 19:55:00 701

转载 【CF373C】计算袋鼠是愉快的(Counting Kangaroos is Fun)-贪心

Problem计算袋鼠是愉快的题目大意有n只袋鼠,如果一个袋鼠体积是另一个袋鼠的两倍或以上,则小袋鼠能被大袋鼠装进袋子里,装进去后就看不到袋子里的袋鼠了,问这群袋鼠如何行动才能使得它们看着数量最少,请输出该数量。(注意,如果一个小袋鼠被装在袋子里,则小袋鼠袋子里不能再嵌套袋鼠了)也就是给出一个数组,求这个数组中最多的u,v使得u>=2v,每个数组中的数只能作为一次u,...

2017-07-13 08:56:00 266

转载 【NOIP2013/Codevs3287】货车运输-最小生成树(大)-树上倍增

Problem树上倍增题目大意给出一个图,给出若干个点对u,v,求u,v的一条路径,该路径上最小的边权值最大。Solution看到这个题第一反应是图论。。然而,任意路径最小的边权值最大,如果仔细思考的话就会知道,如果两个点相互连通,那么一定走的是最大生成树上的路径,而不会选择其他任何一条路径去走。这个是可以非常简单证明的,就不再详述。那么既然知道了这个,当然...

2017-07-10 21:23:00 119

转载 【BZOJ2783/JLOI2012】树-树上倍增

Problem树题目大意给出一棵树,求这个树上的路径的数量,要求路径上的点权和等于s且路径的上每个点深度不同。Solution这个题目可以用不少方法做。首先,路径上每个节点的深度不同决定了这条链上每一个节点的上一个节点都是他父亲。于是就可以开始乱搞了。对于每一个节点,我们认为这个节点为路径尾节点,然后去查询其父亲链上是否有路径点权和为s的节点。我们可以用c+...

2017-07-10 10:03:00 88

转载 【CF486D】有效集合-树形dp

Problem有效集合题目大意给出一棵树,求出这棵树的不同联通子节点集合的数量,这些集合必须满足最大权值点减最小权值点小于等于d。Solution再一次树d乱搞。因为数据范围贼小,所以我们对于每一个点为根的情况进行一次dfs.对于以节点root为根的情况,我们认为root是最小值。对于root的某一棵子树,其需要算的情况一定包含root,否则前面已经算过了。...

2017-07-09 22:10:00 99

转载 【CF161D】Distance in Tree-树状dp

Problem Distance in tree题目大意给出一棵树,求这棵树上有多少个最短距离为k的点对。Solution这个题目可以用点分治来做,然而我到现在还是没有学会点分治,所以只好用树形dp了。这个题目,我们可以将其转化为一个个子树中搞事情,再慢慢合并。设f[i][j]为以i为根的子树中距离根距离为j的点有多少个。对于一个点u,我们枚举它的子节点v,则...

2017-07-09 20:16:00 118

转载 【CF337D】邪恶古籍-树状dp

Problem 邪恶古籍题目大意给出一些关键点,求这棵树上到最远关键点距离小于等于d的有多少个。Solution一个非常简单的树形dp。然而我被这道题给玩坏了。在经过分析以后,我们发现只需要维护两个数组,一个数组记录这个点的上面的最远关键点(父亲那一串)到这个点的距离;另一个数组记录这个点的子树上的最远关键点到这个点的距离。这个应该是正解,其实也和我的做法...

2017-07-09 16:09:00 132

转载 【CF697D】Puzzles 树形dp/期望dp

Problem Puzzles题目大意给一棵树,dfs时随机等概率选择走子树,求期望时间戳。Solution一个非常简单的树形dp?期望dp。推导出来转移式就非常简单了。在经过分析以后,我们发现期望时间戳其实只需要考虑自己父亲下来(步数加一)&从兄弟回来两种可能。设size[i]为i节点子树大小(包括自身)对于兄弟的情况,i节点的一个兄弟有1/2的可能...

2017-07-09 10:26:00 163

转载 【POJ2104/HDU2665】Kth Number-主席树-可持久化线段树

Problem Kth NumberSolution裸的主席树,模板题。但是求k大的时候需要非常注意,很多容易写错的地方。卡了好久。写到最后还给我来个卡空间。具体做法参见主席树论文《可持久化数据结构研究》。AC Code#include "cstdio"#include "iostream"#include "cstring"#include "algo...

2017-07-09 08:37:00 140

转载 【TYVJ1728/BZOJ3224】普通平衡树-替罪羊树

Problem 普通平衡树Solution本题是裸的二叉平衡树。有很多种方法可以实现。这里打的是替罪羊树模板。此题极其恶心。前驱后继模块需要利用到rank模块来换一种思路求。很多细节的地方容易炸。我拿数据调了很久才A。(delt()删除模块其实是不需要重建的,不影响时间复杂度)替罪羊树具体详见此篇知乎:替罪羊树AC Code 1 #include "ios...

2017-07-09 08:34:00 117

转载 【HDU1512/ZOJ2334】Monkey King-左偏树-可合并堆

Problem Monkey KingSolution本题是裸的左偏树,一个模板就可以过了。对于每个操作对节点先删除/2再合并。 注意本题在HDU上评测特别坑,是多组数据,而且经常出现MLE的情况。很可能是其中初始化的问题。 斜堆可以更快。具体请查询IOI2015黄源河集训队论文。AC Code#include "iostream"#include "...

2017-01-18 19:48:00 126

空空如也

空空如也

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

TA关注的人

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