自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷4755 Beautiful Pair

Problem洛谷Solution考虑分治,对于区间[l,r][l,r][l,r],找出其最大值的位置pospospos,那么就需要在左右找出乘积不大于其的对数。怎么找呢,考虑建出主席树,然后扫一遍较短的区间,找一下小于某个值的有多少即可。为什么这样的复杂度不会被卡到O(n2)O(n^2)O(n2)呢,因为一次分治的复杂度和其区间长度无关,所以应该这样来分析,对于一个区间如果被扫,说明当前...

2018-10-30 09:13:05 193

原创 LOJ6436 PKUSC2018 神仙的游戏

ProblemLOJSolutionyasar的游戏(逃)这题的难点应该是border的性质= =border的概念是在kmp的时候有提及的,就比如nxt[∣S∣]nxt[|S|]nxt[∣S∣]就是原串的最长border,但这是题外话了。若存在一个长度为i的border,则说明原串存在一个∣S∣−i|S|-i∣S∣−i的循环长度,后面的则被截断了。若存在的话就说明把原串按照循环长度分组...

2018-10-23 17:01:28 340

原创 分糖果

Problem有一个n个元素的环,第i个元素的取值范围为[1,ai][1,a_i][1,ai​],要求相邻的元素不能相等,问有多少种不同的赋值方法,答案对109+710^9+7109+7取模。n≤106,ai≤109n\leq 10^6,a_i\leq 10^9n≤106,ai​≤109Solution考虑容斥。根据容斥的方程我们会发现可以直接考虑其奇偶性,设f[i][0/1]f[i][0...

2018-10-22 22:00:09 399

原创 Codeforces958C3 Encryption (hard)

ProblemCodeforcesSolution是一道很有意思的题目。首先你可以写出一个最暴力的方程,设f[i][j]f[i][j]f[i][j]表示前j个位置分i段的最小代价f[i][j]=min⁡(f[i−1][k]+(sum[j]−sum[k]) mod p)f[i][j]=\min (f[i-1][k]+(...

2018-10-22 18:37:54 360

原创 dp优化学习笔记

ProblemBZOJ斜率优化原谅我之前做斜率优化题的时候都是在瞎bb,这才是靠谱的比如我们有个这样的式子,要求最大化Y=f[i]=A(i)+B(j)+C(i)D(j)Y=f[i]=A(i)+B(j)+C(i)D(j)Y=f[i]=A(i)+B(j)+C(i)D(j)我们可以先忽略A(i)A(i)A(i)则Y=C(i)D(j)+B(j)Y=C(i)D(j)+B(j)Y=C(i)D(j)...

2018-10-18 20:55:08 241

原创 BZOJ 3206 APIO2013 道路费用

ProblemBZOJSolution注意到k只有20,那么对于这个图,很多点是由普通边连接的,那么我们可以先强制把所有的特殊边加入,然后把普通边做一次mst,则其他未加入的边肯定是不会做贡献的,把这些由普通边连起来的点缩在一起的,不妨称为新图。新图只有tot(tot≤k+1)tot(tot\leq k+1)tot(tot≤k+1)个点,但是由于特殊边的选择方案可能导致树的形态发生改变,所...

2018-10-18 08:24:16 234

原创 51nod1462 树据结构

Problem51nodSolution第一想法是链剖+线段树好像可以做,只不过细节有点多。不过好像还可以cdq分治,但是cdq写起来还是不爽,得树剖+线段树,时间复杂度也并不优秀O(mlog⁡mlog⁡n2)O(m\log m\log n^2)O(mlogmlogn2)。我们考虑用线段树合并的方法来实现。由于每次操作都是从某点加到根,那么这个操作用线段树合并很好搞。考虑把线段树的的区间搞...

2018-10-16 20:02:33 252

原创 BZOJ4221 kangaroo

ProblemBZOJSolution想了一个下午不会做,然后发现有这么两篇题解,感觉思路好奇妙:clarispenth可以这样想,把袋鼠拆成两个点,上面是体积,下面是袋子,如果袋鼠a放到袋鼠b里去,则必须满足ax≤bya_x\leq b_yax​≤by​,即相当于在二分图上从上向下连线。那么其实这个就是要求最后局面中没有连线的min⁡a>max⁡b\min a&...

2018-10-16 19:27:05 571 1

原创 51nod1355 斐波那契的最小公倍数

Problem51nodSolution每次遇到这种神仙题,总有人告诉我这是出了很多遍套路题……Orz知乎大佬:https://www.zhihu.com/question/61218881/answer/185333391通过min-max容斥我们可以知道:lcm(fS)=∏T⊆Sgcd⁡(fT)(−1)∣T∣−1=∏T⊆Sfgcd⁡(fT)(−1)∣T∣−1lcm(f_S)=\pr...

2018-10-13 11:43:39 219

原创 Codeforces413E Maze 2D加强版

ProblemCodeforcesn≤5,m≤2×105,q≤5×104n\leq 5,m\leq 2\times10^5,q\leq 5\times 10^4n≤5,m≤2×105,q≤5×104要求支持修改某个格子的可走状态。Solution感觉想法很新奇的一道题,但是后来boshi告诉我这是动态dp的套路题……所以就当是动态dp入门题了吧我们用一个n2n^2n2的矩阵来代表一个区...

2018-10-10 17:33:54 250 1

原创 有关一类容斥计数dp问题

容斥+dp是啥?能吃吗?

2018-10-06 15:07:03 776

原创 Codeforces 939F Cutlet

ProblemCodeForces大意就是一个长度为2n的01序列,给定k个不相交的区间,在区间内的元素允许与前一个元素不同,代价为1,要求使得01序列中0和1恰好是n个,问最小的代价。Solution可以设出这样的一个dp,f[i][j]表示到第i段结束,当前没烤的这面烤j分钟的最小翻面次数。如果你觉得这个状态不那么方便你也可以加一维0/1咯。有这么一个性质,在一段区间内只有不翻/翻1...

2018-10-02 18:08:22 310

原创 BZOJ 3925 ZJOI2015 地震后的幻想乡

ProblemBZOJ每条边都有一个[0,1]边权,求最小生成树中最大边的期望大小n个[0,1]的随机变量,第k小的期望是kn+1\frac k {n+1}n+1k​Solution姑且不论为啥第k小的期望是kn+1\frac k {n+1}n+1k​,那是题目中给的信息……我也不会证qwqqqMST上的最大边就是在kruskal的时候最后加入的边,那么就要求加到第i条边时联通的概率,...

2018-10-01 22:24:56 278

空空如也

空空如也

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

TA关注的人

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