博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CF321E】+【bzoj5311】
阅读量:5313 次
发布时间:2019-06-14

本文共 1545 字,大约阅读时间需要 5 分钟。

决策单调性 + WQS二分

贴个代码先...

//by Judge#pragma GCC optimize("Ofast")#include
#define Rg register#define fp(i,a,b) for(Rg int i=(a),I=(b)+1;i
I;--i)#define ll long longusing namespace std;const int M=4003;#ifndef Judge#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)#endifchar buf[1<<21],*p1=buf,*p2=buf;inline ll read(){ ll x=0,f=1; char c=getchar(); for(;!isdigit(c);c=getchar()) if(c=='-') f=-1; for(;isdigit(c);c=getchar()) x=x*10+c-'0'; return x*f;} int n,K,ans,s[M][M],f[M],w[M];inline int calc(int j,int i){ return f[j]+s[i][i]-s[j][i];}inline bool judge(int j,int k,int i){ //判断 f[i] 大小 int valj=calc(j,i),valk=calc(k,i); if(valj^valk) return valj>valk; return w[j]>=w[k];}inline int rate(int j,int k){ //得到交点位置 int l=k+1,r=n; while(l<=r){ int mid=(l+r)>>1; if(judge(j,k,mid)) r=mid-1; else l=mid+1; } return l;}inline bool check(int mid){ //二分附加权值 static int head,tail,q[M]; q[head=tail=1]=0; fp(i,1,n){ //斜率优化 while(head
rate(q[tail],i)) --tail; q[++tail]=i; } return w[n]<=K;}int main(){ n=read(),K=read(); fp(i,1,n) fp(j,1,n) s[i][j]=read(); fp(i,1,n) fp(j,1,i) s[i][j]=0; fp(i,1,n) fp(j,1,n) s[i][j]=s[i][j-1]+s[i][j]; fp(i,1,n) fp(j,1,n) s[i][j]=s[i-1][j]+s[i][j]; int l=0,r=s[n][n]; while(l<=r){ int mid=(l+r)>>1; if(check(mid)) r=mid-1,ans=f[n]-K*mid; else l=mid+1; } return !printf("%d\n",ans);}

转载于:https://www.cnblogs.com/Judge/p/11311661.html

你可能感兴趣的文章
关于View控件中的Context选择
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
Spark的启动进程详解
查看>>
使用命令创建数据库和表
查看>>
机器视觉:SSD Single Shot MultiBox Detector
查看>>
201521123044 《Java程序设计》第1周学习总结
查看>>
MIT Scheme 的基本使用
查看>>
在16aspx.com上下了一个简单商品房销售系统源码,怎么修改它的默认登录名和密码...
查看>>
c++回调函数
查看>>
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
多米诺骨牌
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>