BZOJ4426 : [Nwerc2015]Better Productivity最大生产率

如果一个区间包含另一个区间,那么这两个区间是否在一起的生产率是一样的。

将所有这种包含了其他区间的区间放入数组$b$,其余的放入数组$c$,有多个相同的时候则从$b$移一个到$c$。

那么$c$里所有区间左端点递增,右端点也递增,设$f[i][j]$为$c$中前$j$个区间划分成$i$组的最大收益,直接DP即可,决策具有单调性。

然后把$p$分配给$b$和$c$,求出$b$和$c$组合取来的最大收益即可。

时间复杂度$O(n^2\log n)$。

 

#include<cstdio>
#include<algorithm>
#define N 210
using namespace std;
int n,m,i,j,flag,cb,cc,s[N],f[N][N],ans=-2147400000;
struct P{int x,y;}a[N],b[N],c[N];
bool cmpb(P a,P b){return a.y-a.x>b.y-b.x;}
bool cmpc(P a,P b){return a.x<b.x;}
void dp(int p,int l,int r,int dl,int dr){int m=(l+r)>>1,dm=dl,t=ans;for(int i=min(m-1,dr);i>=dl;i--){if(c[i+1].y<=c[m].x)break;int now=f[p-1][i]+c[i+1].y-c[m].x;if(now>=t)t=now,dm=i;}f[p][m]=t;if(l<m)dp(p,l,m-1,dl,dm);if(r>m)dp(p,m+1,r,dm,dr);
}
int main(){scanf("%d%d",&n,&m);for(i=1;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);for(i=1;i<=n;i++){for(flag=0,j=1;j<=n;j++)if(a[i].x<=a[j].x&&a[j].y<=a[i].y&&(a[i].x!=a[j].x||a[i].y!=a[j].y||i<j)){flag=1;break;}if(flag)b[++cb]=a[i];else c[++cc]=a[i];}sort(b+1,b+cb+1,cmpb);for(i=1;i<=cb;i++)s[i]=s[i-1]+b[i].y-b[i].x;sort(c+1,c+cc+1,cmpc);for(i=1;i<=cc;i++)f[0][i]=ans;for(i=1;i<=m;i++)f[i][0]=ans;for(i=1;i<=m;i++)dp(i,1,cc,0,cc);for(i=1;i<=m;i++)if(m-i<=cb&&f[i][cc]>=0)ans=max(ans,f[i][cc]+s[m-i]);return printf("%d",ans),0;
}

  

转载于:https://www.cnblogs.com/clrs97/p/5292903.html

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

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

相关文章

[codevs1105][COJ0183][NOIP2005]过河

[codevs1105][COJ0183][NOIP2005]过河 试题描述 在河上有一座独木桥&#xff0c;一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子&#xff0c;青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数&#xff0c;我们可以把独木桥上青蛙可能到达的…

ABB机器人套接口通信 机器人部分

ABB机器人套接口通信 机器人部分 文章机器人部分&#xff0c;描述如何运行机器人从机程序&#xff0c;使机器人根据上位机节点发送的命令&#xff0c;执行具体运动。 ABB机器人执行3个任务。这些任务都配置为SEMISTATIC(背景程序)的任务,第三任务是正常动作任务。下文描述如…

CRM项目总结

CRM项目总结 一&#xff1a;开发背景 在公司日益扩大的过程中&#xff0c;不可避免的会伴随着更多问题出现。 对外 &#xff1a; 如何更好的管理客户与公司的关系&#xff1f;如何更及时的了解客户日益发展的需求变化&#xff1f;公司的产品是否真的符合客户需求&#xff1f;以…

【面经——《速腾聚创科技有限公司——深度学习算法工程师》】

自我介绍 实习项目 1&#xff09;项目主要应用的领域&#xff1f; 2&#xff09;难点在哪&#xff1f;——机械臂吸盘大小和目标大小之间坐标的协调 3&#xff09;难点不在于算法&#xff0c;在于数据的处理和均衡性&#xff1f;对于数据均衡方面有什么理解&#xf…

js变量和数据类型

转载于:https://www.cnblogs.com/songyinan/p/6181421.html

offline .net3.5

1.加载虚拟光驱 2.dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\sources\sxs转载于:https://www.cnblogs.com/BillLei/p/5294082.html

(九)模板方法模式详解(包含与类加载器不得不说的故事)

作者&#xff1a;zuoxiaolong8810&#xff08;左潇龙&#xff09;&#xff0c;转载请注明出处&#xff0c;特别说明&#xff1a;本博文来自博主原博客&#xff0c;为保证新博客中博文的完整性&#xff0c;特复制到此留存&#xff0c;如需转载请注明新博客地址即可。 模板方法模…

阿里云openapi接口使用,PHP,视频直播

1.下载sdk放入项目文件夹中 核心就是aliyun-php-sdk-core&#xff0c;它的配置文件会自动加载相应的类 2.引入文件 include_once LIB_PATH . ORG/aliyun-openapi/aliyun-php-sdk-core/Config.php; 3.配置客户端对象,需要Access Key ID,Access Key Secret $iClientProfile Defa…

【面经——《广州敏视数码科技有限公司》——图像处理算法工程师-深度学习方向】

目录 笔试 HR面 专业面——60多分钟 主管面 反问&#xff1a; 笔试 8道题——简答题 1道编程 苹果、香蕉、梨、菠萝&#xff0c;彩色图像如何进行分类&#xff1f;一辆带车牌的汽车&#xff0c;图像亮度整体呈现偏亮状态&#xff0c;如何…

Android之网络编程利用PHP操作MySql插入数据(四)

因为最近在更新我的项目&#xff0c;就想着把自己在项目中用到的一些的简单的与网络交互的方法总结一下&#xff0c;所以最近Android网络编程方面的博文会比较多一些&#xff0c;我尽量以最简单的方法给大家分享&#xff0c;让大家明白易懂。如果有什么不对的地方&#xff0c;还…

RAPID 信号的互锁和同步 WaitTestAndSet 和 TestAndSet

RAPID 信号的互锁和同步 WaitTestAndSet 指令等待指定的持久型 BOOL 变量变成 FALSE.当变量值变为 FALSE, 该指令将设置变量为 TRUE 并继续执行. 该持久型变量可被作为同步或者互斥时的一个 BOOL 信号量。 这个指令与 TestAndSet 有着同样的基本功能。但是 WaitTestAnd…

【常用网址】——opencv等

opencv官网Releases - OpenCVhttps://opencv.org/releases/

(五):C++分布式实时应用框架——微服务架构的演进

C分布式实时应用框架——微服务架构的演进 技术交流合作QQ群&#xff1a;436466587 欢迎讨论交流 上一篇&#xff1a;(四)&#xff1a;C分布式实时应用框架——状态中心模块 版权声明:本文版权及所用技术归属smartguys团队所有&#xff0c;对于抄袭&#xff0c;非经同意转载等…

如何通过软件项目开发来提高自身的实力。

在我们这个专业&#xff0c;大多数人都不会将软件开发当作自己的事业&#xff0c;因为若要在这个行业上能够立足&#xff0c;得需要一个好的基础&#xff0c;但是由于这个东西并不是可以通过书本能够彻底的理解和 掌握的&#xff0c;随着时间的变化&#xff0c;我们身边的科技也…

梦回JavaScript--数据类型之undefined

undefined类型只有一个值&#xff0c;即undefined。在使用var声明变量但未对其加以初始化时&#xff0c;这个变量的值就是undefined&#xff1b; var mes; alert(mes undefined) //true如果变量没有声明就会出现错误 var mes; alert(mes) //undefined alert(a)//error 然而有一…

Robot Application Builder

软件开发工具包 Robot Application Builder是安装在PC机&#xff08;Windows 2000或Windows XP操作系统&#xff09;上的一种独立开发工具&#xff0c;可用于创建运行于ABB FlexPendant示教器或PC机上的定制化操作界面。为此&#xff0c;该软件包由以下两部分组成&#xff1a;…

asp.net model 验证和取出 ErrorMessage 信息

为什么80%的码农都做不了架构师&#xff1f;>>> public class Users{public int Id { get; set; }public string Name { get; set; }[Required(ErrorMessage "邮箱不能为空")][EmailAddressAttribute(ErrorMessage "邮箱格式不正确")]public…

this

作者&#xff1a;李挺链接&#xff1a;https://www.zhihu.com/question/19636194/answer/123274198来源&#xff1a;知乎著作权归作者所有&#xff0c;转载请联系作者获得授权。关于 this 的描述&#xff0c;曾经在 stackoverflow 上看到了一篇回答写的非常详尽&#xff0c;下面…

DeviceNet 消息类型

DeviceNet是一种低成本的通讯总线链接&#xff0c;具有开放现场网络标准&#xff0c;规范和协议都是开放的。DeviceNet将控制和数据融合在一起&#xff0c;信息具有数据标识区&#xff0c;网络利用标识区进行优先级仲裁&#xff0c;可以高效传送I/O数据。 DeviceNet有两种不同类…