BZOJ4868 [Shoi2017]期末考试
来源:互联网 发布:桌面规划软件 编辑:程序博客网 时间:2024/05/29 17:30
YY一下的话感觉代价关于最晚出分时间是一个单峰函数
三分最晚的出分时间
然后贪心一下算代价就行
如果A>B就只用B就行了
要不然的话出分时间小于当前限制的都可以随便往后调直到到达限制,那么先尽量用A,调不到限制以内的再用B即可
#include<iostream>#include<cstdlib>#include<ctime>#include<cmath>#include<cstring>#include<algorithm>#include<iomanip>#include<cstdio>#include<map>#include<bitset>#include<set>#include<queue>#include<stack>#include<vector>using namespace std;#define MAXN 100010#define MAXM 1010#define eps 1e-8#define ll unsigned long long#define MOD 1000000007#define INF 1000000000ll n,m;ll a[MAXN],b[MAXN];ll now;ll A,B,C;ll ans=1e18;ll c[MAXN];ll OK(ll x){ll i;ll re=0;for(i=1;i<=n;i++){if(a[i]<x){re+=(x-a[i])*C;}}int wzh=1;if(A<B){ll rem=0;for(i=1;i<=m;i++){if(b[i]<x){rem+=x-b[i];}}for(i=1;i<=m;i++){if(b[i]>x){ll t=min(rem,b[i]-x);re+=A*t;re+=B*(b[i]-x-t);rem-=t;}}}else{for(i=1;i<=m;i++){if(b[i]>x){re+=(b[i]-x)*B;}}}return re;}int main(){ll stdans;ll i;scanf("%llu%llu%llu%llu%llu",&A,&B,&C,&n,&m);for(i=1;i<=n;i++){scanf("%llu",&a[i]);}for(i=1;i<=m;i++){scanf("%llu",&b[i]);now=max(now,b[i]);}ll l=1,r=now;//*while(r-l+1>=4){ll l1=l+(r-l+1)/3;ll l2=l+2*(r-l+1)/3;ll t1=OK(l1);ll t2=OK(l2);if(t1<=t2){r=l2;}else{l=l1;}}//*/for(i=l;i<=r;i++){ans=min(ans,OK(i));}printf("%llu\n",ans);return 0;}/**/
0 0
- BZOJ4868 [Shoi2017]期末考试
- [BZOJ4868][Shoi2017]期末考试
- BZOJ4868: [Shoi2017]期末考试
- bzoj4868&&5213jzoj[Shoi2017]期末考试 枚举或三分
- 【SHOI&SXOI2017】bzoj4868 期末考试
- 4868: [Shoi2017]期末考试
- BZOJ 4868 [Shoi2017] 期末考试
- BZOJ 4868: [Shoi2017]期末考试 (三分法)
- bzoj 4868: [Shoi2017]期末考试 三分答案
- 洛谷 P3745 [六省联考2017]期末考试(bzoj P4868 [Shoi2017]期末考试)
- 期末考试
- 期末考试
- 期末考试
- 期末考试????
- 期末考试
- 期末考试......
- 期末考试
- 期末考试
- int转String的三种方法性能分析
- Download ERS-1 precise (DGM-E04) orbits
- npm 安装错误及处理方法
- Handler源码解析基于ThreadLocal来进行分析
- 1.jquery源码分析-无 new 构造
- BZOJ4868 [Shoi2017]期末考试
- CAN总线基础知识(一)
- 关于TbSchedule任务调度管理框架的整合部署
- makefile中的shell调用---注意事项
- YOLO升级版:YOLOv2和YOLO9000解析
- 玩转https
- 教你如何安装Protocol Buffer
- linux ln -f 只能对文件起作用,不能对文件夹起作用
- DAO支持抽象类【理解】【操作】