题解P3745期末考试

我太菜了,QAQ

Luogu


简要分析

和洛谷的一篇分治的题解是一样的想法(是我看的她的),我只是一个更详细的代码解释,所以大家还是看洛谷题解吧

简要说一下。贪心的选取。在C花费多的情况下,若A比B花费多,就一直用B,否则就用A。同理,若C花费少,就用C。

其次是贪心的判断。选取时间点,看一看把所有的成绩都提升至该时间点的是否可以。


所有的见代码吧

#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1e5+10;
unsigned long long t[maxn],d[maxn],used[maxn];
unsigned long long c[maxn],up[maxn],n,m,A,B,C;
//t[i]->时间上线为i的数目
unsigned long long flag,yes,last,x,ans;
inline void prework(){long long val=0,tot=0;if(flag!=3)//如果不是C大到离谱for(register int i=1;i<=last;i++)val+=tot*C,tot+=t[i],c[i]=val;//统计C的结果看一看到i这个时间点不满值是多少val=0;tot=0;for(register int i=1;i<=last;i++)val+=tot,tot+=d[i],used[i]=val;//看如果把时间线强行提到d[i],最多可以进行几次Aval=0;tot=0;for(register int i=last;i>=1;i--)val+=tot,tot+=d[i],up[i]=val;//看如果把时间线强行提到d[i],最多要进行几次提升
}
inline void work(){//不用B的点long long now;ans=c[last];//如果一次提升也不进行,ans一直都是c[last]for(register int i=last;i>=1;i--){now=c[i];//枚举最后一天if(used[i]>=up[i]) now+=up[i]*A;//如果这个点要提升的次数大于最多可以用A提升的次数//那你就无能为力了,所以此时直接退出else break;ans>now?ans=now:ans=ans;}
}
inline void work1(){    ans=0ll;long long QAQ=0;//只用A,B的点,不能让学生等,//所以找到第一个有不满意值的时候,把所有的都提升到这个时候之前就好for(register int i=1;i<=last;i++)if(t[i]){QAQ=i;break;}//首先找到一个需要提升的点//即这个点有不满意值if(yes)//如果B>A 就先用Aif(used[QAQ]>=up[QAQ]) ans+=up[QAQ]*A;//如果A还可以再用一会儿else ans+=used[QAQ]*A+(up[QAQ]-used[QAQ])*B;//当A用完了的时候,就只用Belse ans+=up[QAQ]*B;//如果干脆A就B大,就只用B
}
inline void work2(){//毫无特色的点long long now;ans=c[last];for(register int i=last;i>=1;i--){now=c[i];if(yes)if(used[i]>=up[i]) now+=up[i]*A;else now+=used[i]*A+(up[i]-used[i])*B;else now+=up[i]*B;ans>now?ans=now:ans=ans;}//毫无特色的注释
}
int main(){scanf("%llu%llu%llu%llu%llu",&A,&B,&C,&n,&m);for(register int i=1;i<=n;i++) scanf("%llu",&x),t[x]++;for(register int i=1;i<=m;i++) scanf("%llu",&x),last=max(x,last),d[x]++;if(B>A) yes=1;if(A==1e9&&B==1e9) flag=1;else if(A!=1e9&&B==1e9) flag=2;else if(C==1e16) flag=3;prework();if(flag==1) printf("%llu",c[last]);else if(flag==2) work();else if(flag==3) work1();else work2();printf("%llu",ans);//毫无特色的主函数(除了压行)
}

转载于:https://www.cnblogs.com/fallen-down/p/11594807.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pluto实现分析(22)

本文档的Copyleft归yfydz所有&#xff0c;使用GPL发布&#xff0c;可以自由拷贝&#xff0c;转载&#xff0c;转载时请保持文档的完整性&#xff0c;严禁用于任何商业用途。msn: yfydz_no1hotmail.com来源&#xff1a;http://yfydz.cublog.cn18. 密钥处理pluto的配置文件中支持…

OCP-052考试题库汇总(60)-CUUG内部解答版

Examine these facts about a database: The database default tablespace to EXAMPLE. DEFERRED_SEGMENT_CREATION is TRUE (原来为 FALSE&#xff0c;题目有错) Examine these commands: SQL> CREATE USER user1 IDENTIFIED BY oracle_4U PASSWORD EXPIRE; User created. …

JavaScript tips and tricks - 4

JavaScript doesn’t have block scopeBlock doesn’t have scope in javascript, only function has scope. for(var i 0; i < 2; i ) { } i; // 2 If you want to create scope, use anonymous function: (function (){ for(var i 0; i < 2; i ) { } })(); typeof(i…

题解CF110E

感谢nofind大佬的推荐☆⌒(*&#xff3e;-゜)v nofind就是我男神&#xff0c;不接受反驳 大雾 CF110E Luogu 题意简述 大佬们自己看洛谷的题目就好了&#xff0c;写的既清楚又简短&#xff0c;我就不再赘述了其实就是自己懒 分析 一看到这个式子就知道不可以硬怼&#xff0c;又…

Office2010试用

昨天看到了Office的下载地址&#xff0c;就安装了一个试了试&#xff0c;总体感觉和Office2007变化不大&#xff0c;外观配色上看起来非常舒服&#xff0c;Aero效果用得更多了&#xff0c;具体功能改进还没有细研究&#xff08;其实一直感觉到了2003后的更新大都只是在界面和适…

使用acme.sh签发Let's Encrypt的免费数字证书

--------------安装----------------curl https://get.acme.sh | sh#让alias生效source ~/.bashrc -------------设置DNS API------------在dns运营商网站设置DNS API的API KEY/SECRET KEY#例如阿里云&#xff0c;域名所在账号登录后&#xff0c;进入如下页面进行设置 https://…

DataGridView 控件中至少有一列没有单元格模板的解决

当程序动态为DataGridView添加一列时如果这样写&#xff1a; DataGridViewColumn col new DataGridViewColumn (); col.Name "colname"; col.HeaderText "列标题"; Dgv.Columns.Add(col); 肯定会提示“DataGridView 控件中至少有一列没有单元格模板…

部署安全系统之道

如何才能确保系统的安全&#xff1f;这虽然是一个老生常谈的问题&#xff0c;但是&#xff0c;还是有很多网络用户不知道该如何回答&#xff0c;或者是不知道什么才是最恰当的回答。究其原因&#xff0c;不是他们不知道如何去做&#xff0c;而是没有为此形成一种解决问题的思路…

配置WINDOWS群集

配置WINDOWS群集 实验说明&#xff1a;本实验用于配置WINDOWS群集 实验名称&#xff1a;配置WINDOWS群集 实验目的&#xff1a;理解WINDOWS群集服务的工作原理&#xff0c;熟练掌握安装WINDOWS群集服务及配置WINDOWS群集 实验设备&#xff1a;windows server 2003 VM 二台 实验…

在lighttpd上使用fastcgi方式部署hg server

lighttpd配置&#xff1a;#加载fastcgi模块 server.modules ( "mod_fastcgi" ) #定义一个新的web服务在81端口 $SERVER["socket"] "0.0.0.0:81"{ server.document-root "/home/hg/hgserver/" #下面是认证的配置 #auth.debug 2 a…

走进Windows Server 2008服务器核心(Serve Core)

从 Windows Server 2008 开始&#xff0c;管理员可以选择安装具有特定功能但不包含任何不必要功能的 Windows Server 的最小安装服务器核心(Server Core)&#xff0c;它为一些特定服务的正常运行提供了一个最小的环境&#xff0c;从而减少了其他服务和管理工具可能造成的***和风…

深入解读ESB与SOA的关系

深入解读ESB与SOA的关系时至今日&#xff0c;SOA的概念渐渐清晰了。有关ESB的概念&#xff0c;已经吵了好多年了&#xff0c;还是没有定论。我个人认为&#xff0c;ESB本来就是抽象的概念&#xff0c;而且内涵丰富&#xff0c;在不同的场合含义不同。因此应该从不同的角度来认识…

李天平×××作诞生记——《亮剑.NET:.NET深入体验与实战精要》

从开始搞.NET开发至今已经有六、七年了&#xff0c;从当初对.NET一无所知&#xff0c;到现在领导研发团队进行各种项目的开发和架构设计&#xff0c;几年里经历了各种沟沟坎坎&#xff0c;无论是技术上的&#xff0c;还是管理上的。这些经历和经验就像一笔财富&#xff0c;为自…

javascript面向对象5

类变量/类方法/实例变量/实例方法在js中&#xff0c;所有的方法都有一个call方法和apply方法&#xff0c;这两个方法可以模拟对象调用方法。它的第一个参数是对象&#xff0c;后面的参数表示对象调用这个方法时的参数。比如&#xff0c;我们定义了一个方法f(),然后调用下面的语…

shell下数字和字符串比较操作命令

整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b" ] -lt 小于,如:if [ "$a&quo…

转换和编辑的sony的MTS硬盘摄像机格式文件。

用到的工具 1.转换工具-- Wondershare Video Converter Platinum 4.2.0.56 序列号ab.com9256EA34D0BEE43FE1A4AB3913C4EF37 或29B4E80B7651680E201BDD0D74A6C00E 先将MTS文件改名为M2TS&#xff0c;然后用该软件转换成MPG文件 2.编辑工具-电影魔方 金牛版2009 序列号&#x…

httpSession的正确理解

关于HttpSession的误解实在是太多了&#xff0c;本来是一个很简单的问题&#xff0c;怎会搞的如此的复杂呢&#xff1f;下面说说我的理解吧&#xff1a;一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第…

RequestDispatcher提供两个方法:forward,include有什么区别

都表示要跳转到其他资源&#xff0c;不同的是&#xff0c;如果使用forward跳转则后面的response输出则不会执行&#xff0c;而用include来跳转&#xff0c;则include的servlet执行完后&#xff0c;再返回到原来的servlet执行response的输出&#xff08;如果有&#xff09;。如&…

JDBC通过连接池链接数据库总是失败的解决办法

应用服务器&#xff1a;glassfish JDBC通过连接池链接数据库总是失败,通过查看日志&#xff0c;发现是APACHE报DHCP 错误&#xff0c; 只需要通过访问4848端口的管理程序&#xff0c;重新PING下JDBC当前连接池即可。

JSP--(使用请求转发的动作标识jsp:forward)

版权声明&#xff1a;To be or not to be, thats a question. https://blog.csdn.net/qq_32823673/article/details/79542554 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-d7e2a68c7…