博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU计算机学院大学生程序设计竞赛(2015’12)1003 The collector’s puzzle
阅读量:6681 次
发布时间:2019-06-25

本文共 866 字,大约阅读时间需要 2 分钟。

题意:

有N个珠宝 M个箱子 珠宝价值a  箱子价值b

每个珠宝放在箱子里,花费abs(a-b)

箱子可以无限放珠宝

求最小花费

 

水题

预处理每个价值的珠宝所放的箱子O(n)

从左往右找到最接近的左箱子l  从右往左找到最接近的右箱子r

取min

#include
#include
#include
#include
#include
#include
using namespace std;const int N=20005;int n,k,m;int l[N],r[N];int v[10*N],s[N];int main(){ int i,j; int T; while(scanf("%d%d",&n,&m)!=EOF) { memset(l,0,sizeof(l)); memset(r,0,sizeof(r)); memset(v,0,sizeof(v)); memset(s,0,sizeof(s)); for(i=1;i<=n;i++) { scanf("%d",&v[i]); } while(m--) { scanf("%d",&i); s[i]=1; } int now=-10000; for(i=1;i<=10000;i++) { if(s[i]) now=i; l[i]=i-now; } now=30000; for(i=10000;i>=1;i--) { if(s[i]) now=i; r[i]=now-i; } long long ans=0; for(i=1;i<=n;i++) { ans+=min(r[v[i]],l[v[i]]); } cout<
<

 

转载于:https://www.cnblogs.com/Woo95/p/5078341.html

你可能感兴趣的文章
JVM内存管理
查看>>
使用 awstats 分析 Nginx 的访问日志
查看>>
centos7 搭建本地yum源
查看>>
为什么调用glPushMatrix()和glPopMatrix()
查看>>
js设计模式之构造函数模式
查看>>
linux下activemq异常退出,重启失败
查看>>
基于Java开发的免费网络拓扑软件-SugarNMSTool
查看>>
object-c coreText加载外部字体文件
查看>>
装饰器模式(Decorator Pattern)
查看>>
享元模式(Flyweight Pattern)
查看>>
(转载)Hive学习笔记--Hive 参数
查看>>
java多线程学习总结之一:基础原理
查看>>
Ajax入门
查看>>
iOS开发之FMDB入门学习心得(Swift版)
查看>>
MYSQL使用命令行 导入导出数据库
查看>>
代码评审工具Rietveld平台搭建(windows&Linux均可)
查看>>
【OC】十一、数组对象(NSArray & NSMutableArray)
查看>>
Hibernate在线考试系统 01
查看>>
2016 年 31 款轻量高效的开源 JavaScript 插件和库
查看>>
javascript动画封装
查看>>