萌新6:临场发挥(区间dp)
题目描述
小x和室友总共 nnn 人,组团去打一款游戏,总共有 nnn 台电脑供他们使用,一人一台,最开始,第 iii 个人使用第 iii 台电脑。
小x评估了每个人的能力值和临场发挥值。
第 iii 个人的能力值为 aia_iai。
而他们的临场发挥值由能力值和他们所使用的电脑决定。
小x和他的室友喜欢换来换去。
他们惊奇的发现:如果第 iii 个人从第 xxx 台电脑换到了第 yyy 台电脑,那么第 iii 个人的临场发挥值会增加 ∣x−y∣∗ai|x-y|*a_i∣x−y∣∗ai。
现在他们可以重新任意分配一次电脑。
小x想知道他们的临场发挥值最多会增加多少?
输入描述:
第一行一个整数 nnn (2≤n≤2000)(2 \leq n \leq 2000)(2≤n≤2000)。第二行 nnn 个整数 a1,a2,……,ana_1,a_2,……,a_na1,a2,……,an (1≤ai≤109)(1 \leq a_i \leq 10^9)(1≤ai≤109)。
输出描述:
一个整数,表示 临场发挥值 最大增加的数量
示例1
输入
复制4 1 3 4 2
4 1 3 4 2
输出
复制20
20
说明
假设第 iii 个人的位置为 cic_ici,从 [1,2,3,4][1,2,3,4][1,2,3,4] 更换为 [3,4,1,2][3,4,1,2][3,4,1,2],临场发挥值增加: 1×∣1−3∣+3×∣2−4∣+4×∣3−1∣+2×∣4−2∣=201 \times |1-3|+3 \times |2-4|+4 \times |3-1|+2 \times |4-2|=201×∣1−3∣+3×∣2−4∣+4×∣3−1∣+2×∣4−2∣=20
示例2
输入
复制6 8 6 9 1 2 1
6 8 6 9 1 2 1
输出
复制85
85
做法
首先要看出来一个贪心的小结论。就是就是能力值大的,应该放在两边,反之放中间。
#include<bits/stdc++.h>
#define int long long
using namespace std;int n;
pair<int,int> a[2010];
int dp[2010][2010];signed main(){scanf("%lld",&n);for(int i=1;i<=n;i++) {int b;scanf("%lld",&b);a[i]={b,i};}sort(a+1,a+1+n);for(int i=1;i<=n;i++){//枚举区间长度和每次取出的数int b=a[i].first,id=a[i].second;for(int l=1;l<=n-i+1;l++){//枚举每个长度i的区间,求最大值int r=l+i-1;dp[l][r]=max(dp[l][r-1]+abs(id-r)*b,dp[l+1][r]+abs(id-l)*b);//b放右边和左边}}cout<<dp[1][n];}
相关文章:
萌新6:临场发挥(区间dp)
题目描述 小x和室友总共 nnn 人,组团去打一款游戏,总共有 nnn 台电脑供他们使用,一人一台,最开始,第 iii 个人使用第 iii 台电脑。 小x评估了每个人的能力值和临场发挥值。 第 iii 个人的能力值为 aia_iai。 而他们…...
《数字信号处理》学习04-离散时间系统中的线性时不变系统
目录 一,系统及离散时间系统 二,离散时间系统中的线性时不变系统 1,线性系统 1) 可加性 2) 比例性(齐次性) 3)叠加原理(叠加性质) 2,时不变系统(移不变系统) 通过前几篇文章的学习,此时我对序列的相关概…...
ABAP 调试宏DEFINE
文章目录 调试过程完整程序 调试过程 完整程序 REPORT Z_TEST_DEFINE.TYPES: BEGIN OF GTY_DATA,NAME TYPE STRING,AGE TYPE I,END OF GTY_DATA. DATA: GS_DATA TYPE GTY_DATA,GT_DATA TYPE TABLE OF GTY_DATA. DEFINE D_TEST.GS_DATA-NAME &1.GS_DATA-AGE &2.APPE…...
Golang | Leetcode Golang题解之第393题UTF-8编码验证
题目: 题解: const mask1, mask2 1 << 7, 1<<7 | 1<<6func getBytes(num int) int {if num&mask1 0 {return 1}n : 0for mask : mask1; num&mask ! 0; mask >> 1 {nif n > 4 {return -1}}if n > 2 {return n}r…...
HarmonyOS开发实战( Beta5.0)DevEco Device Tool开发环境搭建实践
通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3516、Hi3518系列开发板。…...
WIFI贴项目到底是不是“骗局”呢?由我来揭秘!
各位亲爱的朋友们,大家好!我是你们的老朋友鲸天科技千千,一直在这片互联网的热土上耕耘。相信你们对我都不会陌生,因为我常常分享一些互联网上的新奇项目和实用技巧。如果你对我的内容感兴趣,别忘了点个关注哦…...
C++ string类—string修饰符、操作、非成员函数
一、Modifiers(修饰符): 1、operator 这个成员函数给一个string类类型的对象进行追加,在现有的string后面追加string类、字符串或者字符; 代码示例: void test1() {std::string s1("Hello ");…...
PVN3D(一)代码框架
在windows上配置pvn3d的环境一直配不成功,主要卡在了与C联合编译上,不知道如何处理了。索性先看看代码,竟然发现与论文中的代码对应上了。希望这一段时间把环境配置好。 1.论文中的网络结构 1.RGB图像特征,通过CNN提取特征。深度…...
「OC」剪不断,理还乱——UIResponder、UIGestureRecognizer、UIControl的响应优先级探究
「OC」剪不断,理还乱——UIResponder、UIGestureRecognizer、UIControl的响应优先级探究 文章目录 「OC」剪不断,理还乱——UIResponder、UIGestureRecognizer、UIControl的响应优先级探究前言介绍UIResponderUIGestureRecognizerUIControl 正文UIGestur…...
GitHub Copilot的详细介绍
目录 主要功能: 示例用法: GitHub Copilot 的优缺点: 优点: 缺点: 如何使用 GitHub Copilot? 总结: GitHub Copilot 是一种基于人工智能的编程助手,由 GitHub 和 OpenAI 联合…...
opencv之阈值处理
文章目录 1. 阈值处理2. 阈值处理的基本原理3. 常见的阈值处理方法3.1 全局阈值(Global Thresholding):3.2 自适应阈值(Adaptive Thresholding):3.2.1 工作原理3.2.2 工作步骤3.2.3 适用场景3.2.4 优缺点自适应阈值的优点自适应阈…...
oracle startup失败,ORA-01078: failure in processing system parameters
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file /data/oracle/product/11.2.0/db_1/dbs/initorc1.ora 出错的原因可能是:文件名字不正确,文件权限不对,文件不存在&#x…...
【python因果推断库7】使用 pymc 模型的工具变量建模 (IV)2
目录 与普通最小二乘法 (OLS) 的比较 应用理论:政治制度与GDP 拟合模型:贝叶斯方法 多变量结果和相关性度量 结论 与普通最小二乘法 (OLS) 的比较 simple_ols_reg sk_lin_reg().fit(X.reshape(-1, 1), y)print("Intercept:", simple_ols_…...
【2024数模国赛赛题思路公开】国赛B题思路丨附可运行代码丨无偿自提
2024年国赛B题解题思路 问题 1: 抽样检测方案设计 【题目分析】 分析: 目标是设计一个高效的抽样检测方案,在尽量少的样本数量下,确保在高信度水平下做出正确的接受或拒收决策。需要处理两个不同的信度要求,这对样本量的计算提…...
智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序(KNN分类器)
智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序(KNN分类器) 文章目录 一、基本原理原理流程举个例子总结 二、实验结果三、核心代码四、代码获取五、总结 智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序&#x…...
使用udp进行通信
UDP chat 头文件 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <time…...
C#上位机使用Microsoft.Office.Interop.Excel和EPPlus库对Excel或WPS表格进行写操作
C#上位机使用Microsoft.Office.Interop.Excel和EPPlus库对Excel或WPS表格进行写操作 一、使用Microsoft.Office.Interop.Excel库 1、通过NuGet包管理器添加引用 按照下图中红框所示进行操作。 需要安装Microsoft.Office.Interop.Excel包 添加Microsoft Office 16.0 Object …...
java重点学习-redis
一.redis 穿透无中生有key,布隆过滤nul隔离 锁与非期解难题。缓存击穿过期key, 雪崩大量过期key,过期时间要随机。 面试必考三兄弟,可用限流来保底。 1.1 Redis的使用场景 根据自己简历上的业务进行回答 缓存穿透、击穿、雪崩、双…...
每日刷题(图论)
P1119 灾后重建 P1119 灾后重建 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 看数据范围知道需要用到Floyd算法,但是道路是不能直接用的,需要等到连接道路的两个村庄重建好才可以使用,所以这需要按照时间依次加入中转点,…...
Requestium - 将Requests和Selenium合并在一起的自动化测试工具
Requests 是 Python 的第三方库,主要用于发送 http 请求,常用于接口自动化测试等。 Selenium 是一个用于 Web 应用程序的自动化测试工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 本篇介绍一款将 Requests 和 Seleniu…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
【多线程初阶】单例模式 指令重排序问题
文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...
LTR-381RGB-01RGB+环境光检测应用场景及客户类型主要有哪些?
RGB环境光检测 功能,在应用场景及客户类型: 1. 可应用的儿童玩具类型 (1) 智能互动玩具 功能:通过检测环境光或物体颜色触发互动(如颜色识别积木、光感音乐盒)。 客户参考: LEGO(乐高&#x…...
Linux 中替换文件中的某个字符串
如果你想在 Linux 中替换文件中的某个字符串,可以使用以下命令: 1. 基本替换(sed 命令) sed -i s/原字符串/新字符串/g 文件名示例:将 file.txt 中所有的 old_text 替换成 new_text sed -i s/old_text/new_text/g fi…...
Java毕业设计:办公自动化系统的设计与实现
JAVA办公自动化系统 一、系统概述 本办公自动化系统基于Java EE平台开发,实现了企业日常办公的数字化管理。系统包含文档管理、流程审批、会议管理、日程安排、通讯录等核心功能模块,采用B/S架构设计,支持多用户协同工作。系统使用Spring B…...
