POJ3666 离散化的dp

android 运动目标检测_MindSpore应用案例:AI对篮球运动员目标的检测 MindSpore作为一个端边云协同的开源的全场景AI框架,今年3月份开源以来,受到了业界的广泛关注和应用,欢迎大家参与开源贡献、模型众智合作、行业创新与应用、学术合作等,贡献您在云侧、端侧 (HiMindSpore 应用程序)、边侧以及安全领域的应用案例。MindSpore与您在AI领域共同成长,让AI使能千行百业,释放出强大的生产力。本文讲述的是MindSpore对篮球运动员目标的检测应用,通... 阅读详情

Description

A straight dirt road connects two fields on FJ’s farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond of an alternating succession of hills and valleys. FJ would like to add and remove dirt from the road so that it becomes one monotonic slope (either sloping up or down).

You are given N integers A1, … , AN (1 ≤ N ≤ 2,000) describing the elevation (0 ≤ Ai ≤ 1,000,000,000) at each of N equally-spaced positions along the road, starting at the first field and ending at the other. FJ would like to adjust these elevations to a new sequence B1, . … , BN that is either nonincreasing or nondecreasing. Since it costs the same amount of money to add or remove dirt at any position along the road, the total cost of modifying the road is

| A 1 - B 1| + | A 2 - B 2| + … + | AN - BN |

Please compute the minimum cost of grading his road so it becomes a continuous slope. FJ happily informs you that signed 32-bit integers can certainly be used to compute the answer.

Input

  • Line 1: A single integer: N
  • Lines 2..N+1: Line i+1 contains a single integer elevation: Ai

Output

  • Line 1: A single integer that is the minimum cost for FJ to grade his dirt road so it becomes nonincreasing or nondecreasing in elevation.

Sample Input

7
1
3
2
4
5
3
9

Sample Output

3

这题我是想的要考虑两种情况一种是降序一种是升序写完以后两个比较
但是太蠢了
然后发现这两种其实是可以合并的
那就是两个循环都从头开始
如果后的b比前面的差要小那么就取后面的就是降序
反之则是升序
因为一开始使用sort拍好的数组所以他一定是有一个顺序
mi一直都是从小到大,从小到大的遍历,不会直接弄到他自己产生0的这种尴尬情况…
也基本上相当于另开了一个循环..
从1一直循环到b的那种…
相比而言真的是很蠢..
这种思想值得牢记

另外poj好像对abs这个函数里面传的值得类型要求很毛病
不int就编译错误妈的智障

#include<iostream>
#include<string>
#include<memory.h>
#include<cstdio>
#include<cmath>
#include<stack>
#include<algorithm>
using namespace std;
long long zhi[2001];
long long zhi1[2001];
long long dp[4000][4000];
int main()
{
    int n;
    cin >> n;
    for (int a = 1;a <= n;a++)
    {
        cin >> zhi[a];
        zhi1[a] = zhi[a];
    }
    sort(zhi1 + 1, zhi1 + n + 1);
    for (int a = 1;a <= n;a++)
    {
        long long mi = dp[a - 1][1];
        for (int b = 1;b <= n;b++)
        {
            mi = min(dp[a - 1][b], mi);
            dp[a][b] = abs(int(zhi[a] - zhi1[b])) + mi;
        }
    }
    long long sum = 0x7fffffff;
    for (int a = 1;a <= n;a++)sum = min(sum, dp[n][a]);
    cout << sum << endl;
    return 0;
}
【AI智能体】Codex + Seedance2.5 制作AI视频实战操作详解 阅读详情

相关推荐

带标签的PHM2009齿轮箱数据集

PHM2009附加数据集—带标签的齿轮箱数据集,可用于测试算法

qq_39379705的博客 4873

动态规划-POJ 3666 Making the Grade

POJ 3666题目大意如下: 给出N个土堆的高度,现在知道对每个土堆的高度作修改,不管是增高土堆的高度还是减少土堆的高度,其花费都是一样的,改变了H高度,就会产生H的花费。 现在要求是的土堆的高度呈现一个单调的变化趋势,设计方案,求出最小的花费。 第一考虑是使用DP,然而DP数组的设置又是一个问题,还是从原来的问题着手:对于每个单独的土堆i来讲,它的最大允许高度不是等于i-1就是等于i+1

kornberg_fresnel的博客 709

HDI盲埋孔设计规范:高速PCB信号完整性落地指南

盲埋孔是高密度互连(HDI)PCB实现高速信号完整性的关键技术,其本质是通过控制过孔stub长度、优化回流路径和提升布线密度,解决GHz级信号在传统通孔结构下出现的谐振、串扰与EMI超标问题。其设计核心在于叠层物理约束、电气参数建模与工艺能力协同,涉及stub长度计算、反焊盘尺寸推导、孔壁粗糙度Rz控制等关键指标。广泛应用于DDR4、PCIe Gen4、USB3.2等高速接口的PCB设计中,尤其在车载ADAS、5G基站及FPGA载板等对SI/PI要求严苛的场景中成为刚性门槛。

weixin_34416754的博客 437

POJ3666 Making the Grade 动态规划

给出一个数列A,把每一个A[i]变为B[i],使得数列B单调非增或单调非减,求最小的abs(A[i]-B[i[)总和。

qq_53038151的博客 179

内网(极空间)搭建gitlab跳板机转发端口及域名配置

然后,回头尝试用内网地址+15022 clone,成功,用公网的ip+15222 clone失败,那就是定位到时nginx转发的问题了。首先想到的就是 git clone是通过ssh的22端口进行下载的,那就需要打通22端口,则又配置22端口的nginx转发。然后,我通过ssh命令,做一个端口转发,以实现内网穿透,将服务端口链接到跳板机上。然后穿透到阿里云服务器跳板机的端口,只能内网访问,需要用nginx做个转发,才能用公网ip进行访问。然后,如上,我的80端口,映射15080,22端口映射15022。

God丶Davide的博客 6074

SAP CO-PA数据传送避坑指南:销售开票与FI/MM记账的日常配置实操(含KEKF/KE4I/KEI2)

本文深入解析SAP CO-PA数据传送中的常见配置问题,特别是销售开票与FI/MM记账环节的实操避坑指南。通过KEKF/KE4I/KEI2等关键配置点的详细说明,帮助用户避免数据失真和重复记录,提升获利能力分析的准确性。文章结合实战案例,揭示官方文档未提及的'数据黑洞'形成机制,为SAP顾问提供实用的排雷手册。

weixin_26905487的博客 390

poj 3666/Making the Grade

dp 也算是暴力吧

m0_73843712的博客 261

Android开发者必看:5分钟搞定MQTT客户端连接EMQX服务器(附完整代码)

本文为Android开发者提供了一份快速实现MQTT客户端连接EMQX服务器的实战指南。通过引入Eclipse Paho SDK,详细讲解了从项目配置、权限申请到核心连接、主题订阅与消息发布的完整流程,并附有即拿即用的Kotlin代码,帮助开发者在物联网应用中高效集成轻量级实时通信功能。

weixin_29228781的博客 271

poj3666(dp逻辑的重要性)

思路:不知道为啥中间有一段时间没搞清楚状态时怎么转移的,想了好久,不过最后还是想明白了。在想状态转移的时候一定要牢牢抓住状态,通过状态来思考如何转移;第一次提交得到了完美的TLE,因为复杂度是n^3(其实当时也想到了,不过抱着侥幸的心理提交了);上网查了查题解,别的都是一样的,就在判断最小dp值时,每次都历遍造成了重复计算,优化一下,每次都记录最小值minn,那么后面一个直接跟minn比,就得到了...

摆渡人的博客 739

非洲秃鹫优化算法(AVOA)详解:从原理到实战

非洲秃鹫优化算法(AVOA)是一种模拟秃鹫觅食行为的元启发式算法。该算法通过数学建模秃鹫的群体分工、饥饿感知和食物竞争等行为,将优化问题转化为智能觅食过程。AVOA包含四个关键阶段:(1)种群初始化与最佳秃鹫选择;(2)饥饿率控制探索与开发平衡;(3)探索阶段模拟远距离飞行搜索;(4)开发阶段模拟食物源附近的竞争行为。算法采用饥饿率函数实现自适应搜索,初期偏向全局探索,后期转向局部开发。实验表明AVOA在标准测试函数和工程设计问题上表现出优越性能,其创新性在于将秃鹫独特的生物学特性转化为高效的优化机制。

qq_42212808的博客 228

【100%通过率】华为OD机试真题 C 实现【最多等和不相交连续子序列】【2022.11 Q4 新题】

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。

MISAYAONE的博客 1万+

A-Making the Grade(POJ 3666)

Making the Grade Time Limit:1000MS Memory Limit:65536K Total Submissions:4656 Accepted:2206 Description A straight dirt road connects two fields on FJ's f...

weixin_30757793的博客 175

新凯来嵌入式面经及参考答案

利用编译器预定义宏判断目标架构,如。

大模型大数据攻城狮的专栏 2065

poj 3666 Making the Grade dp 离散化

http://poj.org/problem?id=3666 题意: 给出一个序列, 问将这个序列改成不上升/不下降序列的最小代价是多少.代价是每个值修改前后差的绝对值之和. 思路: 离散化后dp. 离散化的正确性不会证... 代码只有不下降序列的...水过去了...(✿◡‿◡) dp[i][j]表示前i个数中, 最后一个数是j时的最小代价. 递推式: dp[i][j]=min(dp[...

swqeaaa的博客 185

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ3666 线性dp_离散化_贪心

POJ3666 线性dp_离散化_贪心 就DP而言这个题不算难,但是难就难在贪心,还有离散化的思想上 题目大意:n个土堆,问你最少移动多少单位的图,可以使得这n个土堆变成单调的 dp[i][j]表示前i个土堆高变为j时最优值 dp[i][j] = abs(j - a[i]) + min(dp[i-1][k]) 到这里就有问题了,k遍历起来有多大,是吧,没法想‘? 所以搜了题解才知道:贪...

Df_cjc的博客 412

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

poj3666(基础dp+离散化)

题目链接:http://poj.org/problem?id=3666Making the GradeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9118 Accepted: 4261DescriptionA straight dirt road connects two fields on FJ's farm, but it...

star_moon0309的博客 3150

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

poj3666(DP+离散化)

题目链接:http://poj.org/problem?id=3666 思路: 看了讨论区说本题的数据比较弱,只需要考虑不减序列即可,比较懒,所以我也只写了这一部分的代码,思路都一样,能AC就行了。 首先要想明白一点,就是将每一个elevation更新后的值一定是原来存在的,因为更新一个elevation最好是与前一个相等,要么与后一个相等,可以从贪心角度去想,这里要先明白,很重要。所以我们...

weixin_33812433的博客 208

POJ3666 Making the Grade [DP,离散化]

题意: 给定一个序列,以最小代价将其变成单调不增或单调不减序列,这里的代价看题目公式。 思路: 很容易想到是DP。 1. 对前i个序列,构成的最优解其实就是与两个参数有关。一个是这个序列处理后的最大值mx,和这个序列处理的代价值cost。 显然最大值mx最小最好(这样第i+1个值可以不花代价直接接在其后面的可能性更大),cost最小也最好(题意要求),但是两者往往是鱼和熊掌。 用dp

Aszxqw 8351

poj3666Making the Grade【dp离散化】

居然沦落到不到40行的dp还要翻题解你想咋的 这题可能唯一难就难在离散化做的少,就算告诉了状态转移方程也写不好,再说了,状态转移方程也不难啊,换到这个题就换了一个地方而已啊 方程:dp[i][j]=abs(j-a[i])+mn  i表示递推到哪位,j表示目前的最大值(这题数据只要满足不递减就可以了),mn表示前面一位的各个最大值时的花费最小值。然后离散化的思想是既然给的数据单个的值都那么大,那我

MissZhou要努力 773

poj3666 dp + 离散化

题目大意: 农夫约翰想修一条尽量平缓的路,路的每一段海拔是A_i,修理后是B_i,花费|A_i – B_i|,求最小花费。   最小花费有可能是单调非降,也有可能是单调非增,因为题目数据比较水,只求单调非降就可以   第一步 定义dp数组意义,dp[i][j]表示前i段路,最大值为j的cost,那么很自然的得到递推式 dp[i][j] = min( dp[i-1][ k ] ( ...

阿不灌的拉的博客 304

POJ 3666 Making the Grade 【DP + 离散化 + 贪心 】

传送门:POJ 3666 Making the Grade 描述: Making the Grade Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6357   Accepted: 2958 Description A straight dirt

魔笛手的博客 1034

POJ 3666 简单dp 离散化

要求:一个由正整数ai组成的长度为N数列,变成一个不增或不减数列所需的最小代价,一个数字变化1对应的代价为1。 数据范围:1 ≤ N ≤ 2,000,0 ≤ ai ≤ 1,000,000,000 方法:简单dp 离散化 1.ai太大了,因此需要离散化,假设求的是不减数列,将A数组从小到大排列为b数组。 1.dp[i][j]表示前i个数中最大数为b[j]的最小代价。 2.dp[i][j] ...

Irving0323的博客 305

POJ3666 线性dp+维度优化

以下内容部分摘自《算法竞赛进阶指南》(lyd),也有个人的理解

Time Limit Exceeded on test 99 258

POJ 3666 Making the Grade DP+离散化思想

Description A straight dirt road connects two fields on FJ’s farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond of ...

RPG_Zero的博客 241

POJ 3666 Making the Grade DP + 离散化 + 贪心

http://poj.org/problem?id=3666 题意:给一个序列,可以给每一个数假减一个数,代价为他们改变的数的绝对值,那么要求用最小代价把序列变成单调非增或者单调非减的(ps本题数据似乎只要变成非减就能过) n 思路是dp dp[i][j]表示前i个数以j为结尾的非减序列的最小代价,当然这个j得离散化的啦  dp[i]][j]=abs(a[i]-j)+dp

缺氧 764
上一篇: HDU1078 dfs+dp
下一篇: HDU1074 状压dp
NineFailure
博客等级 码龄11年 22粉丝 317原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值