个人思路:

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

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

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

如果求出满足前 \(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. SAP MD04屏幕显示增强

    需求 在看物料MRP结果的时候,业务人员想要看到工单批次,工单批次是我们这边工单下达后传输到其他系统,然后由其他系统回传回来的. 开发步骤 主要使用二代增强出口:M61X0002 创建增强项目 事务码 ...

  2. 如何利用fooview实现钉钉自动打卡

    我们平常遇到需要钉钉打卡的那种公司,经常要抢时间不敢晚起,有的公司还要扣钱,这样就很难受.本文教你一种行之有效的办法实现钉钉自动打卡. 有些人可能会用什么虚拟定位之类的工具,但是这种是很容易被钉钉发现 ...

  3. JavaSE——String

    String类概述 String 类代表字符串,Java 程序中的所有字符串文字(例如"abc")都被实现为此类的实例.也就是说,Java 程序中所有的双引号字符串,都是 Stri ...

  4. 四、流程控制、break、continue、return

    一. 程序流程控制概述 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 流程控制方式采用结构化程序设计中规定的只有三种基本流程结构,即:1.顺序结构程序 ...

  5. feign返回值解决反序列化对象嵌套List失败的问题

    文摘 问题描述 当用feign client远程调用时,返回的复杂对象反序列化报错. 错误信息: Caused by: com.fasterxml.jackson.databind.exc.Misma ...

  6. nginx 同一个域名根据后缀不同访问不同的项目

    server { listen 80; server_name bcgx.work; location / { index login.html login.htm index.php; root / ...

  7. uni-app --vue3--TypeScript 微信小程序开发

    微信小程序开发文档: https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.html#%E7%9 ...

  8. js array map

      var user = ['Alice', 'Emily', 'Kate'];       console.log(user);      var keys = user.keys(); for ( ...

  9. 事务与spring事务

    事务 事务的特性(ACID) 原子性(Atomicity): 标识将事务中所有的操作进行捆绑层一个不可分割的单元格,计对事务所有进行的数据库修改等操作,要么全部执行,要么就是全部失败隔离性(Isola ...

  10. source insight c++ namespace 无法跳转解决方法

    source insight c++ namespace 无法跳转解决方法 2016年02月15日 11:47:35 暗小夜 阅读数:4460   勾选igore namespace declarat ...