题目链接:http://codeforces.com/problemset/problem/446/B

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e3+3;
int matrix[N][N];
ll row[N],col[N];
ll dpr[N*N],dpc[N*N];
priority_queue <ll> q;
int main()
{
ll n,m,k,p;
scanf("%I64d%I64d%I64d%I64d",&n,&m,&k,&p);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&matrix[i][j]);
row[i]+=matrix[i][j];
col[j]+=matrix[i][j];
}
}
for(int i=1;i<=n;i++)
q.push(row[i]);
for(int i=1;i<=k;i++)
{
ll temp=q.top();
q.pop();
dpr[i]=dpr[i-1]+temp;
temp-=m*p;
q.push(temp);
}
while(!q.empty()) q.pop();
for(int i=1;i<=m;i++)
q.push(col[i]);
for(int i=1;i<=k;i++)
{
ll temp=q.top();
q.pop();
dpc[i]=dpc[i-1]+temp;
temp-=n*p;
q.push(temp);
}
ll ans=dpr[0]+dpc[k];
for(ll i=1;i<=k;i++)
ans=max(ans,dpr[i]+dpc[k-i]-i*(k-i)*p);
printf("%I64d\n",ans);
return 0;
}

codeforces 446B(优先队列)的更多相关文章

  1. CodeForces 446B DZY Loves Modification

    题意: k次操作  每次选择一行或一列  得到所选数字的和  并将所选数字同一时候减去p  问最多得到多少 思路: 重点在消除行列间的相互影响 因为每选一行全部列所相应的和都会-p  那么假设选了i次 ...

  2. CodeForces 446B

    DZY Loves Modification time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  3. 【组队赛三】-D 优先队列 cf446B

    DZY Loves Modification Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Sub ...

  4. 11.1 正睿停课训练 Day14

    目录 2018.11.1 正睿停课训练 Day14 A 字符串 B 取数游戏(贪心) C 魔方(模拟) 考试代码 B C 2018.11.1 正睿停课训练 Day14 时间:3.5h 期望得分:100 ...

  5. codeforces 725D . Contest Balloons(贪心+优先队列)

    题目链接:codeforces 725D . Contest Balloons 先按气球数从大到小排序求出初始名次,并把名次排在第一队前面的队放入优先队列,按w-t-1值从小到大优先,然后依次给气球给 ...

  6. Codeforces Round #322 (Div. 2) C. Developing Skills 优先队列

    C. Developing Skills Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/581/p ...

  7. Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2)(A.暴力,B.优先队列,C.dp乱搞)

    A. Carrot Cakes time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  8. Educational Codeforces Round 62 (Rated for Div. 2) C 贪心 + 优先队列 + 反向处理

    https://codeforces.com/contest/1140/problem/C 题意 每首歌有\(t_i\)和\(b_i\)两个值,最多挑选m首歌,使得sum(\(t_i\))*min(\ ...

  9. Codeforces 1132D - Stressful Training - [二分+贪心+优先队列]

    题目链接:https://codeforces.com/contest/1132/problem/D 题意: 有 $n$ 个学生,他们的电脑有初始电量 $a[1 \sim n]$,他们的电脑每分钟会耗 ...

随机推荐

  1. Android官方数据绑定框架DataBinding

    数据绑定框架给我们带来了更大的方便性,以前我们可能需要在Activity里写很多的findViewById,烦人的代码也增加了我们代码的耦合性,现在我们马上就可以抛弃那么多的findViewById. ...

  2. pycharm 常用设置,打开文件数量

    1.主题(皮肤)和字体的设置(暂时略过) File ->Settings -> 搜索Font 2.文档行号的设置 1,临时设置.右键单击行号处,选择 Show Line Numbers. ...

  3. requestAnimationFrame 动画

    requestAnimationFrame : 调用这个方法,就是告诉浏览器要执行动画了,从而浏览器自动计算动画时间间隔,从而在恰当的时候刷新UI, 动画更加平滑. 他的用法和setTimeout() ...

  4. hdu3065病毒侵袭持续中

    链接 上一篇的姊妹篇 没啥好说的 套模板 #include <iostream> #include<cstdio> #include<cstring> #inclu ...

  5. Delphi 使用之dll文件生成与调用

    DLL是Dynamic-Link Libraries(动态链接库)的缩写,库里面是一些可执行的模块以及资源(如位图.图标等).可以认为DLL和EXE基本上是一回事,只是DLL不能直接执行,而必须由应用 ...

  6. 转!!mybatis在xml文件中处理大于号小于号的方法

    第一种方法: 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE 1 = 1 AND start_date  <= CURRENT_DA ...

  7. 转!!XML,DTD,XSD,XSL的区别

    XML=可扩展标记语言(eXtensible Markup Language).可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可用 方便的方式建立,虽然XML占 ...

  8. Head First 设计模式 --3 装饰者模式 开闭原则

    装饰者模式:动态的将责任附加到对象上,若要扩展功能,装饰者提供了比集成更有弹性的替代方案.设计原则:1:封装变化2:多用组合,少用继承3:针对接口编程,不针对实现编程4:为对象之间的松耦合设计而努力5 ...

  9. page,client,offset区别

    offset:相对于当前“盒子”的距离 ,与滚动条无关 client:相对于可视区域的距离,与滚动条无关 page:相对于整个页面的距离,与滚动条有关 示例代码: <!DOCTYPE html& ...

  10. SQL Server 用户名密码查看

    因为SQL Server是默认使用Windows身份验证的,很多时间就会慢慢忘记掉原来设置的密码,那么怎么重新设置用户名密码呢 这里以SQL Server2013为例,先以windows身份验证登陆进 ...