bzoj4868 期末考试 题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4868
显然我们只关注最后出分的学科。
刚开始想的是dp,然而不知道如何记录状态。
突然就想到了正解。
首先对于每一个最后出分的日期,所有的不愉快度一定来自两个方面:
$n$个同学的期待,这个作前缀和可以$O(1)$统计。
$m$个学科调派老师,这个作前缀和也可以$O(1)$统计。
所以$O(max(t_i))$解决了这道题。???
正解当然不是上面的暴力而是三分。
设$f(x)$表示最终结束时间为$x$时,来自同学期待的不愉快度。
$g(x)$表示最终结束时间为$x$时,来自调整老师的不愉快度。
$F(x)=f(x)+g(x)$表示答案,$F(x)$是单峰的。
证明:
显然$f(x)$,$g(x)$两个函数都是单调的。
但是仅仅单调还不够,两个函数一定是斜率不下降的。
也就是说,我们对两个函数求导函数,仍然是单调的。
并且,两个导函数都是单调不下降的。
其中$f'(x)$的初始值为正,$g'(x)$的初始值为负。
故$F'(x)=f'(x)+g'(x)$是单调不下降,且过原点的。
所以$F(x)$是单峰的。
然而三分似乎是不对的。
$F(x)$并不严格单调。
当三分的左右$mid$端点在一段函数值相等的区间,可能会导致区间确定的错误。
所以可能正解反而是暴力?
bzoj4868 期末考试 题解的更多相关文章
- BZOJ4868:[SHOI2017]期末考试——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4868 题目复制于洛谷:https://www.luogu.org/problemnew/show/P ...
- 【BZOJ4868】[六省联考2017]期末考试(贪心)
[BZOJ4868][六省联考2017]期末考试(贪心) 题面 BZOJ 洛谷 题解 显然最终的答案之和最后一个公布成绩的课程相关. 枚举最后一天的日期,那么维护一下前面有多少天可以向后移,后面总共需 ...
- 【bzoj4868】[Shoi2017]期末考试 前缀和+暴力
题目描述 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天或之前得知所.有.课程的成绩.如果在第ti天,有至少一门课程的成绩没有公布,他就会等待 ...
- 【BZOJ4868】期末考试(整数三分)
题意: 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天 或之前得知所.有.课程的成绩.如果在第ti天,有至少一门课程的成绩没有公布,他就会等待 ...
- bzoj4868: [Shoi2017]期末考试(三分法)
4868: [Shoi2017]期末考试 题目:传送门 题解: Get到一个新姿势...三分法 一开始百度百科的时候下了一跳...中国...的根??? 学懂了之后其实运用起来就根二分差不多啊,不过证明 ...
- [bzoj4868][Shoi2017]期末考试
来自FallDream 的博客,未经允许,请勿转载,谢谢. 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天或之前得知所.有.课程的成绩.如果在 ...
- [BZOJ4868][六省联考2017]期末考试(三分)
4868: [Shoi2017]期末考试 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 964 Solved: 439[Submit][Status ...
- 【BZOJ4868】期末考试 [三分][贪心]
期末考试 Time Limit: 20 Sec Memory Limit: 512 MB[Submit][Status][Discuss] Description Input Output Samp ...
- [luogu] P3745 [六省联考2017]期末考试 (贪心)
P3745 [六省联考2017]期末考试 题目描述 有 \(n\) 位同学,每位同学都参加了全部的 \(m\) 门课程的期末考试,都在焦急的等待成绩的公布. 第 \(i\) 位同学希望在第 \(t_i ...
随机推荐
- Java之路---Day18(List集合)
2019-11-05-23:03:28 List集合: java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为Lis ...
- Java自学-操作符 算数操作符
Java的算数操作符 算数操作符 基本的有: + - * / % 自增 自减 ++ -- 基本的加 减 乘 除: public class HelloWorld { public static voi ...
- Scheduling Tasks
官方文档 https://spring.io/guides/gs/scheduling-tasks/ 官方文档详细介绍了@Scheduled中fixedRate,fixedDelay,cron的用法 ...
- vue组件4 利用slot将内容传递给组件
除了将数据作为prop传入到组件中,vue也允许传入HTML 父组件中的子组件:<custom-button>点我<custom-button/> custom-button子 ...
- 基于elementUI创建的vue项目
这周对公司的内容使用vue进行重构,所以记录一下开始项目的过程 下载elementUI: 项目文件夹中在命令行中输入:npm install elementui -s 下载完成后在 main.js 中 ...
- Qt使用QPainter绘制矢量图并保存为svg文件
位图和矢量图: Bitmap: Usually a larger file size Cannot be enlarged into a higher resolution as the image ...
- windows 2003 windows 2008 windows 2012 导出域控hash的方法
quarkspwdump作者介绍的用法: 1. Windows 2008 Microsoft recently implements VSS (Volume Shadow Copy Ser ...
- 解锁 redis 锁的正确姿势
redis 是 php 的好朋友,在 php 写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为.这个时候我们就要用到锁.锁的方式有好几种,php 不能在内存中用锁,不能使用 zo ...
- H3C 无线交换机的数据转发原理
- linux设备驱动程序——将驱动程序编译进内核
linux驱动程序--将驱动程序编译进内核 模块的加载 通常来说,在驱动模块的开发阶段,一般是将模块编译成.ko文件,再使用 sudo insmod module.ko 或者 depmod -a mo ...