Wannafly挑战赛26:B冥土追魂(模拟?贪心?暴力?)
题目描述
有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏....
Misaka和Kuroko在一个 n x m 的棋盘上玩游戏,每个格子上都放着一些呱太。游戏共进行 k 回合,每一回合 Kuroko会选**有呱太**的一行 i,在这之后Misaka会选择一列 j ,并拿走格子 (i, j) 上的所有呱太,Misaka希望自己拿走的呱太尽可能多,而Kuroko不想让Misaka拿走很多呱太,所以她希望拿走的呱太尽可能少。
在一旁围观的恒温死神希望预测结果,请你预测在双方都采取最优策略的情况下,Misaka最终能拿走呱太的数量。
输入描述:
第一行三个数 n, m, k。 接下来 n 行,每行 m 个数,第 i 行第 j 个数表示棋盘第 i 行第 j 列上的呱太数量 ai,j。
输出描述:
输出共一个数,表示在你的预测下,Misaka最终能拿走呱太的数量。
示例1
输入
复制
3 2 4 5 7 3 2 8 5
输出
复制
17
备注:
1≤ n, m ≤ 1000, 1 ≤ k ≤ n x m, 1 ≤ ai,j ≤ 109
Misaka每次拿的肯定是kuroko选的那一行的最大的数。
首先可以得出如果要拿就要把这一行拿完,然后会剩下k%m个,这k%m个也是要全拿同一行的最大的。
先对每一行排序从大到小,记下前k个的和,和这一行的总和。
会有k/m行被全部拿完,这k/m行一定是和最小的几行,但是拿k%m个数的那一行不确定,所以暴力选k%m个数的那一行,加上全拿完的k/m行,每次求出一个ans留下最小的。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e3+5;
struct node {ll data, datak;
}sum[maxn];
bool cmpp(ll a, ll b) {return a > b;
}
bool cmp(node a, node b) {return a.data < b.data;
}
ll a[maxn][maxn];
int main() {int n, m, k;scanf("%d%d%d", &n, &m, &k);int pk = k / m, qk = k % m;for (int i = 0; i < n; i++) {sum[i].data = 0;sum[i].datak = 0;for (int j = 0; j < m; j++)scanf("%lld", &a[i][j]);sort(a[i], a[i] + m, cmpp);for (int j = 0; j < m; j++) {sum[i].data += a[i][j];if (j == qk - 1)sum[i].datak = sum[i].data;} }ll minn = 1ll<<62;sort(sum, sum + n, cmp);for (int i = 0; i < n; i++) {ll ans = sum[i].datak;int c = 0;for (int j = 0; j < n && c < pk; j++) {if (j != i || !qk) {ans += sum[j].data;c++;}}minn = min(ans, minn);}printf("%lld\n", minn);return 0;
}
Wannafly挑战赛26:B冥土追魂(模拟?贪心?暴力?)相关推荐
- Wannafly挑战赛26: B. 冥土追魂(思维题)
链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 题目描述 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misa ...
- Wannafly挑战赛26 B.冥土追魂 贪心
链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 题目描述 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misa ...
- nowcoder (牛客)Wannafly挑战赛26 B: 冥土追魂 (思维)
链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言104 ...
- Wannafly挑战赛26 B 冥土追魂(暴力)
题意:链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misaka ...
- Wannafly挑战赛26 B冥土追魂
链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言104 ...
- wannafly挑战赛26 B 冥土追魂 (思维+排序)
大致题意 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏- Misaka和Kuroko在一个 n x m 的棋盘上玩游戏,每个格子上都放着一些呱太.游戏共进行 k 回合,每一回合 ...
- Wannafly挑战赛26 B 冥土追魂
首先,证明结果一定是取某些整行,再加上一个多余的一行的前几个. 假如: x1<=x2<=x3<=x4<=x5 y1<=y2<=y3<=y4<=y5 取6 ...
- Wannafly挑战赛26-B 冥土追魂(贪心?思维?模拟?)
转载出自 https://blog.csdn.net/c_13579/article/details/83039005 贪心不行,数学思维寻找它的选取规律 #include<iostream&g ...
- Wannafly挑战赛26-B 冥土追魂
地址:https://www.nowcoder.com/acm/contest/212/B 思路:对于行列选取,是选择所有行中的最大值的最小值,当是并不能用贪心来做,例如 2 2 2 7 8 1 9 ...
最新文章
- Linux、Windows、Mac下Docker的安装与使用
- ARM编程模式和7钟工作模式
- 【前端周刊】20190606
- 如何在macOS Monterey 中开启对焦模式?
- 使用Movavi Photo Editor如何修复照片中的红眼
- SSM+Redis简介
- ASP.Net在web.config中设置上传文件的大小方法
- 为什么图灵奖获得者戴克斯特拉痛恨 BASIC 语言
- Vm虚拟化连不上存储服务器,VMware服务器虚拟化、虚拟桌面应该选择什么存储品牌最好--我们有软硬方案...
- 备份一下Linux笔记
- 3060Ti显卡,tensorflow2.4-GPU安装
- Kotlin高仿微信-第20篇-个人信息
- AT-SURF-F437 3D Test
- unraid虚拟linux系统,UNRAID教程:3分钟用unraid自带的虚拟机安装黑群晖NAS DSM系统很强大!...
- 注解—— java.lang.annotation.Annotation
- Ubuntu 环境变量设置
- 消息称勒索软件可逃避PC防御、Office漏洞补丁能被攻击者绕过|12月24日全球网络安全热点
- iOS逆向学习之 Mac 登录到 iPhone
- 微信小程序 - 云开发轮询实现定时推送订阅消息
- Basler相机安装教程
热门文章
- 「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE
- 新浪微博布局学习——妙用TabHost
- 智能运维实践——魅族技术开放日第十三期现场纪实
- 快递提前签收件怎么快速归类
- 记录一次wagon报错Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0:upload-single
- Springboot毕设项目壁纸网站32zp4(java+VUE+Mybatis+Maven+Mysql)
- antdesign-vue表格table组件列字段筛选
- TypeScript中interface 与 type的区别,你真的懂吗?
- ChatGPT热中的冷思考
- vue+ueditor+kityformula数学公式插件