把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

12 2021 档案

摘要:题面传送门 看到这个不难想到dp 首先有一个基本结论:如果两个点(xi,yi),(xj,yj)满足xixjyiyj那么(xi,yi)是没有用的。 所以我们可以得到一系列有用的点,满足yiyi1 所以不难想到$O(n^2 阅读全文
posted @ 2021-12-30 20:47 275307894a 阅读(78) 评论(0) 推荐(0) 编辑
摘要:题面传送门 首先这个回文串很玄学,我们考虑如果一个回文串的长度大于3,那么以它为中心的长度为3的回文串一定更符合要求。 所以我们的要求转化为每个点左右两边要不一样。 如果我们将奇偶分开,那么就是要每个都相邻不同,这个随便dp就好了。 code: #include<bits/stdc++.h> 阅读全文
posted @ 2021-12-30 19:16 275307894a 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题面传送门 真是一道大毒瘤题目,写了我两个晚上。 这个题面转化一下就是树上选k+1条点不相交路径。 首先不难发现有一个O(nk)的dp:设dpi,j,0/1/2i子树内选了j条链,当前点度数0/1/2的最大值。随便转移 特别的我们把一个单独的点看作2度数。 然后这个显然是 阅读全文
posted @ 2021-12-29 22:52 275307894a 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题面传送门 这道题目的圆很特殊,在同一条直线上且半径都是r,所以若干个圆的面积并就是这几个圆的面积和减去相邻圆面积并 那么显然有一个dp:设fi,j为到了i,选了j个圆的相邻圆面积并最小值。时间复杂度O(n2k) 发现这个转移其实是O(n)的,式子比较复杂,不适合斜率 阅读全文
posted @ 2021-12-26 11:51 275307894a 阅读(139) 评论(0) 推荐(0) 编辑
摘要:题目传送门 感觉很套路但是就是想不到那个套路 首先对于相邻两个同色互换有一个经典套路:对于奇数位反色那么就变成交换相邻01 这样的话如果固定两个字符串就可以简单计算答案了。 考虑有未知的情况,我们设fi,j为现在最后一对1是第i个和第j个的答案,gi,j为方案数。 那 阅读全文
posted @ 2021-12-25 20:41 275307894a 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题面传送门 首先这个死大的n肯定想到矩阵乘法。 看到这个m,k特别小,不难想到设dpi,a,b,c表示到了第i次,场上有a个一滴血,b个两滴血,c个三滴血的概率。 然后这个显然可以dp,每次算一下打到boss的答案就好了。 可以拿到20pts的好成绩 每次转移固定, 阅读全文
posted @ 2021-12-24 21:35 275307894a 阅读(52) 评论(0) 推荐(0) 编辑
摘要:题面传送门 看到这个不难想到O(n2)的dp,然后这个平方让人想到斜率优化。 但是这个价值的表示方法似乎并不好直接计算? 手玩一下发现有一个结论:最优转移点一定是同色的。 证明很显然,如果不是同色的那么当前单独一段然后前面再转移会更优。 然后同色之间这个东西随便用单调栈维护一下斜率优化就好了。 阅读全文
posted @ 2021-12-23 18:33 275307894a 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题面传送门 这里是一个复杂度很逊还常数死大的做法。 首先一个点如何转移到自己的另一个点是可以树形dp做出来的。 具体的,一个点先从儿子转移,而后从父亲转移,显然两次dp可以囊括所有情况。 然后发现如果把转移写成一个2×2的矩阵这个东西就是两点路径上的矩阵乘积,这个是可以倍增维护的。 阅读全文
posted @ 2021-12-22 22:16 275307894a 阅读(36) 评论(0) 推荐(0) 编辑
摘要:题面传送门 首先我们考虑如果一个点通过的概率是p那么期望的小时数。 显然是i=0(1p)i\(西\)1p 所以一个点的权值就是$\frac{\sum\limits_{x=l_j}{i}{t_i}} 阅读全文
posted @ 2021-12-16 18:59 275307894a 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题面传送门 我们考虑这个c2x6,看上去很迷惑。 但是如果我们设g(x)=f(x)×cx,那么我们就可以很惊奇地发现g(x)=g(x1)g(x2)g(x3) 然后就可以分c,f1,f2,f3三个算一下幂次就好了,注意膜1000000006 阅读全文
posted @ 2021-12-16 17:38 275307894a 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题面传送门 感觉优化一下可能是个神仙题不过这道题数据这么点还是算了吧 考虑一个简单的dp状态,就是直接设fi,j表示现在在i点,还剩j个值,但是发现没有办法转移,如果要记录每个点的答案的话那么就很难搞。 所以把这个东西放到边上去状态数瞬间变成O(n3) 也就是设$dp_{i,j 阅读全文
posted @ 2021-12-15 22:20 275307894a 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题面传送门 我们先来考虑一个很sb的O(n2)的dp 设dpi,ji这个节点为j权值的概率,那么显然的可以枚举两个儿子的权值然后暴力转移。 因为这个时间复杂度弱于每个叶子向上暴力跳的复杂度,还可以过随机的10分。 然后发现这个东西是和前后缀和有关所以可以写个线段树合并维 阅读全文
posted @ 2021-12-12 15:23 275307894a 阅读(25) 评论(0) 推荐(0) 编辑
摘要:F1 首先n这个小看上去就是区间dp 我们设dpi,j\(\)[i,j]的方案数。 然后因为是从小往大染,所以这个区间内第一步染色的肯定是最小的颜色,记为Mi 然后找到这个数的位置两边分别转移一下最后乘起来就好了,时间复杂度O(n3) F2 一开始想了个巨大多麻烦 阅读全文
posted @ 2021-12-11 21:26 275307894a 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题面传送门 我们考虑每个点,只有两种情况,一种是它的叶子节点自己和自己匹配完了,另一种是有一些叶子节点和外面去匹配。 所以我们可以设dpx,0/1表示x子树内匹配完了/没匹配完的答案。 考虑一个子树内点和点怎么匹配。首先总的方案数是每个直接儿子匹配完了/没匹配完 如果这个子树内自己和自 阅读全文
posted @ 2021-12-10 20:59 275307894a 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题面传送门 看到这个恰好就啪的一下很快啊一个二项式反演扔上去了。 把这个变成钦定k个一定是答案,然后剩下的随便取的方案数。 然后其实就是一个基本的dp了,设dpi,j,0/1,0/1表示选到第i个,已经选了j个,当前是否选的是右边以及上一个是否选的是右边,容易转移。 时间复杂度 阅读全文
posted @ 2021-12-09 18:23 275307894a 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题面传送门 先把这个序列排序,然后显然的我们有一个类似括号匹配的做法。 从大到小做,考虑每一个是最大值还是最小值还是中间的值,中间的值可以随便找一个尚未匹配的最大值放进去,如果设dpi,j,k表示选到了第i个,剩下了j个最大值,当前和是k 但是发现因为要有先加上右括号再减去左括 阅读全文
posted @ 2021-12-08 22:40 275307894a 阅读(32) 评论(0) 推荐(0) 编辑
摘要:题面传送门 首先肯定先把A排序然后一个子序列权值是相邻权值的min 发现如果我们直接算答案为i的不太好算。 我们考虑转化成答案至少为i的,那么答案恰好为igi=fifi+1 fi可以通过一个O(nk)的dp算出来。 然后乘上权值是O(nkW)的,不能通 阅读全文
posted @ 2021-12-07 22:09 275307894a 阅读(9) 评论(0) 推荐(0) 编辑

浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示