2023NOIP A层联测9 T3 天竺葵

题面及数据范围

Ps:连接为accoderOJ。

看题大概是一个最长上升子序列的带权版本,于是想到 dp。

设 \(dp[i][j]\) 为到第 \(i\) 项,选出 \(j\) 个数的 \(c_j\) 最小值,不难想到转移:

\[dp[i][j]=\min(dp[i-1][j],a[i]\ (a[i]>dp[i-1][j]*b[j])\ )
\]

若任意 \(b_i>1\) ,那么答案长度不超过 \(50\) 个(每次 \(c_i\) 都要比至少 \(c_{i-1}*b_{i-1}\) 大,而 \(b_i-1\) 大于 \(1\) 所以可以很快接近 \(a_i\) 的上限)。

进一步,发现 \(dp[i]\) 具有随 \(j\) 上升的单调性,所以把 \(dp[i]\) 通过 \(a[i]\) 分为两部分,第一部分 \(dp[i][j]\) 均小于 \(a[i]\),第二部分 \(dp[i][j]\) 均大于等于 \(a[i]\)。

那么对于小于 \(a[i]\) 的那一部分 \(dp[i][j]\) 根据转移方程肯定等于 \(dp[i-1][j]\),对于大于等于的那一部分 \(dp[i][j]\) 除第一个位置外,其他的位置的 \(dp[i][j]*b[j]\) 一定有 \(a[i] \leq dp[i][j]*b[j]\),所以可以更新的位置只有一个,那么每次更新一个位置即可。

CODE

#include<bits/stdc++.h>
using namespace std; #define int long long const int maxn=1e6+5; int n,ans;
int a[maxn],f[maxn],b[maxn]; signed main()
{
scanf("%lld",&n);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
for(int i=1;i<=n;i++) scanf("%lld",&b[i]); memset(f,0x7f,sizeof(f));
for(int i=1;i<=n;i++)
{
int pos=lower_bound(f+1,f+n+1,a[i])-f;
if(a[i]>b[pos-1]*f[pos-1]) f[pos]=min(f[pos],a[i]);
} for(int i=1;i<=n;i++) if(f[i]!=f[0]) ans=i;
printf("%lld",ans);
}

2023NOIP A层联测9 T3 天竺葵的更多相关文章

  1. MySQL Nested-Loop Join算法学习

    不知不觉的玩了两年多的MySQL,发现很多人都说MySQL对比Oracle来说,优化器做的比较差,其实某种程度上来说确实是这样,但是毕竟MySQL才到5.7版本,Oracle都已经发展到12c了,今天 ...

  2. Windows网络驱动、NDIS驱动(微端口驱动、中间层驱动、协议驱动)、TDI驱动(网络传输层过滤)、WFP(Windows Filtering Platform)

    catalog . 引言 . Windows 2000网络结构和OSI模型 . NDIS驱动 . NDIS微端口驱动编程实例 . NDIS中间层驱动编程实例 . NDIS协议层驱动编程实例 . TDI ...

  3. Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程

    最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...

  4. [转]oracle分页用两层循环还是三层循环?

    select t2.* from --两层嵌套 (select t.* , rownum as row_numfrom t where rownum <=20) t2 where t2.row_ ...

  5. Caffe提取任意层特征并进行可视化

    现在Caffe的Matlab接口 (matcaffe3) 和python接口都非常强大, 可以直接提取任意层的feature map以及parameters, 所以本文仅仅作为参考, 更多最新的信息请 ...

  6. Django 模型层(标签、过滤器、模板的继承与导入)

    过滤器/自定义过滤器 模板语法中的过滤器类似于python中的内置方法,在我们把数据从后端通过rander传入到前端html文件中之后,在前端我们可以通过模板语法,对传入的数据再进行以通骚操作. 首先 ...

  7. Django 你需要掌握的模型层(标签、过滤器、模板的继承与导入)

    Django 模型层(标签.过滤器.模板的继承与导入) 好文章来自超哥:https://www.cnblogs.com/guanchao/p/11006062.html   过滤器/自定义过滤器 模板 ...

  8. Django模型层1

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 ...

  9. 4.26 省选模拟赛 T3 状压dp 差分求答案

    LINK:T3 比较好的题目 考试的时候被毒瘤的T2给搞的心态爆炸 这道题连正解的思路都没有想到. 一看到题求删除点的最少个 可以使得不连通. 瞬间想到最小割 发现对于10分直接跑最小割即可. 不过想 ...

  10. 【企业流行新数仓】Day02:DWS层(按日分区的宽表)、DWT层(全量累计表)、ADS层、总结

    一.DWS层 1.概括 dwd层的数据,每日轻度聚合,建宽表 表名 粒度 dws_uv_detail_daycount 一个设备是一行 dws_user_action_daycount(只统计今天登录 ...

随机推荐

  1. 基于 Quanto 和 Diffusers 的内存高效 transformer 扩散模型

    过去的几个月,我们目睹了使用基于 transformer 模型作为扩散模型的主干网络来进行高分辨率文生图 (text-to-image,T2I) 的趋势.和一开始的许多扩散模型普遍使用 UNet 架构 ...

  2. docker高级篇第二章-分布式存储之实战案例:主从容错切换迁移案例

    在上一篇,学会了3主3从的Redis集群搭建.那么接下来,我们就来学习Redis集群主从容错切换迁移案例 本次案例从模拟两个场景 1:数据读写存储 a:一个新key数据来了,是否会按照预设的进入槽中? ...

  3. 【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢

    问题现象 某客户环境,客户的业务使用jdbc驱动向其他操作系统上的yashandb插入90万条数据,耗时大约30分钟. 问题的风险及影响 影响客户的业务处理效率 问题影响的版本 所有的yashandb ...

  4. 【YashanDB知识库】服务端是GBK编码,导致从22.2.12.100升级到22.2.13.100失败问题

    问题现象 问题单:22.2.12.100升级到22.2.13.100失败 现象:如下图,从22.2.12.100升级到22.2.13.100失败,报错. 问题风险及影响 版本升级失败,影响上线 问题发 ...

  5. 小tips: HTTP 请求过程示例图及名称解释

    一个 HTTP 请求过程示例图: 一个 HTTP 请求需要经历以上过程,接下来看一个具体的例子: 名词解释: Queueing: 在请求队列中的时间. Stalled: 从TCP 连接建立完成,到真正 ...

  6. Asp.net core 学习笔记 Image processing (ImageSharp)

    请移步修订版 : ASP.NET Core Library – ImageSharp .net 的生态烂是真的, 很多硬需求都没有人做, 开源的做着做着就闭源了的也很多. 今天说说 image pro ...

  7. linux、unix软链接注意事项

    前言 在使用linux过程中,经常使用到软链接(类似windows快捷方式): 创建软链接之后,删除时不注意就会出现到问题 先说结论 删除软链接,确实是使用rm进行删除:但是有个小细节必须要特别注意! ...

  8. (九)Redis 哨兵机制与集群

    主从复制中,如果从库发生故障了,客户端可以继续向主库或其他从库发送请求,但是如果主库发生故障了肿么办呢?读请求,那还可以由从库继续提供服务,写请求就么得办法了.此时,哨兵机制就登场了,解决3个问题: ...

  9. markdown公式关系符

  10. NeuVector 会是下一个爆款云原生安全神器吗?

    近日一则<SUSE 发布 NeuVector:业内首个开源容器安全平台>的文章被转载于各大 IT 新闻网站.作为 SUSE 家族的新进成员,在 3 个月后便履行了开源承诺,着实让人赞叹.那 ...