传送门->

三分裸题。

发现答案只和最后一个科目公布成绩的时间有关。

科目公布成绩的时间越早,老师们的不愉快度越高,这个时间越晚,学生们的不愉快度越高。

它看上去像个单峰的,那么就三分好了。

判断时就是个简单的贪心。对于结束时间T,A>B时,让所有T后结束的科目的老师花B的不愉快度加速;B>A时,让所有T后结束的科目花A的不愉快度接受T前结束的科目老师,剩下的再花B的不愉快度加速。再统计学生的不愉快度,就能求出总不愉快度了。

据说三分、二分的题,看出它是道三分或二分的题就已经完成了一半。

 #include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iomanip>
#include<iostream>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#define rep(i,x,y) for(register ULL i=(x);i<=(y);++i)
#define dwn(i,x,y) for(register ULL i=(x);i>=(y);--i)
#define maxn 100010
#define ULL unsigned long long
using namespace std;
ULL read()
{
ULL x=,f=;char ch=getchar();
while(!isdigit(ch)&&ch!='-')ch=getchar();
if(ch=='-')f=-,ch=getchar();
while(isdigit(ch))x=x*+ch-'',ch=getchar();
return x*f;
}
void write(ULL x)
{
char ch[];ULL f=;
if(!x){puts("");return;}
if(x<){putchar('-');x=-x;}
while(x)ch[++f]=x%+'',x/=;
while(f)putchar(ch[f--]);
putchar('\n');
}
ULL t[maxn],b[maxn],A,B,C,n,m,minc=-;
ULL three=,two=,one=;
void upd(ULL x){minc=minc==-?x:min(x,minc);}
ULL getans(ULL T)
{
// cout<<"T:"<<T<<" ";
ULL ans=,tmp1=,tmp2=;
rep(i,,m)
{
if(b[i]<=T)tmp1+=T-b[i];
else tmp2+=b[i]-T;
}
if(tmp1<tmp2)ans=tmp1*A+(tmp2-tmp1)*B;
else ans=tmp2*A;
ans=min(ans,tmp2*B);
rep(i,,n)if(t[i]<T)ans+=(T-t[i])*C;
return ans;
}
int main()
{
A=read(),B=read(),C=read();
n=read(),m=read();
rep(i,,n)t[i]=read();
rep(i,,m)b[i]=read();
sort(t+,t+n+),sort(b+,b+m+);
ULL L=,R=b[m];
while(R-L>=)
{
ULL lm=(R-L+one)/three+L,rm=(R-L+one)*two/three+L;
//cout<<L<<" "<<lm<<" "<<rm<<" "<<R<<endl;
ULL lans=getans(lm),rans=getans(rm);
upd(lans),upd(rans);
if(lans>rans) L=lm;
else R=rm;
}
rep(i,L,R)upd(getans(i));
write(minc);
return ;
}
/*
100 100 2
4 5
5 1 2 3
1 1 2 3 3
*/
/*
3 5 4
5 6
1 1 4 7 8
2 3 3 1 8 2
*/

以下与本题无关,勿看。


顺便说一些很令人不快的事情。

总有些人盲目地膜别人或者装弱,这听上去毫无意义。这样别人并不会觉得那个人有多谦虚,反而会很反感。这能够给乱膜者带来的弊大于利,他们也很清楚这一点,却还是要膜。这是为什么?我自以为,有的人可能是看着周围人都这么做,不想显得不合群,就也跟风模仿。也有人看着别人总膜自己,觉得不好意思,就也用同样的方式对付别人,这样就不会太别扭。这些只是被动的、不得不膜的人。但还有一些主动膜的人,才是带动盲目膜的不良风气的主力军。他们多半实力不低,却偏要以阴阳怪气的语气和奇怪的动作来贬低自己、抬高别人。这些可能只是被他们当成吸引别人注意的一种新奇手段。他们的另一个目的也不是在于表示谦虚,而是在于别人被膜之后说的“您那么强,怎么会弱呢”、“我比您菜多了”之类的话给他们带来的成就感。这一点上,就相当于是借对方之口嘲讽对方,给对方带来的困扰远多于直接批评讽刺。拒绝乱膜,从我做起!

并不对劲的bzoj4868: [Shoi2017]期末考试的更多相关文章

  1. bzoj4868: [Shoi2017]期末考试(三分法)

    4868: [Shoi2017]期末考试 题目:传送门 题解: Get到一个新姿势...三分法 一开始百度百科的时候下了一跳...中国...的根??? 学懂了之后其实运用起来就根二分差不多啊,不过证明 ...

  2. [bzoj4868][Shoi2017]期末考试

    来自FallDream 的博客,未经允许,请勿转载,谢谢. 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天或之前得知所.有.课程的成绩.如果在 ...

  3. BZOJ4868 [Shoi2017]期末考试 【三分 + 贪心】

    题目链接 BZOJ4868 题解 最后的答案决定于最后一个公布的成绩 显然这个是答案关于这个时间点是呈凸单调的 三分一下这个时间点 时间点固定,在这个时间前的人都会产生不愉快度,在这个时间前的科目可以 ...

  4. BZOJ4868 Shoi2017期末考试(三分+贪心)

    容易想到枚举最晚发布成绩的课哪天发布,这样与ti和C有关的贡献固定.每门课要么贡献一些调节次数,要么需要一些调节次数,剩下的算贡献也非常显然.这样就能做到平方级别了. 然后大胆猜想这是一个凸函数三分就 ...

  5. NC20439 [SHOI2017]期末考试

    NC20439 [SHOI2017]期末考试 题目 题目描述 有 \(n\) 位同学,每位同学都参加了全部的 \(m\) 门课程的期末考试,都在焦急的等待成绩的公布.第 \(i\) 位同学希望在第 \ ...

  6. BZOJ4868:[SHOI2017]期末考试——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=4868 题目复制于洛谷:https://www.luogu.org/problemnew/show/P ...

  7. 【bzoj4868】[Shoi2017]期末考试 前缀和+暴力

    题目描述 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天或之前得知所.有.课程的成绩.如果在第ti天,有至少一门课程的成绩没有公布,他就会等待 ...

  8. 【BZOJ4868】期末考试(整数三分)

    题意: 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天 或之前得知所.有.课程的成绩.如果在第ti天,有至少一门课程的成绩没有公布,他就会等待 ...

  9. bzoj 4868: [Shoi2017]期末考试

    Description 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天 或之前得知所.有.课程的成绩.如果在第ti天,有至少一门课程的成绩没有 ...

随机推荐

  1. 73. Spring Boot注解(annotation)列表【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 针对于Spring Boot提供的注解,如果没有好好研究一下的话,那么想应用自如Spring Boot的话,还是有点困难的,所以我们这小节,说说S ...

  2. Mysql的常见几种错误:1045,1044

    Mysql的常见几种错误: 一.在进入 mysql 数据库时出错   # mysql -u root -p Enter password: ERROR 1045 (28000): Access den ...

  3. Hankson 的趣味题(codevs 1172)

    题目描述 Description Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考一个有趣的问题.今天在 ...

  4. 洛谷P2814 家谱(gen)

    题目背景 现代的人对于本家族血统越来越感兴趣. 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先. 输入输出格式 输入格式: 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组 ...

  5. [NOIP1998] 提高组 洛谷P1011 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  6. poj 1236+hdu2767 有向图 缩点+看度数(tarjan)

    1236题意:一个有向图,1,求至少从几个点出发可以遍历该图,2:,求至少添加多少边,使强连通.而,HDU的只有后面一问. 解;先缩点,第一问只需找所有入度为0的点即可.,第2问,max(入度为0的点 ...

  7. lombok注解简化实体类getting 和 setting 方法

    实体类注解,将以往的get/set方法简化为标签注解,让代码看着更简洁. Maven依赖: <dependency> <groupId>org.projectlombok< ...

  8. Win7查看本地是否安装JDK及安装路径的方法

    工具/原料   win7 方法/步骤   1 开始->点击运行,输入:cmd 2 然后在命令提示符中,输入:java -version  假如看到有版本提示那么安装成功 3 假如忘记了java ...

  9. Linux下的lds链接脚本简介(一)

    转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 一. 概论 每一个链接过程都由链接脚本(linker ...

  10. Hadoop架构设计、执行原理具体解释

    1.Map-Reduce的逻辑过程 如果我们须要处理一批有关天气的数据.其格式例如以下: 依照ASCII码存储.每行一条记录 每一行字符从0開始计数,第15个到第18个字符为年 第25个到第29个字符 ...