[BZOJ4664]Count/[JOI Open 2016]摩天大楼

2024-03-16 23:08

本文主要是介绍[BZOJ4664]Count/[JOI Open 2016]摩天大楼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Count / 摩天大楼

题解

简单dp。

然而再想一遍又忘记怎么dp了,这种连续段dp确实很难想

首先发现这道题的贡献是绝对值,有点烦,考虑如何去掉绝对值。
我们可以对 h h h从大到小排序,这样加入 h i h_{i} hi时,已经加入的点会对其产生贡献的一定都比它大,所以我们可以直接加。
考虑每个点加入时会产生怎样的贡献:

  • 如果加入的点单独成段且不靠墙,会令贡献加上 2 h i 2h_{i} 2hi
  • 如果加入的点在某一段的两侧或靠一堵墙将不产生贡献。
  • 如果加入的点两侧全是墙与段,它将起连接两段的作用,会令贡献减去 ( 2 / 1 ) h i (2/1)h_{i} (2/1)hi

于是我们很快就想到了一个dp方法,令 d p i , j , t , k dp_{i,j,t,k} dpi,j,t,k表示到第 i i i大的书,已经成了 j j j段,总贡献为 t t t,靠 k k k堵墙的方案数。
状态转移方程式也很好想。
但这样有个问题,因为贡献这一维带减法,所以它有可能有部分大于 L L L很多,这样空间复杂度就超了。
考虑对贡献的求法进行一下转化。

我们发现加入一个点时会对贡献产生怎样的影响。
假设有 j j j段, k k k堵墙,贡献会受到怎样的影响。由于当前加入的点是一定小于前面点的,所以对于一个段的边缘,直到合并位置,高度都在递减。
而当前插入位置递减的高度与前一本书有关,如果我们以第 i

这篇关于[BZOJ4664]Count/[JOI Open 2016]摩天大楼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817023

相关文章

Open a folder or workspace... (File -> Open Folder)

问题:vscode Open with Live Server 时 显示Open a folder or workspace... (File -> Open Folder)报错 解决:不可以单独打开文件1.html ; 需要在文件夹里打开 像这样

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

Open-Sora代码详细解读(1):解读DiT结构

Diffusion Models专栏文章汇总:入门与实战 前言:目前开源的DiT视频生成模型不是很多,Open-Sora是开发者生态最好的一个,涵盖了DiT、时空DiT、3D VAE、Rectified Flow、因果卷积等Diffusion视频生成的经典知识点。本篇博客从Open-Sora的代码出发,深入解读背后的原理。 目录 DiT相比于Unet的关键改进点 Token化方

error while loading shared libraries: libnuma.so.1: cannot open shared object file:

腾讯云CentOS,安装Mysql时: 1.yum remove libnuma.so.1 2.yum install numactl.x86_64

leetcode#38. Count and Say

The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 12. 113. 214. 12115. 111221 1 is read off as “one 1” or 11. 11 is read off

Open Source, Open Life 第九届中国开源年会论坛征集正式启动

中国开源年会 COSCon 是业界最具影响力的开源盛会之一,由开源社在2015年首次发起,而今年我们将迎来第九届 COSCon! 以其独特定位及日益增加的影响力,COSCon 吸引了越来越多的国内外企业、高校、开源组织/社区的大力支持。与一般企业、IT 媒体、行业协会举办的行业大会不同,COSCon 具有跨组织、跨项目、跨社区的广泛覆盖面,也吸引了众多国内外开源开发者和开源爱好者的关注及参与

实践课堂|2016成都站|报名开始啦!

Hi,QingCloud 的小伙伴们,欢迎参加史上最有营养的云知识讲堂。 QingCloud 实践课堂系列开始于 2014 年末,在深圳、上海、广州、成都、杭州、北京六个城市,QingCloud 的研发工程师们同近千名 CIO 、架构师、开发者、运维工程师……分享了 QingCloud 的技术理念、功能特性和使用技巧,还有来自人民网、融云、泰捷视频、杏树林、友好速搭、百姓网、冰点、顺丰速运、洋葱

kubernetes Pod failed to create fsnotify watcher: too many open files

fs.nr_open: 控制单个进程可以打开的文件描述符的最大数量。单个进程的文件描述符限制可以通过 ulimit 命令来设置。 /proc/sys/fs/nr_open 是一个系统级别的全局参数,表示系统中单个进程能够打开的文件描述符总数的限制。/proc/sys/fs/file-max 系统级别,当前系统可打开的最大数量/etc/security/limits.conf 用户级别,指定用户

LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem

在将几块盘做LVM时,遇到一个之前都没遇到过的问题: root@ubuntu:~# pvcreate /dev/sdc1Can't open /dev/sdc1 exclusively. Mounted filesystem? 首先第一反应就是查看这个分区是否已经在使用了,但是没有。 查看硬盘的一些信息: root@ubuntu:~# cat /proc/partitionsmajo

《Learning To Count Everything》CVPR2021

摘要 论文提出了一种新的方法来解决视觉计数问题,即在给定类别中仅有少量标注实例的情况下,对任何类别的对象进行计数。将计数问题视为一个少样本回归任务,并提出了一种新颖的方法,该方法通过查询图像和查询图像中的少量示例对象来预测图像中所有感兴趣对象的存在密度图。此外,还提出了一种新颖的适应策略,使网络能够在测试时仅使用新类别中的少量示例对象来适应任何新的视觉类别。为了支持这一任务,作者还引入了一个包含