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 ...
随机推荐
- 小tips:...运算符(展开运算符、剩余操作符)
如下例子: 1. var set = new Set([1, 2, 3, 4, 4,4,4,4,2,2,2]) set=[...set] 2. let [head, ...tail] = [1, 2, ...
- Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数
title: Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数 date: 2024/9/14 updated: 2024/9/14 author: cmdragon excerpt: 通 ...
- Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
#!/bin/bash # Cross-compile environment for Android on ARM64 and x86 # # Contents licensed under the ...
- Servlet——xml配置Servlet
XML配置方式编写 Servlet 步骤: 1.编写 Servlet 类 2.在 web.xml 中配置该Servlet
- Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计)
一.Apache Shiro 简介: Apache Shiro提供了认证.授权.加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码.并且在实现此目 ...
- AD域下,没有登录服务器处理登录请求
原因: IP地址配置有问题 或者 DNS : 解决办法: 重新设置 IP地址 和 DNS : 此案例中, 切换到 test 账户(域管理员)后发现 , 未配置 IP地址 和 DNS :
- 将ASD光谱仪的.asd文件转为文本文件
本文介绍基于ViewSpec Pro软件,将ASD地物光谱仪获取到的.asd格式文件,批量转换为通用的.txt文本格式文件的方法. ASD光谱仪是英国Malvern Panalytical公司 ...
- Linux系统启动速度优化工具systemd-analyze
systemd-analyze简介 systemd-analyze是Linux自带的分析系统启动性能的工具. systemd-analyze可使用的命令: systemd-analyze [OPTIO ...
- pytorch: grad can be implicitly created only for scalar outputs
运行这段代码 import torch import numpy as np import matplotlib.pyplot as plt x = torch.ones(2,2,requires_g ...
- 干货必收藏!墨天轮最受DBA欢迎的250份学习文档合集
作为一个DBA,必须要精通SQL命令.各种数据库架构.数据库管理和维护.数据库调优,必要的时候,还需要为开发人员搭建一个健壮.结构良好.性能稳定的数据库环境. 技术也是不断进步的,社会的发展要求DBA ...