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 ...
随机推荐
- Angular 18+ 高级教程 – Component 组件 の Dependency Injection & NodeInjector
前言 在 Dependency Injection 依赖注入 文章中,我们学习了 50% 的 Angular DI 知识,由于当时还不具备组件知识,所以我们无法完成另外 50% 的学习. 经过了几篇组 ...
- CSS & JS Effect – Styling Input Radio
原生 Radio 的 Limitation <input type="radio" style="width: 25px; height: 25px; cursor ...
- SQL server temporal table 学习笔记
refer: https://blog.csdn.net/Hehuyi_In/article/details/89670462 https://docs.microsoft.com/en-us/sql ...
- JAVA与.NET DES加密解密
项目需要在两个系统间采用DES加密,一个系统为JAVA开发的,另外一个.Net开发的 在网上找了很多写法但加密出的数据两个系统都无法匹配, 在做了小修改以后终于可以用了,已经测试过 JAVA版本 im ...
- PS安装插件提示无法加载扩展未正确签署 的解决办法
PS安装插件提示无法加载扩展未正确签署解决方式 win系统: 1.打开"运行"窗口(点击电脑左下角"开始"菜单,从打开的菜单中依次点击"所有程序&qu ...
- c++中字符/串->整数
char字符->整数数字:std::isdigit 用于判断某个字符是否为数字(0-9). 字符串->数字:std::stoi 用于将字符转换为整数. int isdigit( int c ...
- 2021年9月国产数据库排行榜-墨天轮:达梦奋起直追紧逼OceanBase,openGauss反超PolarDB再升一位
2021年9月国产数据库排行榜已在墨天轮发布,本月参与排名的数据库总数达到了142个. 一.9月国产数据库流行度排行榜前15名 先来看看排行榜前五名,虽然PingCAP的TiDB分数本月下降31.82 ...
- 2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心
不经一番寒彻骨,怎得梅花扑鼻香. 2022年12月的 墨天轮中国数据库流行度排行榜 火热出炉,本月共有249个数据库参与排名,相比上月新增3个数据库.本月排行榜前十用一句话可以概括为:榜单前十一片红, ...
- vue 的响应式原理
首先,遍历data的数据,通过 Obejct.defineProperty 定义数据,给数据加上 geter 和 setter 函数,获取数据触发 getter函数, 修改数据时触发 setter函数 ...
- 【VMware VCF】更新 VCF 5.1 至 VCF 5.2 版本。
VMware Cloud Foundation(VCF)是一个由众多产品(vSphere.vSAN 以及 NSX 等)所构成的 SDDC 解决方案,这些环境中的不同组件的生命周期统一由 SDDC Ma ...