CF 3000+
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+的更多相关文章
- 【CF528E】Triangles 3000(计算几何)
[CF528E]Triangles 3000(计算几何) 题面 CF 平面上有若干条直线,保证不平行,不会三线共点. 求任选三条直线出来围出的三角形的面积的期望. 题解 如果一定考虑直接计算这个三角形 ...
- CF528E Triangles 3000
cf luogu 既然要求三角形面积,不如考虑三角形的面积公式.因为是三条直线,所以可以考虑利用三个交点来算面积,如果这个三角形按照逆时针方向有\(ABC\)三点,那么他的面积为\(\frac{\ve ...
- CF #575 Div3
// 比赛链接:https://codeforces.com/contest/1196 // CF 2019.7.24 // 本想Div3手速场上分,结果卡在C题,掉了不少分. // 自闭了这么久,今 ...
- CF#581 (div2)题解
CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include< ...
- 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 ...
- 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 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
随机推荐
- JavaScript中class的静态属性和静态方法
我们可以把一个方法赋值给类的函数本身,而不是赋给它的 "prototype" .这样的方法被称为 静态的(static). 例如这样: class Animal { static ...
- Goby 漏洞发布|泛微 e-cology v10 appThirdLogin 权限绕过漏洞【漏洞复现】
漏洞名称:泛微 e-cology v10 appThirdLogin 权限绕过漏洞 English Name:Weaver e-cology v10 appThirdLogin Permission ...
- 以太坊Rollup方案之 arbitrum(1)
什么是Rollup? 以太坊的Rollup扩容是一种Layer 2(第二层)扩容解决方案,旨在提高以太坊区块链的交易吞吐量和性能.它通过将大量的交易数据转移到以太坊区块链之外的第二层网络来实现这一目标 ...
- Visual Studio & VS Code
前言 会写这篇是因为想记入一个 bug. 随便以后记入一些 Visual Studio 和 VS Code 相关的冬冬呗. 当 VS Code Hot Reload 遇上 View Component ...
- A Proof of Golden Section of Fibonacci Sequence
Update on 2024/6/25 10:40 (UTF+8) : Add the Part Five and correct some words Hello, I'm glad to show ...
- 自我介绍&博客指南&博客更新日志
自我介绍 目前高中在读生 专用网名:Alloverzyt,端木 傲 忍 入站必读: 我所爱之人,敬祝 本人博客及动态免责声明 学历简述:成都市棕北小学,成都市石室联合中学,成都市石室中学 博客指南 本 ...
- 【赵渝强老师】Redis的RDB持久化
Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF (Append-only file) ...
- AndroidQ 打通应用层到HAL层---(HIDL服务实现)
什么是HIDL HIDL 全称为HAL interface definition language(发音为"hide-l")是用于指定 HAL 和其用户之间的接口的一种接口描述语言 ...
- Linux+PXE+DHCP+TFTP+NFS实现无人值守安装
一.实验环境:OS:Redhat6.4软件:DHCP服务.TFTP服务.NFS服务硬件:Dell R630服务器两台物理连接图: em1 em1 二.工作原理:服务器通过PXE网卡启动,从dhcp服务 ...
- 云原生周刊:K8s 中的服务和网络 | 2024.4.29
开源项目推荐 k8s-image-swapper k8s-image-swapper 是 Kubernetes 的一个变更 Webhook,它将镜像下载到自己的镜像仓库,并将镜像指向该新位置.它是 d ...