CF1981F / *3000

首先有朴素的 dp:\(f_{u, i}\) 表示以 \(u\) 为根的子树已经 finish 了,经过 \(u\) 往上走的路径 MEX 为 \(i\)。\(i\) 的取值是 \([1, n + 1] \bigcap \mathbb{Z}\),因为一共只有 \(n\) 个点。

转移的时候分情况,看看子树往上走的路径是在 \(u\) 断开还是继续向上延伸。如果有两个儿子还要考虑是否需要将两个向上走的链在 \(u\) 这里 merge 起来。

这个朴素 dp 是 \(O(n ^ 2)\) 的。但是根据直觉 MEX 不会很大。因此转移时第二维只转移到 \(5000\)。由于 CF 的神机,很轻松的就跑过了。

Proof:假设权值 \(i\) 出现了 \(s_i\) 次。对于一个序列,将每个 \(i\) 与其左右划分为一段,剩下的部分同样成段。这样一共能分出 \(2s_i + 1\) 段。

其中含有 \(i\) 的段 MEX \(\le i\)(因为 \(i\) 一定不在序列中),含有 \(i\) 的段 MEX \(\le 4\)(因为段长为 \(3\))。

设 MEX 上界为 \(t\),则有 \(\min\{(s_i + 1)i + 4s_i\} \ge t\)。又 \(\min\{(s_i + 1)i + 4s_i\} < \min\{(s_i + 1)i + 4(s_i + 1)\}\),可以放缩一下,解得 \(s_i \le \left \lfloor \dfrac{t}{i +4} \right \rfloor - 1\)。

由于 \(\sum s_i = n\),根据调和级数可以得到 \(n = O(t \ln t)\),也就是说 \(t\) 实际上是 \(O(\dfrac{n}{\ln n})\) 级别的。题解说 \(t = 3863\)。

CF1476F / *3000

怎么会有这么蠢的 CF *3000?

想一下,设 \(f_i\) 表示填满前 \(i\) 个需要的最少灯笼不好做。设 \(f_i\) 表示前 \(i\) 个灯笼能扩展的最长前缀。分情况转移:

  • \(f_{i-1}<i\):\(f_i \leftarrow f_{i-1}\)

  • \(f_{i-1}>i\):\(f_i \leftarrow \max\{f_{i-1}, i+p_i\}\)

  • \(i\) 向左与前面的前缀拼起来。设 \(t\) 为 \(f_t \ge i - p_i\) 的最小位置。\(f_{i} \leftarrow \max\{i-1,\displaystyle \max_{t<j<i} \{j + p_j\}\}\)

\(t\) 可以二分,\(\max\{j + p_j\}\) 可以 RMQ。复杂度线性对数。

CF 3000+的更多相关文章

  1. 【CF528E】Triangles 3000(计算几何)

    [CF528E]Triangles 3000(计算几何) 题面 CF 平面上有若干条直线,保证不平行,不会三线共点. 求任选三条直线出来围出的三角形的面积的期望. 题解 如果一定考虑直接计算这个三角形 ...

  2. CF528E Triangles 3000

    cf luogu 既然要求三角形面积,不如考虑三角形的面积公式.因为是三条直线,所以可以考虑利用三个交点来算面积,如果这个三角形按照逆时针方向有\(ABC\)三点,那么他的面积为\(\frac{\ve ...

  3. CF #575 Div3

    // 比赛链接:https://codeforces.com/contest/1196 // CF 2019.7.24 // 本想Div3手速场上分,结果卡在C题,掉了不少分. // 自闭了这么久,今 ...

  4. CF#581 (div2)题解

    CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include< ...

  5. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  6. Codeforces CF#628 Education 8 E. Zbazi in Zeydabad

    E. Zbazi in Zeydabad time limit per test 5 seconds memory limit per test 512 megabytes input standar ...

  7. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  8. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  9. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  10. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

随机推荐

  1. 事务TRANSACTION 1

    MySQL事务是指一组SQL语句作为一个工作单元,同生共死.类似JS中的Array.prototype.every方法 事务的特点 原子性(Atomicity):即事务中的SQL像原子一样牢不可破,无 ...

  2. elementUI的select下拉框增加checkbox选择框(可全选/取消)

    elementUI的select下拉框增加checkbox选择框 一.实现效果 二.实现方法 1.组件代码如下: <div> <el-select ref="select& ...

  3. jsoncpp安装与使用 cmake安装 升级g++ gcc支持c++11

    来了新公司之后,现在的json解析真的很难用,举个例子,假如想删除一个对象,要重新生成,去掉要删除的,其余的要组装上.很怀念之前用的jsoncpp,想引进来,就研究一下. 下载和安装 下载 从gith ...

  4. Figma 学习笔记 – Scroll and Position Fixed

    Scroll Scroll 属于 prototype 的一部分. 当一个 Frame 的内容超出 Frame 的高度或宽度时, Frame 就具备了 scroll 的能力. 通过 uncheck cl ...

  5. GPUStack正式发布: 为大模型而生的开源GPU集群管理器

    经过 Seal 研发团队几个月来持续的开发和测试,我们满怀期待及热情地发布新的产品 GPUStack,GPUStack 是一个用于运行 LLM(大型语言模型)的开源 GPU 集群管理器.尽管如今大语言 ...

  6. @RestController和@Controller的区别

    @RestController 和 @Controller 是Spring框架中用于定义控制器(Controller)的两个非常重要的注解,它们都用于处理HTTP请求,但它们之间存在一些关键的区别. ...

  7. CSP 联训 3

    好吧,又倒数了,就签了个 T2,100 pts. T1 我把相同颜色的存起来,每种颜色找出枚举选哪两个座位不合法的矩阵的左上和右下,如果找到的矩阵左下和右上也相同,则这个矩阵确实不合法,减去,但判断左 ...

  8. go语言中变量的作用域

    Go 语言中的变量作用域规则决定了变量在程序的哪些部分是可见的和可以访问的.理解这些规则对于编写清晰.维护性高的代码非常重要.下面是一个系统性的解释. 变量的作用域类型 包级作用域: 包级作用域的变量 ...

  9. 点亮PC13- 使用寄存器点亮

    #include "stm32f10x.h" // Device header int main(void) { // 打卡GPIOC的时钟 RCC->APB2ENR = 0 ...

  10. Vue3中的新的内置组件

    在vue2中的内置组件: 动态路由中的 component :作用:动态显示路由的挂载点,使用 is 属性动态显示组件 : keep-alive :作用:使被包裹的组件保留状态,避免被重新渲染 : 路 ...