[codevs1507]酒厂选址
来源:互联网 发布:淘宝宝贝无线链接转换 编辑:程序博客网 时间:2024/04/30 19:51
题目←
一开始想到了前缀和优化,发现是n^2,看数据范围没敢打
于是去搜题解……结果发现有人就是这么过的23333
于是代码↓
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const long long MAXN = 200000 + 50;long long dis1[MAXN],dis2[MAXN];long long n,w[MAXN],v[MAXN];long long get_dis1(long long now,long long x){ if(x < now)return dis1[now] - dis1[x]; else return dis1[now] + dis2[x];}long long get_dis2(long long now,long long x){ if(x > now)return dis2[now] - dis2[x]; else return dis2[now] + dis1[x];}long long ans;void check(long long now){ long long tot = 0; for(long long i = 1;i <= n;i ++) { if(i == now)continue; tot += w[i] * min(get_dis1(now,i),get_dis2(now,i)); } if(!ans)ans = tot; else if(tot < ans)ans = tot;}int main(){ scanf("%lld",&n); for(long long i = 1;i <= n;i ++) { scanf("%lld%lld",&w[i],&v[i]); dis1[i] = dis1[i - 1] + v[i - 1]; } for(long long i = n;i >= 1;i --) { dis2[i] = dis2[i + 1] + v[i]; } for(long long i = 1;i <= n;i ++) { check(i); } printf("%lld",ans); return 0;}
wyh:我的n^2可以过100000!
阅读全文
1 0
- [codevs1507] 酒厂选址
- [codevs1507]酒厂选址
- 酒厂选址
- 酒厂选址
- codevs 1507酒厂选址
- Codevs 1507 酒厂选址
- Codevs 1507 酒厂选址
- codevs 1507 酒厂选址 题解报告
- 选址
- 便利店选址
- 仓库选址
- 基站选址
- 基站选址
- 发射器选址
- 为新建医院选址
- 学校超市选址问题
- 关于店铺选址1
- 网站公司选址
- 201709-1 打酱油 ccf
- springboot(十五):springboot+jpa+thymeleaf增删改查示例
- def生成lib文件
- 链表算法——基础部分
- jquery 中 $.map 的使用方法,拼接出想要的数组
- [codevs1507]酒厂选址
- poj1144-Network
- 安卓生命周期显示
- Java笔记之异常
- C语言中的声明--函数声明、指针函数、函数指针、typedef
- HDU2435 There is a war 修改一条边权值后的最小割
- bzoj 2553: [BeiJing2011]禁忌 AC自动机+矩阵乘法+期望
- PHP和js判断访问终端是否是微信浏览器
- 计算n的阶乘有多少个尾随0(链接)