个人思路:

从小到大排序,因为一定先满足小的,再满足大的。

分组时,我们发现,同一组内的数在排序后的序列内连续,这样更优。因为(不会证)。

我们预处理出对于每个出书数量的答案,查询时直接输出即可。我们发现出书数量越多,满足人数越少,但是不能递推。

如果求出满足前 \(i\) 个时的最多出书数量 \(t_i\),我们就可以反推答案。但是也不能递推。

状态:\(dp_i\) 表示满足前 \(i\) 个时,前 \(i\) 个数最多分为多少组。

转移:

当 \(i < a_i\) 时,显然不能满足。此时 \(dp_i = 0\)。

否则,\(dp_i = \max\limits_{1\le j<i-a_i} dp_j + 1\),我们只需要划分至少 \(a_i\) 个数与 \(i\) 一组,剩下的数尽量多分。

答案:

对于 \(i < a_i\) 时,满足前 \(i\) 个时的最大出书数量 \(t_i\) 即为 \(n - a_i + 1\),即前 \(a_i\) 个分一组,剩余一个一组。

否则,满足前 \(i\) 个时的最大出书数量 \(t_i\) 即为 \(dp_i + n - i\),即前 \(i\) 个分 \(dp_i\) 组,剩余一个一组。

显然,对于 \(i < a_i\) 时,这个答案不一定最优,因为可以和后面的分成一组。于是,我们从右往左遍历,\(t_i \leftarrow \max(t_i, t_{i+1})\)。

反推答案,对于 \(t_{i+1} < p \le t_i\),\(ans_p = i\)。

然后稀里糊涂地过去了。

CF1793E Velepin and Marketing的更多相关文章

  1. Marketing with Microsoft Dynamics CRM IDEA CONFERENCE

    Object:Marketing with Microsoft Dynamics CRM  IDEA CONFERENCE  24 SEPTEMBER 2015 | BROADCAST ONLINE ...

  2. Sitecore Digital Marketing System, Part 1: Creating personalized, custom content for site visitors(自定义SiteCore中的 Item的Personalize的Condition) -摘自网络

    Sitecore’s Digital Marketing System (DMS) can help you personalize the content your site displays to ...

  3. Product Management vs. Product Marketing

    Posted by Marty Cagan on August 28, 2007 Tags: product management, product marketing, program manage ...

  4. 机器学习之分类问题实战(基于UCI Bank Marketing Dataset)

    导读: 分类问题是机器学习应用中的常见问题,而二分类问题是其中的典型,例如垃圾邮件的识别.本文基于UCI机器学习数据库中的银行营销数据集,从对数据集进行探索,数据预处理和特征工程,到学习模型的评估与选 ...

  5. The 4 Essentials of Video Content Marketing Success

    https://www.entrepreneur.com/article/243208 As videos become increasingly popular, they provide the ...

  6. 6 Tools To Jump Start Your Video Content Marketing

    http://www.forbes.com/sites/drewhendricks/2014/10/16/6-tools-to-jump-start-your-video-content-market ...

  7. 今日头条Marketing API小工具(.Net Core版本)

    前言 由于工作原因,需要用到今日头条的Marketing API做一些广告投放的定制化开发.然后看现在网上也没多少关于头条Marketing API的文章,于是便就有了该篇文章. 头条Marketin ...

  8. criteo marketing api 相关

    官网登陆地址:https://marketing.criteo.com/ 官网api介绍:https://marketing.criteo.com/e/s/article?article=360001 ...

  9. facebook api之Marketing API

    General information on the Marketing APIs, access, versioning and more. The main use cases for the M ...

  10. Lingo 做线性规划 - Marketing Applications

    Reference: <An Introduction to Management Science Quantitative Approaches to Decision Making, Rev ...

随机推荐

  1. tcl编程

    目录 0. 基础语法 0.1 普通变量 0.2 list, 列表 0.3 array, 数组 0.4 循环 0.4.1 for 0.4.2 foreach 1. 从命令行获取参数(好像并不是很强大) ...

  2. 论文阅读: CCF A 2022 MVD: 基于流敏感图神经网络的内存相关漏洞检测 (ICSE)

    Motivation: 内存相关漏洞会导致性能下降和程序崩溃,严重威胁到现代软件的安全性. 静态分析方法使用一些预定义的漏洞规则或模式来搜索不正确的内存操作,然而,定义良好的漏洞规则或模式高度依赖于专 ...

  3. Vue2 中keyup.enter触发问题!

    结合Element-UI开发的过程需求需要添加表单的默认Enter事件,但是当文本框或者元素没有获取焦点的时候回车事件未触发: 存在元素输入框修改语句:@keyup.native.enter 如果是f ...

  4. Kubernetes--Pod存活性探测(设置exec探针)

    有不少应用程序长时间持续运行后会逐渐转为不可用状态,并且仅能通过重启操作恢复,Kubernetes的容器存货性探测机制可发现诸如此类的问题,并根据探测结果结合重启策略触发后续的行为.存活性探测是隶属于 ...

  5. 最后的 SPRING

    其核心JAR包spring-web-5.2.0.RELEASE.jar和spring-core-5.2.0.RELEASE.jar的大小均为1.4MB左右 基于工厂模式实现对象的创建 添加了国际化.事 ...

  6. C# 生成二维码方法(QRCoder)

    前言 二维码很多地方都有使用到.如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码. 但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无 ...

  7. 软件工程作业二——gitee

    软件技术基础 https://edu.cnblogs.com/campus/zjlg/22rjjc/homework/12862 这个作业的目标 <运用编程来记录数据> 姓名-学号 < ...

  8. mybatis判断是否为空或null

    <if test="catagoryCode != null and catagoryCode != ''"> AND train.CATAGORY_CODE = #{ ...

  9. Netty实战学习笔记

    第一部分 Netty的概念及体系结构 1.Netty异步和事件驱动 2.你的第一款Netty应用程序 3.Netty的组件和设计 4.传输 5.ByteBuf 6.ChannelHandler和Cha ...

  10. [3] ScanRefer论文精读 3DVisual Grounding开山之作

    论文名称:ScanRefer: 3D Object Localization in RGB-D Scans using Natural Language 这篇文章最主要的工作,我觉得是两个,第一,提出 ...