select
来源:互联网 发布:明年今日 知乎 编辑:程序博客网 时间:2024/06/05 05:59
贪心先选列,再选行,再将交叉的减去
#include<cstdio>#include<algorithm>#include<queue> #define ll long longusing namespace std;int n,m,k,p; ll f[1999999],f2[1999999],ans=-1e16,a[1999999],b[1999999];priority_queue<ll> q1, q2;int main(){ freopen("select.in","r",stdin); freopen("select.out","w",stdout); scanf("%d%d%d%d",&n,&m,&k,&p); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ int x; scanf("%d",&x); a[i]+=x; b[j]+=x; } for(int i=1;i<=n;i++) q1.push(a[i]); for(int i=1;i<=m;i++) q2.push(b[i]); for(int i=1;i<=k;i++){ ll x=q1.top();q1.pop(); f[i]=f[i-1]+x; x-=m*p;q1.push(x); } for(int i=1;i<=k;i++){ ll x=q2.top();q2.pop(); f2[i]=f2[i-1]+x; x-=n*p;q2.push(x); } for(int i=0;i<=k;i++) ans=max(ans,f[i]+f2[k-i]-1ll*i*(k-i)*p); printf("%lld",ans);}
阅读全文
1 0
- select()
- select
- select
- select
- select
- select
- select
- select
- select()
- select
- Select .....
- Select
- select
- select ''
- select
- select
- select
- select
- HTML(四) HTML 标记和其属性
- 【算法】【Graph】Reconstruct Itinerary
- 迭代算法
- JVM基础
- Construct 2 技(胡)术(乱)指(操)导(作)
- select
- linux虚拟机安装步骤
- 构建乘积数组
- Integer Break
- centos 安装 python3.x
- 线段树 bzoj2957 楼房重建
- jQuery获取第一个子元素
- 博客已搬家
- BZOJ1266: [AHOI2006]上学路线route