当前位置: 首页 > wzjs >正文

网站建设深圳公司梅州网络推广

网站建设深圳公司,梅州网络推广,国内亲子游做的最好的网站,婚介交友网站建设http://cplusoj.com/d/senior/p/SS230922C 首先有个贪心,按长度从大往小选,是错的 然后有个dp,按左端点排完后选连续段,也是错的 但把上面两个结合起来,还是错的 然后此时错的有个共性,就是存在区间包含…

http://cplusoj.com/d/senior/p/SS230922C

首先有个贪心,按长度从大往小选,是错的

然后有个dp,按左端点排完后选连续段,也是错的

但把上面两个结合起来,还是错的

然后此时错的有个共性,就是存在区间包含关系

然后我们把区间包含关系去掉,另外统计贡献,那样是对的

只不过超时而已

然后发现dp转移的贡献函数可以直接拿端点值之差来表示

然后就可以前缀和了

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){int x=0,f=1;char ch=getchar(); while(ch<'0'||
ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;}
#define Z(x) (x)*(x)
#define pb push_back
//mt19937 rand(time(0));
//mt19937_64 rand(time(0));
//srand(time(0));
#define N 5010
//#define M
//#define mo
struct node {int l, r, len; 
}a[N];
int n, m, i, j, k, T, sum;
int ans, l, r, s[N][N], f[N][N], b[N], p[N], g[N][N]; 
int mx; void sol1() {l=0; r=1e9; sort(a+1, a+n+1, [] (node x, node y) { return x.len>y.len; }); for(i=1; i<m; ++i) sum+=a[i].len; for(i=m; i<=n; ++i) l=max(l, a[i].l), r=min(r, a[i].r); sum+=max(0ll, r-l);ans=max(ans, sum); 
}signed main()
{
//	freopen("in.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);freopen("se.in", "r", stdin);freopen("se.out", "w", stdout);
//	T=read();
//	while(T--) {
//
//	}n=read(); m=read(); for(i=1; i<=n; ++i) {a[i].l=read(); a[i].r=read(); a[i].len=a[i].r-a[i].l; }sol1(); for(i=1; i<=n; ++i)  for(j=1; j<=n; ++j)if(i!=j) {if(a[j].l<=a[i].l && a[j].r>=a[i].r) p[j]=1; }for(i=1, j=0; i<=n; ++i) if(p[i]) b[++j]=a[i].len; sort(b+1, b+j+1, [] (int x, int y) { return x>y; }); partial_sum(b+1, b+j+1, b+1); for(i=1, j=0; i<=n; ++i) if(!p[i]) a[++j].l=a[i].l, a[j].r=a[i].r; n=j; sort(a+1, a+n+1, [] (node x, node y) { return x.l<y.l; }); memset(f, 0x80, sizeof(f)); memset(g, 0x80, sizeof(g)); f[0][0]=0; g[0][0]=a[1].r; for(j=1; j<=n; ++j) {mx=0; for(i=0; i<j; ++i) mx=max(mx, g[i][j-1]); for(i=j; i<=n; ++i) {f[i][j]=max(0ll, mx-a[i].l); g[i][j]=f[i][j]+a[i+1].r; mx=max(mx, g[i][j-1]); }}for(j=0; j<=m; ++j) ans=max(ans, f[n][j]+b[m-j]); printf("%lld", ans); return 0;
}
http://www.dtcms.com/wzjs/303397.html

相关文章:

  • pc端自定义页设计与制作短视频seo询盘获客系统软件
  • 中兴建设有限公司网站企业管理培训课程费用
  • 网站开发属于什么部门seo搜索引擎优化介绍
  • wordpress tag别名海外seo培训
  • 深圳高品质网站建设服务百度网站排名怎么提高
  • 做微信网站公司名称永久免费跨境浏览app
  • 淄博网站建设高质量外链代发
  • 关于网站推广域名注册需要多少钱?
  • 做网站设计怎么提升百度网站链接
  • .php的网站是怎么做的深圳网站seo
  • chinacd wordpress宁波seo推广外包公司
  • clouder认证考试网站建设软文时光发稿平台
  • 网站建设规划书模板宁波seo怎么做引流推广
  • 西安网站的设计说明百度明令禁止搜索的词
  • wordpress 公式编辑器企业关键词优化专业公司
  • 郑州富士康最新招聘信息薪资待遇seo线上培训机构
  • web网站开发公司搜狗推广登陆
  • 东莞互联网招聘seo在线优化工具 si
  • 宝安营销型网站设计seo整站优化外包
  • wordpress建站教程简书网络营销推广的渠道有哪些
  • 做营销型网站公司网站seo如何优化
  • 网站投票活动怎么做个人在百度上发广告怎么发
  • 陕西建设教育网站无锡百度竞价
  • wordpress 小学生重庆网页优化seo
  • 网站开发商品排序逻辑品牌网站设计
  • 凡客网站登录廊坊seo排名霸屏
  • 常德市网站建设关键词seo排名怎么做的
  • 做网站的公司创业杭州seo
  • 分类信息网站手机版我要软文网
  • 网站开发思维导图内容营销策划书