Robotruck

题意:

求机器人将垃圾扔到垃圾桶的最短距离.

思路:

主要是基于一个等式:

dp[i] = dp[j] + dis[j + 1] +dist[i] - dist[j + 1] + dis[i] ;dp[i]表示扔垃圾的往返时间.

那么就是要求:min(dp[j] + dis[j + 1] -dist[j + 1]) +dist[i] + dis[i], 就引出dp[j]+dis[j+1]-dist[j+1]最小,而每个起点有基于算出的终点,所以保证终点的才能保证全局最小.

这里用到了单调队列,从后面删除,从前面读数.

#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 100010;
int x[maxn],y[maxn],w[maxn];
int dist[maxn],weight[maxn],dis[maxn];
int q[maxn], dp[maxn];
int func(int i) {
	return dp[i] - dist[i+1] + dis[i+1];
}
int main() {
	int T;
	int C, n, front, rear;
	scanf("%d", &T);
	while(T--) {
		scanf("%d%d", &C, &n);
		for(int i=1; i<=n; i++) {
			scanf("%d%d%d", &x[i],&y[i],&w[i]);
			dist[i] = dist[i-1]+abs(x[i]-x[i-1]) + abs(y[i]-y[i-1]);
			dis[i] = abs(x[i]) + abs(y[i]);
			weight[i] = weight[i-1] + w[i];
		}
		front = rear = 1;
		for(int i=1; i<=n; i++) {
			while(front <= rear && weight[i]-weight[q[front]]>C) 
				front++;//找到最大承受的临界点
			dp[i] = func(q[front]) + dis[i] + dist[i];
			while(front<=rear && func(i)<=func(q[rear])) rear--;
			q[++rear]=i;//在当前终点的基础上,若比已计算的终点小则替换,才能达到全局最优(路径不同)
		}
		printf("%d\n", dp[n]);
		if(T) printf("\n");
	}
	return 0;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重磅,2021最新智能汽车+新能源汽车+自动驾驶等行业研究报告合集,共58份。 2021 6G网络架构愿景与关键技术展望白皮书 2021智能网联汽车信息安全蓝皮书 2021懂车帝后链路价值洞察报告-“后”积薄发 行稳致远 2021年中国车企数字化转型趋势系列研究报告 2021年中国出行行业数智化研究报告 2021中国智能电动汽车竞争格局分析报告 2021北斗专题报告系列:动驾驶渐行渐,卫惯导航大有可为 2021新基建下的自动驾驶 单车智能和车路协同之争 2021智能世界2030:构建万物互联的智能世界 2021华为智能汽车产品报告 2021激光雷达 加速成长的千亿智能驾驶传感器 2021麦肯锡中国汽车行业CEO特刊:速造未来创领转型先机 2021面向自动驾驶的车路协同关键技术与展望 2021中国高精地图产业研究报告 2021域控制器市场分析 2021智能汽车系列一 智能网联全栈布局 2021智能汽车系列二 软件篇 2021智能汽车系列三 智能座舱 2021智能汽车系列四 激光雷达 2021智能汽车系列五 芯片篇 2021商用车自动驾驶渐进 智能交通时代来临 2021蔚来专题:未来未至 蔚来已来 2021中国自动驾驶行业生态图谱 2021智能座舱加速渗透 汽车电子供应链迎来爆发 2020汽车雷达国产化研究报告 下一代中国新能源汽车消费者洞察报告 新能源换电研究框架 行业影响展望:制造业和汽车篇 增程与纯电并驾齐驱 专注用户需求的造车新势力 智能驾驶的十大变革与趋势 智能电动变革已至 百年产业秩序重塑 智能电动汽车行业十年十大预测 智能驾驶的格局和未来 智能汽车“眼”疾“脑”快 芯片功不可没 智能汽车产业专题报告:苹果、小米造车前瞻 智能网联汽车产业评估系列报告——毫米波雷达篇 智能网联汽车产业人才需求预测报告2020精华版 智能网联汽车预期功能安全前沿技术研究报告 中国物联网行业白皮书 中国自动驾驶行业发展研究报告 中美欧三大汽车市场分析及2022年展望 自动驾驶安全第一白皮书 自动驾驶卡车Robotruck 群雄逐鹿 谁执牛耳 汽车新四化安全趋势白皮书-完整版 AI芯片 智能汽车的黄金赛道 Elon Musk 所想的自动驾驶跟现实有啥差距 Flash激光雷达 迈向全固态时代 IHS 智能座舱市场与技术发展趋势研究 Robotaxi行业研究报告 SoC芯片研究框架 V2X商业化落地路径分析 A_USE_CASE_APPROACH_TO_DESIGNING_AND_ASSESSING_VEHICLE_SAFETY_FUNCTIONS Aurora Investor Presentation_public_2021 Aurora+Investor+Presentation Autonomous-Driving-Network-whitepaper-cn1 Demonstrations of Cooperative Perception Safety and Robustness in Connected and Automated Vehicle Operations tesla-dojo-technology The New Era of Mobility

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值