zoj 3469 Food Delivery(区间DP)

MySQL下载和安装教程 1.下载MySQL数据库可以访问官方网站:https://www.mysql.com/ 2.点击DOWNLOADS模块下的Community模块下的MySQL Community Server进行下载。 由于目前最新版本是:MySQL Community Server 5.7.21 建议博友下载历史版本,本博下载的是5.6.39 下载步骤: 进入,选择MySQL的版本及主机 根据自己的电脑选择相应的位数进行下载,本机是64位,点击download。 进入下. 阅读详情

题目链接:3469

想了挺长时间,发现区间DP题目的几个技巧

1、在循环的时候需要注意开始的状态有无限制,这道题因为必须从饭店出发,所以不能简单的按照长度去DP,DP的时候优先考虑端点在饭店的情况。

2、建立模型很重要,这几天做的几道区间DP题目,都需要抽象化出来然后建模解决。在这之中dp值的定义显得非常重要,还有状态的转移过程,和普通的DP有很大的差别。

3、不要只拘泥于二维以下的dp。这道题就用了一个三维数组来维护,因为从i到j是区间的具体位置,要转移到下一个状态,必须还要考虑送餐员当前的位置。而送完当前区间的饭,要使答案最优送餐员最后只能在【i,j】的其中一端,这样只需要开dp【n】【n】【2】就可以了。

#include<iostream>
#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<string.h>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#define LL long long
#define mod 1000000007
#define inf 0x3f3f3f3f

using namespace std;

struct node{
    LL x,y;
};

bool cmp(node a,node b)
{
    return a.x<b.x;
}

LL dp[1010][1010][3];
node a[1010];
LL b[1010];

int main()
{
    LL n,v,x;
    while(~scanf("%lld%lld%lld",&n,&v,&x))
    {
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        memset(dp,inf,sizeof(dp));
        LL l,r;
        for(int i=1;i<=n;i++)
        {
            scanf("%lld%lld",&a[i].x,&a[i].y);
            if(a[i].x==x)
                a[i].y=0;
        }
        n++;
        a[n].x=x;
        a[n].y=0;
        sort(a+1,a+1+n,cmp);
        int k;
        for(int i=1;i<=n;i++)
        {
            b[i]=a[i].y+b[i-1];
            if(a[i].x==x)
                k=i;
        }
        for(int i=k;i>0;i--)
        {
            for(int j=k;j<=n;j++)
            {
                if(i==j)
                {
                    dp[i][j][1]=dp[i][j][2]=0;
                    continue;
                }
                dp[i][j][1]=dp[i][j][2]=inf;
                dp[i][j][1]=min(dp[i][j][1],dp[i+1][j][1]+(a[i+1].x-a[i].x)*(b[n]-b[j]+b[i]));
                dp[i][j][1]=min(dp[i][j][1],dp[i+1][j][2]+(a[j].x-a[i].x)*(b[n]-b[j]+b[i]));
                dp[i][j][2]=min(dp[i][j][2],dp[i][j-1][2]+(a[j].x-a[j-1].x)*(b[n]-b[j-1]+b[i-1]));
                dp[i][j][2]=min(dp[i][j][2],dp[i][j-1][1]+(a[j].x-a[i].x)*(b[n]-b[j-1]+b[i-1]));
               // printf("dp%d%d1=%lld dp%d%d2=%lld\n",i,j,dp[i][j][1],i,j,dp[i][j][2]);
               // printf("%lld %lld %lld\n",dp[i+1][j][1],(a[i+1].x-a[i].x),(b[n]-b[j]+b[i]));
            }
        }
        printf("%lld\n",min(dp[1][n][1],dp[1][n][2])*v);
    }
    return 0;
}

计算机视觉:相机模型与参数标定 一、相机投影模型 1、小孔成像 2、相机模型中的四个平面坐标系 3、像主点偏移 4、畸变现象与内参矩阵 5、外参矩阵 二、相机标定:张正友棋盘格标定法 1、张正友棋盘格标定法描述 2、计算外参和内参 2.1 计算单应性矩阵H 2.2 计算内参数矩阵 2.3 计算外参数矩阵 3、实验:MATLAB实现 3.1 实验数据 3.2实验过程 3.3 实验结果 4、实验:OpenCV实现 4.1 实现代码 4.2 实验结果 5、实验分析与总结 阅读详情

相关推荐

CTF实战:从ECDSA签名漏洞到flag获取

本文详细解析了ECDSA签名算法在CTF比赛中的实战应用,重点探讨了随机数重用和参数泄露等常见漏洞。通过PWNHUB六月赛的例题,展示了如何从签名数据中恢复私钥并获取flag,同时提供了防御措施和实战技巧,帮助参赛者提升解题能力。

weixin_42706667的博客 275

zoj 3469 区间dp 三维

题意: x轴上有n个人,每个人所在位置为xi,对应一个bi值,餐厅坐标为x,送货员速度为1/v 米/分钟,送货员的后备箱中有所有客人的饭,不用中途回去。没有收到饭的客人每分钟不开心值增加bi。求总不开心值的最小值。1 &lt;= n &lt;= 1000。 题解: 1.n的范围就决定了不能用前几道题写的O(n^3)算法。这个不是简单的区间合并,而是每次增加一个端点。[i , j]的客人都送完...

Irving0323的博客 318

手把手教你理解MIS结构C-V特性曲线:从理论到测试实操

本文深入解析了金属-绝缘体-半导体(MIS)结构的电容-电压(C-V)特性曲线,从积累、耗尽到反型等物理状态出发,详细阐述了其测试原理与实操要点。文章重点介绍了如何通过C-V曲线提取氧化层厚度、掺杂浓度、界面态密度等关键参数,并探讨了偏压-温度(B-T)应力实验在揪出可动离子电荷等可靠性问题中的应用,为半导体器件物理研究与工艺评估提供了实用指南。

weixin_29304021的博客 440

Food Delivery ZOJ - 3469(区间dp)

题目传送门 题目翻译:当我们专注于解决问题时,我们通常宁愿呆在电脑前而不是外出吃午饭。在这个时候,我们可能会要求提供食物。 假设有N个人生活在一条直线的街道上,它只是位于X坐标轴上。第i个人的坐标是Xi米。在街上有一个外围餐厅,坐标X米。在午餐时间的一天,每个人同时从餐厅接受订单。作为餐厅的工作人员,您需要从餐厅开始,向N人送食物,然后回到餐厅。你的速度是每分钟V-1米。 你知道N...

248

ros_control硬件接口实战:从零构建机器人控制框架

本文详细介绍了ros_control硬件接口在机器人控制框架中的核心作用与实践方法。通过解析硬件接口类型、实现标准接口、构建主控制循环及自定义功能扩展,帮助开发者从零构建高效的机器人控制系统,提升硬件与ROS的协同效率。

lstm7chronicler的博客 500

智能排班考勤系统原型

可实现从业务预测,到工时预估,再到人员分配全流程自动智能排班。可应用于客服行业或工厂的智能排班系统。

gywm15111336483的专栏 994

ZOJ-3469 Food Delivery(区间dp)

F - Food Delivery  ZOJ - 3469  题意:在x轴上有n个客人,每个客人每秒增加的愤怒值不同。给出客人和餐厅的位置, 以及客人每分钟增加的愤怒值,和送餐行走一公里需要的时间,问送完n个客人的外卖最小愤怒值 题解:区间dp 先将所有客人的位置排序。 对于区间[i,j],可以发现:要走到i,必然是从i+1或者j出发才是最优的;同理j也是如此(

十分残念的博客 768

UniApp 覆盖安装后首次进入 APP pages.json 不生效的解决方案

通过以上步骤,解决了缓存问题导致的首次加载异常。此方案的关键在于强制更新文件名,从根本上避免旧缓存的干扰。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 681

ZOJ3469:区间DP

ZOJ3469 题解 对位置进行排序(包括外卖小哥的),然后求愤怒值的前缀和。 dp[i][j][k]表示送完[i,j]的所有人的最优方案,k = 0表示在i,k = 1表示在j。 dp[i][j][0]可以由dp[i+1][j][0]和dp[i+1][j][1]转移而来 同理dp[i][j][1]由dp[i][j-1][0]和dp[i][j-1][1]转移。 最后答案为min(dp[...

FlyingJack 257

Android AVB 分析(十二)嵌入式设备安全中的 dm-verity 简介

上一篇 《Android AVB 分析(十一)bootloader 是如何进行 verify boot 检查的?》 分析了 bootloader 中是如何调用 libavb 函数库验证 vbmeta 和 boot 等分区的。接下来就打算写一篇介绍 dm-verity 原理的文章,然后再写一篇徒手 dm-verity 实践的文章,结果偶然发现了本篇的英文原版。写得太好,我觉得自己完全没有必要再写原理了。由于原文是英文,有些英语不太好的朋友不一定能完全理解。我花了点时间,结合 AI 将英语原文翻译成中文。

洛奇看世界 3595

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

ZOJ 3469 区间DP

题意:在x轴上有n个客人,每个客人每秒增加的愤怒值不同。给出客人和餐厅的位置,以及客人每分钟增加的愤怒值,和送餐行走一公里需要的时间,问送完n个客人的外卖最小愤怒值 思路历程: 这是一道几乎完全靠自己完成的一道区间DP,事实上这题挺容易的,首先第一个我的子问题划分的很好,我是通过四个点由一个小区间扩增到大区间从而看出状态方程的, dp[i][j][0/1]表示[i,j]送完后最后结束的点在左边或者右边,然后状态转移就很简单了,一开始小卡了一会因为忘记把餐厅这个点加进去,初始化也有点小问题,根据我的定义除了餐

weixin_45539557的博客 211

ROS2入门到精通—— 1-1 Linux和ROS2基础

本文介绍了Linux的一般指令以及ROS2的常见理论和操作

BigDavid123的博客 3799

ZOJ 3469Food Delivery(区间DP)

ZOJ 3469Food Delivery(区间DP)

Dacc123的博客 838

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

区间dp -- Food Delivery ZOJ - 3469

Food Delivery ZOJ - 3469 题意: 在一条笔直的街道上有有一个餐馆和 n 户居民,每户居民都会在餐馆订餐,餐馆的坐标为X,参观送餐的速度是1 / V,每户居民都有两个属性x、 b,分别表示自己在街道上的坐标、单位时间内对餐馆送餐速度焦虑值。请你规划一种送餐策略,求所有居民对餐馆最小的焦虑值。 思路: 每次出发有两种选择,要么向左走到第一个没被送餐的居民,或者向右走到第一个没被送餐的顾客。 把餐馆两边的居民分为左右(l、r)两个部分,并按距离由近到远排好序。 dp[l][r]

dajiangyou123456的博客 201

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Food Delivery ZOJ - 3469(区间dp)

害,一道简单简单题居然搞了我一下午,我还是改不了不喜欢动笔的毛病,天天就想着能看出答案,我太难了,这个毛病一定要改,一直看着题目思维贼混乱,一混乱就不想写题目。 这题的题意也很有意思v是代表的是走1m所需要的时间 现在来解释一下这个区间dp的题,首先你得对坐标从小到大排个序吧?排序的时候得把餐厅加进去,套路,然后很容易想到的是dp[i][j]从i到j,但是转移的时候又不好转移了,因为dp[i][j]你不知道是从i+1转移来的,还是从j-1转移来的,所有就要考虑加一维数组了,dp[i][j][0/1],dp.

qcccc_的博客 210

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ZOJ3469 Food Delivery(区间dp)

Description When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery. Suppose there areNp...

邵光亮的博客 745

ZOJ3469-Food Delivery【区间DP】

题意:就是一个外卖小哥要给n个人送外卖,第i个人在xi位置,每隔一分钟他们就会有不满值bi,让你求怎样送外卖才会使得总不满值最小。 思路:我们将小哥也当做其中一个人,然后对其排序,用dp[i][j][0] 表示送完这个区间后停留在i位置,dp[i][j][1]表示停留在j位置,可以得到状态方程 dp[i][j][0] = min(dp[i][j][0], dp[...

独钓门前月 355

Food Delivery zoj3469 区间dp

Description When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery.Suppose there are N peop

xtulollipop 634

zoj 3469 Food Delivery (区间dp)

没想到还会回来写博客,算是回忆下把,来一道区间dp基础题。 题意:一个送外卖的从某个出发点送外卖,但是每个顾客地点都有一个不满意值,会随着时间每秒增加b[i],每个顾客地点都有一个距离,可以人为是在x轴上的坐标。现在问如何送外卖使得不满意度最小。 题解:好像做过,不过这次换了一个更优美的姿势过,记忆优化写起来会比较好写,而且姿势优美。 dp[i][j][pos]表示[l,r]区间的顾客都

ACM之梦 1115

ZOJ3469 Food Delivery —— 区间DP

题目链接:https://vjudge.net/problem/ZOJ-3469 Food DeliveryTime Limit:2 Seconds Memory Limit:65536 KB When we are focusing on solving problems, we usually prefer to stay in front of comput...

alince20008的博客 135

Food Delivery ZOJ - 3469 区间dp

https://cn.vjudge.net/problem/ZOJ-3469 题目大意: 有n个人在一条直线上分布第i个人在第xi个位置, 还有一个餐厅,这个餐厅要给这些人送饭,送饭的人的移动速度是1/V ,每等待一分钟,第i个人会+BI的烦恼,要使总烦恼最少。 因为要使i-j的人送到则最后送到的必然是i或者j,所以有dp[i][j][k] 表示i-j送到时候留着i或者留着j时的最优解,k=0...

qq_41426788的博客 273

zoj 3469 Food Delivery 【区间dp】

题意:饭店要你给N个客户送食物,现在已经给出饭店的位置坐标X和N个客户的位置坐标x[]。已知这N个客户都有一个不开心系数d[],初始为0,以后每分钟会增加b[],直到食物送到为止。你的速度为v^-1每分钟。现在为了获得最大收益,你必须保证这N个客户的d[]之和最小。问你最小的d[]之和。 思路:设置dp[i][j]为区间[i, j]的最优解 首先可以用一个相当暴力的方案——枚举区间[i

世界很大 507

ZOJ 3469 Food Delivery(区间DP)

题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4255 题目大意: 在一条直线上,有一些需要送饭的顾客。每个客户有一个位置以及不满意度,他们的不满意度会随着时间的增加而增加。现在要送餐给所有的客户,要求能够使得送完以后顾客的不满意度最小。 思路: 区间DP。 这题我们首先要考虑送餐的方式。对于某一个

hahahaha 576

Food Delivery ZOJ3469 区间dp

When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery. Suppose there are N people living i...

zertow的博客 158

Food Delivery ZOJ - 3469 (区间dp)

When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery. Suppose there are N people living ...

caowenbo2311694605的博客 267
下一篇: 博客搬家了!
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值