自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BZOJ 4199 NOI2015品酒大会

ProblemBZOJ 题意:∀i∈[1,n−1]∀i∈[1,n−1]\forall_{i\in[1,n-1]},求最长公共前缀的长度为i的后缀有多少对,并求权值乘积最大为多少Solution这道题的前置题目应该是AHOI2013 差异在parent树上,祖先表示了这个节点的后缀,那么两节点的lca,就是最长公共后缀。 那么考虑翻转原串,建出后缀自动机,拓扑排序之后再跑dp,注...

2018-06-30 14:17:07 197

原创 BZOJ 1367 BOI2004数字序列

ProblemBZOJSolutiondalao安利的一道论文题。。为了方便思考,我们可以把ai减去i,把严格递增的条件转化为非严格递增的条件。不妨先考虑特殊情况,a如果是递增的,那么直接bi=ai即可。如果是递减的,就取它的中位数,原因后文再讲。先考虑一个简化的问题,是一个初中数学题,求使得|A−x|+|B−x|(A≤B)|A−x|+|B−x|(A≤B)|A-x|+|B-...

2018-06-28 17:35:37 279

原创 Codeforces 700E Cool Slogans

ProblemCodeforcesSolution先建出后缀自动机,然后我们可以按照right集合来dp。这个right集合可以用动态开点的线段树+线段树合并乱搞。然后dp部404 NOT FOUND注意一下pos的转移,hhh我调这个调了40minCode#include <cstring>#include <cstdio>using ...

2018-06-26 17:36:31 448

原创 UOJ 164 清华集训2015 V

ProblemUOJ 要求你支持五个操作1.区间加x2.区间减x,然后对区间做ai=max(ai,0)ai=max(ai,0)a_i=max(a_i,0)的操作3.区间修改成x4.单点询问当前值5.单点询问历史最大值Solution吉司机线段树的一道题,可以参见2016年吉如一的论文我们用线段树维护两个东西,一个是当前,一个是历史,每个用结构体来描述,(x,y)表...

2018-06-21 10:56:05 293

原创 LOJ6435 PKUSC2018星际穿越

ProblemlojSolution一个显而易见的结论,对于一个xi,要到达1号节点的最优路径只有第一步可能往右走,后面的步必定是往左走。 那么我们可以dp出整个右边可以走到的最左边的位置mn[i],mn[i]显然小于i,而且如果这个最优位置不是出自i本身,那么也就意味着要往右走一步,再往左走。 先dp出最优的位置,然后i就继承mn[i]的答案,做一个区间修改即可,可以用主席树实现...

2018-06-18 20:37:16 711

原创 BZOJ4859 BJOI2017机动训练

ProblemBZOJSolutionSalamander安利的一道题目。。思路很神的一道题目对于平方,我们可以转化为选两条路径都为某个方案的方案数。注意到这个机动路径的定义,其实在确定了x,y之后,路径就是只能朝一个象限(虽然还包括了坐标轴)的方向走,那么我们不妨设g[x1][y1][x2][y2]表示第一条路径的方向向量为(x1,y1),(x2,y2)的方案数。然后我们可以记忆...

2018-06-17 15:21:32 588

原创 BZOJ5287 HNOI2018毒瘤

ProblemBZOJSolution顾名思义,如果不是暴力分比较多,的确是一道很毒瘤的题。。题面中所谓的联通操作就是保证互斥的连边后,是一个连通图。我们从树的状态考虑起。不妨设f[x][1/0]表示子树x中x选/不选时合法的方案数。 容易得到转移方程f[x][1]=∏f[son][0],f[x][0]=∏(f[son][0]+f[son][1])f[x][1]=∏f[son...

2018-06-13 14:39:56 363

原创 Codeforces613D Kingdom and its Cities

ProblemCodeforcesSolution套路虚树搞一下,然后我们考虑树形dp。 我们不妨设f[x]表示任意一个关键点都无法到达子树根的最小花费,g[x]表示允许有一个关键点到达子树根的最小花费。我们需要分情况进行讨论。对于关键点,无法满足f[x]的情况,我们设成INF。而为了满足g[x],那么任意一个子树都无法到达其根,也不需要再砍断,即: f[x]=INFf[x...

2018-06-11 21:44:10 350

原创 BZOJ3572 HNOI2014世界树

ProblemBZOJSolution虚树+dp,但是dp挺难写的 写什么dp咯,分情况讨论+模拟可是O(n)的详细说一下dp吧。我们设bel表示这个点最近的关键点,直接dp儿子,然后比较子树中的答案是否更优。但是最近的关键点可能并不在子树中,那么我们还需要重新再判断一下,是否父亲的最优答案可以更新儿子的最优答案。可以用两边dp解决。 怎么统计答案?不妨直接对虚树上的边进行考虑...

2018-06-11 14:31:20 217

原创 BZOJ2626 JZPFAR及kd-tree入门

ProblemBZOJ权限题 洛谷Solutionhdu4347和这道题也很类似。我们用kd-tree来做,用一个堆来维护可能成为k远的几个点,不断更新答案。优先搜可能更远的子树,再根据估价函数判断需不需要搜另一个子树。注意重载小于号和估价函数不要写错了。注意当现在的节点少于k时仍然不能进入空子树,否则可能会影响答案。Code#include <algori...

2018-06-10 18:07:33 526

原创 UOJ207 共价大爷游长沙

ProblemUOJSolution这道题可以维护子树hash值来做。这个hash函数要求仅与各个数的值有关。 如果边(x,y)在所有的路径上,那么我们可以认为在子树x/y中,hash值是要等于某个值的(这个值我们可以维护总的hash值)。而一个比较好的hash就是异或和,为了不冲突我们可以用2的幂来赋值,但注意到路径可能比较多,所以直接rand一个大数,冲突的概率也是比较小的。...

2018-06-08 21:52:15 410 1

原创 BZOJ3626 LNOI2014LCA

ProblemBZOJSolution就是给定询问l,r,z求∑ri=ldeep(lca(i,z))∑i=lrdeep(lca(i,z))\sum_{i=l}^r deep(lca(i,z)) 我们考虑把deep的含义转化一下,它就是表示某个点到根节点需要经过几个节点 那么把路径上的deep差分之后就变成了一条1,然后我们做一个区间询问和即可得到deep那么我们就用这种思想...

2018-06-04 22:37:20 341

空空如也

空空如也

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

TA关注的人

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