首页 > 其他分享 >CF 2500 贪心

CF 2500 贪心

时间:2022-11-01 17:25:25浏览次数:71  
标签:log val 复杂度 个数 mid CF 2500 dp 贪心

I. Square-free division (hard version)

考虑 dp,设 \(f_{i,j}\) 表示考虑了前 \(i\) 个数,修改了 \(j\) 个分割的最小数量的子段。枚举上一个子段的结尾 \(k\),并设 \(val(i,j)\) 表示 \([i,j]\) 这一段最少修改多少个数使得其变成合法子段,那么一个 \(O(n^2)\) 的 dp 式子就出来了,\(f_{i,j}\leftarrow \min\{f_{k,j-val(k+1,i)}+1\}\)。

注意到 \(k\le 20\),所以可以枚举 \(val(k+1,i)\) 的取值 \(m\),我们只需要找到一个下标 \(k\) 使得 \(f_{k,j-m}\) 最小,不妨设 \(g_{i,j}\) 表示一个最长的后缀 \([g_{i,j},i]\) 使得修改恰好 \(j\) 个数能成为合法子串。那么 \(k\) 这个决策点的取值应为 \(g_{i,m}\)。

为什么 \(k\) 取最小就是最优呢,注意到 \(f\) 是单调不降的,所以越往左的 \(k\) 对应的 dp 值就越小。

\(g_{i,j}\) 的求法考虑双指针,即 \(j\) 固定的情况,\(g_{i,j}\) 是随着 \(i\) 的增加而增加的。我们把每个 \(a_i\) 的平方因子扔掉,那么两个数乘积为完全平方数这一条件就可以化成两个数是否相等。

复杂度 \(O(nk^2)\)。有高妙的 \(O(nk+a_i)\) 做法但是我不会。

code

II. Ivan and Burgers

猫树分治。对于区间 \([l,r]\) 预处理后缀 \([i,mid]\) 和前缀 \([mid,j]\) 的答案,对于跨越 \(mid\) 的询问可以快速合并,不跨越 \(mid\) 的向两边递归。

注意这个复杂度不是三只老哥而是两只,因为每次只会遍历在当前 \([l,r]\) 区间内询问的贡献,每次询问只会遍历一次,所以复杂度 \(O(n\log n\log V+q\log^2 V)\) 的。

code

III. Complete the MST

结论是只会更改一条边的权值,其余边权设置为 \(0\)。

标签:log,val,复杂度,个数,mid,CF,2500,dp,贪心
From: https://www.cnblogs.com/UperFicial/p/16847971.html

相关文章

  • CF1093F
    设\(f_{i,j}\)表示前\(i\)个位置,第\(i\)个位置的数字是\(j\)的方案数,\(s_i=\sum_{j}f_{i,j}\),\(mx_{i,j}\)为位置\(i\)往前全是\(j\)的最长长度。\(f_{i,j}=......
  • CF796C Bank Hacking
    题目传送门思路放眼整个题解区没有我这种解法,因此来写一篇题解。既然要求我们选择一个节点作为根,那么我们就枚举根。接下来的问题就是如何\(\mathcal{O}(1)\)或\(\m......
  • CF Garphs
    CF746GNewRoads构造题。显然优先满足强制叶子节点的限制,设第\(i\)层叶节点数\(b_i\)。考虑到\(a_i>a_{i+1}\)则必有第\(i\)层\(b_i\leftarrowa_i-a_{i+1}\)......
  • CF1743E FTL(哈希,DP)——关于 xorshift 的哈希冲突
    CF1743EFTL有两把laser枪,一把伤害\(p_0\)两发间隔时间至少\(t_0\),另一把\(p_1,t_1\)。打敌方太空船,血量\(N\)防御值\(s\),如果某个时刻你对太空船打出\(P\)的......
  • CF809C
    思路转化题意注意到这个“没有出现过的最小正整数”很不舒服。改定义:\[b_{x,y}=a_{x+1,y+1}-1\]则我们有\[b_{x,y}=\operatorname{mex}(\{b_{x,k}|0\lek<y\}\cup\{b......
  • USB_CfgTypeDef
    /** *@brief USBInitializationStructuredefinition */typedefstruct{ uint32_tdev_endpoints;          /*!<DeviceEndpointsnumber.   ......
  • 【五期杨志】CCF-A(NeurIPS'20) Self-supervised multimodal versatile networks
    AlayracJB,RecasensA,SchneiderR,etal.Self-supervisedmultimodalversatilenetworks[J].AdvancesinNeuralInformationProcessingSystems,2020,33:2......
  • CF585E
    令\(s_n\)表示最大公因数恰好为\(n\)的集合个数,\(f_n\)表示与\(n\)互质的数的个数。那么我们要求的就是\(\sum_is_if_i\)。考虑求出\(s\)和\(f\)。考虑计算......
  • 【CF1292F】Nora's Toy Boxes(状压DP)
    考虑将点分为$A,B$两类。其中$[x\inA]\iff\exists_{y\neqx},y|x$。那么我们删去的点只可能在$B$类中,且当前$x\inB$可删当且仅当存在$y\inB,z\inA$使得$z|x......
  • 单片机 STM32 HAL PCF8574 例子代码
    #include"extgpio.h"#include"pcf8574.h"#include"74hc595.h"/******************笔记:1、X输入Y输出2、NPN(箭头向下)高电平时导通,PNP(箭头向上)低电平时导通;3、PCF8574......