蓝桥杯-线性动态规划问题背包问题进阶策略详解-奇怪的段

0奇怪的段【算法赛】 - 蓝桥云课 (lanqiao.cn)

基础dp:

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;const int N=1e5+6;typedef long long ll;ll f[N][206];
ll a[N];
ll sum[N];
ll p[206];
int n,k;int main(){cin>>n>>k;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);sum[i]=sum[i-1]+a[i];}memset(f,-0x3f,sizeof f);f[0][0]=0;for(int i=1;i<=k;i++) scanf("%lld",&p[i]);for(int i=1;i<=n;i++){for(int j=1;j<=k;j++){for(int k=0;k<=i-1;k++){f[i][j]=max(f[i][j],f[k][j-1]+(sum[i]-sum[k])*p[j]);}}} cout<<f[n][k];return 0;
}

优化过程:

优化的后的dp:

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;const int N=1e5+6;typedef long long ll;ll f[N][206];
ll a[N];
ll sum[N];
ll p[206];
int n,k;int main(){cin>>n>>k;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);sum[i]=sum[i-1]+a[i];}memset(f,-0x3f,sizeof f);f[0][0]=0;for(int i=1;i<=k;i++) scanf("%lld",&p[i]);for(int i=1;i<=n;i++){for(int j=1;j<=k;j++){f[i][j]=max(f[i-1][j]+p[j]*a[i],f[i-1][j-1]+a[i]*p[j]);}} cout<<f[n][k];return 0;
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/701381.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 和Java 哪个更适合做自动化测试?

Python和Java都是常用于自动化测试的编程语言&#xff0c;它们各有优势和适用场景。本文将从零到一地详细描述Python和Java在自动化测试中的特点和应用。 首先&#xff0c;我们来介绍Python在自动化测试中的优势。 Python是一种简洁、易读且功能强大的编程语言&#xff0c;它…

链表----带环链表快慢指针进阶版

1.带环链表及其拓展 &#xff08;1&#xff09;这个题目组要就是进行判断这个链表是否带环&#xff0c;使用的是布尔类型作为返回值&#xff1b; &#xff08;2&#xff09;我们这里的思路是使用的快慢指针&#xff0c;快指针一次走2步&#xff0c;慢指针一次走1步&#xff0c…

C++:编程领域的全能王者

在编程语言的海洋中&#xff0c;C以其全面而强大的功能&#xff0c;犹如一位全能王者&#xff0c;屹立不倒。它不仅在科技领域有着广泛的应用&#xff0c;更在推动社会进步、促进人类创新方面发挥着至关重要的作用。 一、C&#xff1a;编程界的璀璨明星 C自诞生以来&#xff…

【数据结构】红黑树(定义性质、插入、查找、删除)解析+完整代码

3.3 红黑树 3.3.1 定义和性质 为什么发明红黑树&#xff1f; 平衡二叉树和红黑树的时间复杂度相同&#xff0c;但是平衡二叉树的平衡特性容易被破坏&#xff0c;需要频繁调整树的形态。 红黑树RBT&#xff1a;插入/删除很多时候不会破坏红黑特性&#xff0c;无需频繁调整树的形…

浅谈Windows 上的线程亲和性(Thread affinity)

​ 前言 线程属性包括是否分离、亲和性、调度策略和优先级等。Linux默认的调度策略是CFS(完全公平调度算法),而 Windows 是基于优先级抢占式的策略。 在这些方面,Windows 和 Linux 差异巨大。本文仅针对 Windows 系统的线程亲和性进行探讨。 线程亲和性(Thread affinity) 什…

ESP32如何使用PSRAM

ESP32的内部RAM的设计做了内存扩展。您可以通过寻址高达4MB的外部SPI RAM内存来进一步扩展它。在本文中&#xff0c;探讨如何在项目中使用PSRAM&#xff0c;针对ESP32-WROVER模块进行特别的讨论。 关键问题&#xff1a; 如何确保PSRAM在应用程序代码中可用&#xff1f;如何分…

HOOPS Visualize:工业级3D可视化SDK,打造移动端和PC端工程应用程序

HOOPS Visualize是一种高性能的软件开发工具包&#xff08;SDK&#xff09;&#xff0c;旨在帮助开发人员轻松构建和集成高质量的3D可视化功能。这是一种全功能的&#xff0c;以工程为重点的场景图技术&#xff0c;我们称为Core Graphics。Core Graphics可集成到一个框架中&…

uniapp高性能图片裁剪插件,可添加水印

效果图&#xff1a; 插件地址&#xff1a;高性能图片裁剪&#xff0c;裁剪图片后自动添加水印 - DCloud 插件市场 示例&#xff1a; <template> <view><button click"select">选择图片</button><image mode"widthFix" :src&qu…

鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main ()

这应该是系列篇最难写的一篇&#xff0c;全是汇编代码&#xff0c;需大量的底层知识&#xff0c;涉及协处理器&#xff0c;内核镜像重定位&#xff0c;创建内核映射表&#xff0c;初始化 CPU 模式栈&#xff0c;热启动&#xff0c;到最后熟悉的 main() 。 内核入口 在链接文件…

python的标准数据类型

四、标准数据类型 1、为什么编程语言中要有类型 类型有以下几个重要角色&#xff1a; 对机器而言&#xff0c;类型描述了内存中的电荷是怎么解释的。 对编译器或者解释器而言&#xff0c;类型可以协助确保上面那些电荷、字节在程序的运行中始终如一地被理解。 对程序员而言…

LQ杯当时的WP

RC4 32位程序用IDA打开看看 进行反汇编 RC4提示&#xff0c;就是一个加密 在sub_401005函数中找到输出的变量&#xff0c;并且立下断点 动调 Packet 字符串搜索flag 看到是给192.168.11.128发送了cat flag的命令 看到它回传 Base64加密了 解一下密码就可以 CC 密码这…

2024年【电工(高级)】考试题及电工(高级)考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电工&#xff08;高级&#xff09;考试题是安全生产模拟考试一点通总题库中生成的一套电工&#xff08;高级&#xff09;考试报名&#xff0c;安全生产模拟考试一点通上电工&#xff08;高级&#xff09;作业手机同步…