2018.10.20 2018NOIP冲刺之酒厂选址
明显能够看出有一个建图求路程的优化 然而发现10000*10000爆空间QAQ
为了做一些初始化方面的优化 我们发现了一个叫做前缀和的东西 可以在环上查到两个之间的最短距离
同时还要做一些查询代价方面的优化 比如由在城市1建厂推出在其它城市建厂的代价
(然而由于本人过于蒟蒻 所以不会)
那么还有一种方法
其实本题难点就在于环上怎样查询代价
我们有这样一个方法

把环展成两部分 在下标分别为i以及i+n的两个位置之间找到待查找的值并找最小值

这样思路就很明显了
上代码
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;
const int M=;
int n,m,dis,a,b;
long long c;
int d[M],z[M];
long long sum[M];
long long ans=LLONG_MAX;
int main()
{
freopen("bro.in","r",stdin);
freopen("bro.out","w",stdout);
cin>>n;
for(int i=;i<=n;i++)
{
scanf("%d%d",&z[i],&d[i]);
sum[i]=sum[i-]+d[i];
}
for(int i=;i<=n;i++)
{
long long tot=;
for(int j=;j<=n;j++)
{
a=max(i,j),b=min(i,j),c=sum[a]-sum[b-]-d[a];//前缀和
dis=min(c,sum[n]-c);//破环成链
tot+=dis*z[j];
}
ans=min(ans,tot);
}
printf("%lld\n",ans);
return ;
}
2018.10.20 2018NOIP冲刺之酒厂选址的更多相关文章
- 2018.10.1 2018NOIP冲刺之立体图
2008NOIP普及组立体图 请自行百度(事实上放不下了) 图不是很清楚 下面有 [输入] 输入文件 drawing.in 第一行有用空格隔开的 2 个整数 m 和 n,表示有 m*n 个格子 (1 ...
- OSC Source Code Innovation Salon(2018.10.20)
时间:2018.10.20地点:北京 朝阳 浦项中心B座2层
- 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...
- 【2018.10.20】CXM笔记(思维)
1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同 ...
- 2018.10.20 XMYZ Day1总结
上周的忘写了……题目没有作者…… T1.backpack 期望得分100,实际得分100. 感觉我自己真是不如以前了……以前做这种题都是秒掉的,现在怎么想了10分钟啊…… 因为物品的体积和价值都非常小 ...
- 2018.9.8 2018NOIP冲刺之配对
普及组第四题难度 主体思路竟然是贪心Q_Q 链接:https://www.nowcoder.com/acm/contest/164/D来源:牛客网 题目描述 小A有n个长度都是L的字符串.这些字符串只 ...
- POI 2018.10.20
[POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...
- 2018.11.2 2018NOIP冲刺之最短公共父串
很有意思的一个题 试题描述 给定字符串A和字符串B,要求找一个最短的字符串,使得字符串A和B均是它的子序列. 输入 输入包含两行,每行一个字符串,分别表示字符串A和字符串B.(串的长度不超过30) 输 ...
- 2018.10.20 bzoj2748: [HAOI2012]音量调节(背包)
传送门 这题是不是太sbsbsb了一点. 难度直逼普及-. 直接背包判存在性就行了. 代码: #include<bits/stdc++.h> using namespace std; bo ...
随机推荐
- Android备注26.Android异步任务(AsyncTask)
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.引言 我们知道Android的UI线程主要负责处理用户的按键事件.用户触屏事件及屏幕画 ...
- Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )
看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...
- Apache 配置两个域名匹配的文件夹和配置多个Web站点
Apache的虚拟主机是一种同意在同一台机器上,执行超过一个站点的解决方式,同一时候也就能够邦迪二级域名到指定的文件夹.虚拟主机有两种.一种叫基于IP的(IP-based),还有一种叫基于名字的(na ...
- WPF x:Array的使用
<Window x:Class="XamlTest.Window1" xmlns="http://schemas.microsoft.com/winf ...
- Win10中解决Prolific PL2303出现错误代码10的问题
PL2303 是Prolific 公司生产的一种高度集成的RS232-USB接口转换器,在Win10中默认安装的驱动程序会出现错误代码10的问题,如下图所示: 下载Win10上可以用的PL2303驱动 ...
- Android 调试桥(adb)是多种用途的工具
Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...
- Xpose菜鸟笔记
0.官网入门教程 https://github.com/rovo89/XposedBridge/wiki/Development-tutorial 1.Hook自定义类中的私有类 https://fo ...
- Android手机导出文件
因为要写联系人相关的东西,所以得把db导出来看看 第一步:Root手机 尝试了几个Root工具,发现就KingRoot能root 第二个:编写bat脚本 脚本内容是先将DB文件从/data/data ...
- WPF 调用API修改窗体风格实现真正的无边框窗体
原文:WPF 调用API修改窗体风格实现真正的无边框窗体 WPF中设置无边框窗体似乎是要将WindowStyle设置为None,AllowTransparency=true,这样才能达到WinForm ...
- Hadoop分布式文件系统
在一个经典的数据架构中,Hadoop是处理复杂数据流的核心.数据从各种系统中收集而来,并汇总导入到Hadoop分布式文件系统HDFS中,然后通过MapReduce或者其它基于MapReduce封装的语 ...