codevs 1507 酒厂选址 题解报告
噫
Abstinence(戒酒)岛的居民们酷爱一种无酒精啤酒。以前这种啤酒都是从波兰进口,但今年居民们想建一个自己的啤酒厂。岛上所有的城市都坐落在海边,并且由一条沿海岸线的环岛高速路连接。酒厂的投资者收集了关于啤酒需求量的信息,即每天各城市消费的啤酒桶数。另外还知道相邻城市之间的距离。每桶啤酒每英里的运费是1元。日运费是将所需要的啤酒从酒厂运到所有城市所必需的运费之和。日运费的多少和酒厂的选址有关。投资者想找到一个合适的城市来修建酒厂,以使得日运费最小。
请设计一个程序:从文件bre.in 读入城市的数目、相邻两城市间的距离以及每个城市消费的啤酒桶数,计算最小的日运费,将结果写到输出文件bre.out中。
第一行是一个整数n(5 <= n <= 10000) ,表示城市的数目。 城市沿高速路编号,使得相邻的城市的编号也相邻(城市1和n也被认为是相邻)。 以下的n行,每行有两个非负整数。第I+1行的数 zi、di分别是城市I每日的啤酒消费量(桶)和从城市I沿高速路到下一个城市的距离(英里)。高速路的总长不会超过65535 英里。每座城市的日消费量不会超过255桶。
一个整数,表示所需的最小日运费(元)。
6
1 2
2 3
1 2
5 2
1 10
2 3
41
嗯,
不知道栋栋为啥超时系列/
表示栋神犇能999MSac
我也是服;
不过。。
我
测试点#bro0.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro1.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro10.in 结果:AC 内存使用量: 488kB 时间使用量: 88ms
测试点#bro11.in 结果:AC 内存使用量: 488kB 时间使用量: 152ms
测试点#bro11a.in 结果:AC 内存使用量: 128kB 时间使用量: 1ms
测试点#bro12.in 结果:AC 内存使用量: 492kB 时间使用量: 152ms
测试点#bro1a.in 结果:AC 内存使用量: 256kB 时间使用量: 1ms
测试点#bro2.in 结果:AC 内存使用量: 256kB 时间使用量: 1ms
测试点#bro2a.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro3.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro3a.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro4.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro5.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#bro6.in 结果:AC 内存使用量: 364kB 时间使用量: 12ms
测试点#bro7.in 结果:AC 内存使用量: 364kB 时间使用量: 27ms
测试点#bro8.in 结果:AC 内存使用量: 364kB 时间使用量: 39ms
测试点#bro9.in 结果:AC 内存使用量: 492kB 时间使用量: 75ms
23333
我只能说
泥萌这些辣鸡!!
咳咳。
回到正题
首先,对于这个环
开个二倍的数组就好了
之后
for循环枚举每一个城市
对于每个城市。
枚举其他N-1个城市
递推计算距离和/
对答案取min就好了
代码::
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<stack>
#include<cstdlib>
#include<string>
#include<bitset>
#include<iomanip>
#include<deque>
#define INF 1000000000
#define fi first
#define se second
#define N 100005
#define P 1000000007
#define debug(x) cerr<<#x<<"="<<x<<endl
#define MP(x,y) make_pair(x,y)
using namespace std;
int n,m,k;
long long z[30001],d[30001],c[30001];
inline long long get_num()
{
long long num = 0;
char c;
bool flag = false;
while ((c = getchar()) == ' ' || c == '\n' || c == '\r');
if (c == '-') flag = true;
else num = c - '0';
while (isdigit(c = getchar()))
num = num * 10 + c - '0';
return (flag ? -1 : 1) * num;
}
int main()
{cin>>n; for(long long i=1;i<=n;i++){long long q,w;cin>>z[i]>>d[i];}for(long long i=1;i<=n;i++){z[i+n]=z[i];d[n+i]=d[i];k+=d[i];}long long ans=1147483647000000000;for(long long i=1;i<=n;i++){long long l=d[i],s=0;for(long long j=i+1;j<=i+n-1;j++){if(l<=k-l){s+=l*z[j];l+=d[j];}else{s+=(k-l)*z[j];l+=d[j];}}ans=min(ans,s);} cout<<ans;
}
噫~
codevs 1507 酒厂选址 题解报告相关推荐
- codevs 1507 酒厂选址
传送门 1507 酒厂选址 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Abstinence(戒酒)岛的居民们酷爱一 ...
- codevs——1507 酒厂选址
1507 酒厂选址 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description Abstinence(戒酒)岛的居民 ...
- codevs 2618 核电站问题 题解报告
噫. 题目描述 Description 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- 派件系统c语言实验报告,物流规划与优化选址实验报告.doc
物流规划与优化选址实验报告 <物流规划与优化> 课程实验报告 一.实验任务与要求 重心法是根据待选物流配送中心的数量,将各起迄点预先分配给各个物流配送中心,从而形成个数等于物流配送中心数量 ...
- CSP-2019day1题解报告
day1题解报告 题目 T1 T2 从链想起 转为正解 T3(摘自同级大佬xez) 题目 T1传送门 T2传送门 T3传送门 T1 乍一看,这道题做过,可以用对称性做,如果他的长度过了一半,就输出1, ...
- 爆炸的符卡洋洋洒洒题解报告
爆炸的符卡洋洋洒洒题解报告 标签:动态规划 题目链接 来源:牛客网 解题思路: 显而易见的背包问题 但再观察a,b的数据范围,开不了那么大的dp数组 这就启发我们去优化,由于题目要求魔力总耗的是k的倍 ...
- 2022杭电多校5题解报告(同步自语雀)
一.赛后总结 Wuhu~萌新又来啦~ 第一次在考场上写出NTT,虽然是比较裸,但感觉真的不错~ 开场看03,思路比较直,就是dijk,但跨层跳跃想了好久~最后想到了类似于B树或者B-树一类的层内链表, ...
- 2022杭电多校4题解报告(同步自语雀)
一.赛后总结 嘤嘤嘤,本人纯萌新,深夜反思自己到底有多菜~(:′⌒`) 前天没写出状压,再前面不会SAM和圆方树,再往前不会NTT和FFT,真的是个啥也不会的萌新呢. 这场主要的问题在于02的0环和1 ...
最新文章
- linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效
- JAVA 线程Join
- 流水灯verilog实验原理_IC设计实例解析之“流水线技术”
- 阿里云环境中TLS/SSL握手失败的场景分析
- 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
- LeetCode 36. Valid Sudoku
- 【機器學習筆記】xgboost中的min_child_weight參數理解。
- CAD2007 病毒 处理办法
- 小游戏《堆木头》开发
- 基于 CIM 的智慧园区框架
- node服务端生成七牛token
- 安装tensorflow报错:Cannot uninstall ‘wrapt‘. It is a distutils installed project and thus we cannot accu
- Flink 如何分流数据
- 图片怎么做雕刻路径_精雕图怎么做路径
- python查找公共前缀_Python练习【3】【罗马数字转换/查找公共前缀】
- java中换行字符怎么用?
- 机器学习——回归——一元线性回归
- 如何应对人事(HR)的面试问题?
- linux网络安装pxe及无人值守安装
- 初识物联网开发-硬件开发板选择