【经典线性 DP】数组最小间隔为k的和值最大 | 河北省赛 7-8 H-信号传输

简介: 笔记

题目描述


10.png

输入格式

11.png

输出格式

输出一行仅一个整数,表示建造的信号传输通道最大的优质指数。如果无解,输出-1。


输入样例:


11 12
1 2 1 2 6 2 1 2 1 2 1


输出样例:


2


题意


在不低于 W WW 的满意度下,使得两信号站之间距离最大。


即:给你一个数组,选 x xx 个位置之和 ≥ W \geq W≥W,求相邻两位置的间隔的最大值。


思路



12.png

代码:


int n, w;
int a[N], f[N];
bool check(int x) {
  memset(f, 0, sizeof f);
  for (int i = 1; i <= n ;i++) {
    f[i] = f[i - 1];
    if (i >= x && i <= n - x + 1)
      f[i] = max(f[i], f[i - x] + a[i]);
  }
  return f[n] >= w;
}
void solve() {
  cin >> n >> w;
  int sum = 0;
  for (int i = 1; i <= n; i++) cin >> a[i], sum += a[i];
  if (sum < w) { cout << -1 << endl; return ; } // 特判 -1
  if (w == 0) { cout << n + 1 << endl; return ; } // 特殊的 w==0
  int l = 1, r = n;
  while (l < r) {
    int mid = l + r + 1 >> 1;
    if (check(mid)) l = mid;
    else r = mid - 1;
  }
  cout << l << endl; 
}
相关文章
|
9月前
|
人工智能 JSON 前端开发
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
|
9月前
|
XML Java 数据库
探索 Spring Boot 中的 @Configuration 注解:核心概念与应用
【4月更文挑战第20天】在 Spring Boot 项目中,@Configuration 注解扮演了一个关键角色,它标识一个类作为配置源,这些配置用于定义和管理 Spring 应用程序中的 Bean
1256 7
|
4月前
|
机器学习/深度学习 调度 计算机视觉
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
本文探讨了多种学习率调度策略在神经网络训练中的应用,强调了选择合适学习率的重要性。文章介绍了阶梯式衰减、余弦退火、循环学习率等策略,并分析了它们在不同实验设置下的表现。研究表明,循环学习率和SGDR等策略在提高模型性能和加快训练速度方面表现出色,而REX调度则在不同预算条件下表现稳定。这些策略为深度学习实践者提供了实用的指导。
129 2
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
|
9月前
|
运维 监控 项目管理
运维工程师的出路到底在哪里?—— 浅谈运维工程师前景
运维工程师的出路到底在哪里?—— 浅谈运维工程师前景
866 3
|
9月前
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
32686 2
详解HTTP四种请求:POST、GET、DELETE、PUT
|
机器学习/深度学习 自然语言处理 网络性能优化
|
机器学习/深度学习 算法 前端开发
从k折到自助法:常用交叉验证方法的优缺点
为了评估和改进机器学习(ML)算法的可靠性和泛化能力,交叉验证已被广泛采用[1]。交叉验证是一种在有限数据集上评估和比较不同模型性能的方法,其通过分割数据集为训练集和测试集以验证模型的性能。通过使用交叉验证,研究人员可以避免对单一实验的依赖,因此可以更好地评估模型的泛化能力。
2802 0
|
SQL NoSQL 关系型数据库
【并发】高并发下库存超卖问题如何解决?
【并发】高并发下库存超卖问题如何解决?
2770 0
|
Java 容器 Spring
【SpringBoot】浅谈向容器注入Bean有几种方式
SpringBoot的核心之一是通过IOC容器管理各个bean对象,前几天看到一个大厂面试题问向Spring容器中注入bean有哪几种方式,今天整理了下跟大家分析一波。
697 0

热门文章

最新文章