25年2月

news/2025/2/21 22:06:22/文章来源:https://www.cnblogs.com/BYR-KKK/p/18726700

学习草八牛。

AGC040E

致远 dp 入门题。

操作是给某个前缀加上一个不降非负序列,或者给某个后缀加上一个不升非负序列。考虑若只有一个操作(不妨是前者),此时的操作次数就是极长不降子段的数量。证明考虑这是一个显然的上界,同时观察到不可能一次缩掉两个段,因此这也是一个下界。对于第二个操作答案就是极长不升子段数量。

根据致远 dp,我们考虑两个操作分开处理,即拆分 \(a_i=p_i+q_i\),答案为 \(p_i\) 的不降子段数量加上 \(q_i\) 的不升子段数量。这很好设计 dp,\(f_{i,j}\) 代表令 \(p_i=j\) 后前 \(i\) 个数的答案,转移:

\[f_{i,j}=\min\limits_{k=0}^{a_{i-1}}f_{i-1,k}+[k>j]+[a_{i-1}-k<a_i-j] \]

直接做是 \(O(n^2)\) 的,类似 slope trick(?),找一些这个 dp 的性质。首先对于某一个 \(f_i\),其本身具有单调性。同时有 \(f_{i,a_i}\le f_{i,0}+2\),因此直接维护 dp 取值相同的三段即可。时间复杂度 \(O(n)\)

P4597

妄图通过这题简单认识 slope trick。

首先我们需要知道 slope trick 解决的问题中函数具有的性质:凸、连续、分段一次函数、斜率不大。接下来从这道题开始认识 slope trick。

首先一个暴力的 dp 是 \(f_{i,j}=\min\limits_{k\le j}f_{i-1,k}+|a_i-j|\)\(f_i\) 是下凸的,这很好证,两个下凸的函数加起来还是下凸的,取 \(\min\) 操作只是将原来的下凸壳从最小值开始的斜率改成 \(0\)。对于这个下凸函数我们维护斜率的变化点,对于每条线段,我们在堆里放入若干个变化点的横坐标,使得线段的斜率是将变化点完全从堆里弹出次数的相反数。接下来的操作将围绕变化点进行,我们需要知道几件事实:

  • 线段加上一个绝对值函数,若线段在顶点左侧则斜率 \(-1\),否则斜率 \(+1\)

考虑 \(f_{i-1}\) 的下凸壳,以及最小值横坐标 \(op\)。考虑 \(f_i\) 的下凸壳形态:

  • \(a_i\ge op\),此时答案不会发生改变,同时前面的所有线段都应斜率 \(-1\),于是我们在堆中插入 \(a_i\)。归纳法可以证明 \(a_i\) 后面的斜率为 \(1\)

  • \(a_i<op\),首先需要注意到该题的 \(f_i\) 中斜率的变化量总为 \(1\)(证明有点太难了吧)。后面感觉写不下去了,看 dwt 的吧!link。

CF1383E

找一些性质不难发现等价于可以删去原序列的一些数,其中一个极长全为 \(1\) 的段不能被删空,求能得到多少不同的序列。考虑判定,显然是前缀 \(0\) 匹配前缀 \(0\),后缀 \(0\) 匹配后缀 \(0\),同时对 \(1\) 的段做贪心匹配,在原序列上维护一个类似子序列自动机的东西即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887186.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

任务管理智能化:重塑工作方式的必备工具

智能任务管理工具是一类能够自动化处理任务分配、进度跟踪、团队协作等任务管理活动的软件。这类工具通常利用先进的算法和人工智能技术,帮助用户更高效地完成项目管理、日常任务规划等工作。以下是一些知名的智能任务管理工具及其特点: 一、板栗看板 ● 简介:一款智能驱动的…

猿大师播放器:智慧安防网页播放RTSP H.265实时监控革命,无需转码终极解决方案

一、智慧安防的致命瓶颈:当传统技术拖累生命安全在智慧城市、工业安全、应急指挥等场景中,实时视频监控是守护生命与财产的核心防线。然而,传统RTSP播放方案在延迟、成本、稳定性上的缺陷,正在成为安防系统的“阿喀琉斯之踵”。1. 服务器转码方案:实时监控的“致命延迟”3…

WSL2走主机IP地址代理的方式

前言 工作需求导致需要使用到WSL2,git的时候出现网络原因无法拉取。故记录一下走完整个WSL2代理的流程 WSL1 和 WSL2 网络的区别 在 WSL1 时代,由于 Linux 子系统和 Windows 共享了网络端口,所以访问 Windows 的代理非常简单。例如 Windows 的代理客户端监听了 8000 端口,那…

「渲染101」开启 UE 渲染的高效之门

在 UE 项目制作中,渲染往往耗时费力。云渲染技术的出现带来转机,其中渲染 101 凭借诸多优势脱颖而出。性价比高到离谱 成本真的是选择云渲染平台的关键!3090 显卡原价 7 元 / 小时,充值优惠后居然能低至 3.5 元 / 小时;4090 显卡原价 11 元 / 小时,最低只要 5.5 元 / 小时…

TidGi 太记 v0.12.0 高效管理工具

软件介绍 TTidGi 是一个基于「太微 TiddlyWiki」的知识管理桌面应用,能够保护隐私内容、高级自动化、自动Git云备份、部署为博客,并且可以通过RESTAPI与Anki等应用连接。旨在帮助用户更好地管理时间、提高工作效率和组织任务。无论是个人使用还是团队协作,TidGi 都能提供灵活…

IDM Internet Download Manager下载神器

软件介绍 Internet Download Manager (简称IDM) 是一款Windows 平台功能强大的多线程下载工具,国外非常受欢迎。支持断点续传,支持嗅探视频音频,接管所有浏览器,具有站点抓取、批量下载队列、计划任务下载,自动识别文件名、静默下载、网盘下载支持等功能。 软件截图下载地…

哪吒2制作幕后揭秘:可可豆动画如何高效协作打造顶级动画?

近期,国产动画电影《哪吒2》引爆市场,成为观众热议的焦点。作为《哪吒之魔童降世》的续作,《哪吒2》不仅延续了前作的精良制作与深刻内涵,更在视觉效果和故事叙事上实现了全面升级。而这一切的背后,离不开制作团队——可可豆动画的高效协作与精益求精的创作态度。可可豆动…

GPU-Z v2.62.00 显卡识别检测工具,用于检测和测试GPU性能,中文汉化版

软件介绍 TechPowerUp GPU-Z中文版是一款知名的显卡识别软件,用于检测和测试GPU性能的专业工具。最新版的GPU-Z提供了关于GPU图形显卡和CPU处理器的详细硬件信息。该软件以单个可执行文件形式提供,绿色便携,无需安装。界面直观简洁,带有启动向导,运行后显示GPU核心频率、传…

项目管理神器:精选工程管理工具大盘点

板栗看板作为一款工程管理软件,在项目管理、任务协同、知识笔记以及个人待办等多个方面展现出其独特的优势。以下是对板栗看板在工程管理方面的详细分析: 一、核心功能 任务可视化管理 ○ 板栗看板采用可视化的看板系统,用户可以将任务以卡片的形式展示在看板上,并轻松拖动…

使用 CloudDM 和飞书流程化管理数据库变更审批

CloudDM 是一个专为团队协同工作打造的数据库数据管控平台。在管控数据库安全变更的过程中,为提高效率,方便用户使用,CloudDM 接入了主流 OA 协同办公系统(包括钉钉、飞书、企业微信),支持实时通知与移动办公,满足广大企业用户的实际需求。 本文将介绍如何使用 CloudDM …

Joker 智能开发平台:低代码开发的革新力量

在软件开发领域,开发效率与灵活性始终是开发者们追求的核心目标。随着技术的迅猛发展,低代码开发平台逐渐成为行业焦点,而 Joker 智能开发平台凭借其卓越的性能和创新的功能,脱颖而出,为开发者们带来了前所未有的开发体验。 一、产品概述 Joker 智能可视化开发平台是一款…

解决Unreal Engine使用third party libwebsockets无法连接问题

背景 使用libwebsockets开发了一个SDK,用于建立和服务器的连接,并就接受服务器的推送消息,使用的版本是4.3.3的tag。UE版本是5.3.2 以动态库的方式接入整体SDK,SDK链接了静态的libwebsockets,在qt demo运行良好,但是在接入Unreal Engine demo的时候出现问题。 使用的IDE为…