E. Photoshoot for Gorillas(Codeforces Round 966 (Div. 3))

news/2024/11/29 22:13:08/文章来源:https://www.cnblogs.com/gailixia/p/18577684

https://codeforces.com/contest/2000/problem/E
题目描述

你非常喜欢屮大猩猩,于是你决定为它们组织一次拍摄活动。大猩猩生活在丛林中,丛林被表示为一个有 nm 列的网格,有 w 个大猩猩同意参与拍摄,第 i 个大猩猩的身高ai .你希望将所有大猩猩放置在网格的单元格中,并且确保每个单元格中最多只有一只大猩猩。

每种方案的壮观程度等于网格中所有以 k 为边长的子正方形的壮观程度的总和

子正方形的壮观程度等于其中所有大猩猩的身高的总和

从所有合适的方案中选出最壮观的方案

输入格式

第一行包含一个整数 t ,表示共有 t 组测试样例

测试用例的描述如下

第一行包含三个整数 n,m,k表示网格的尺寸和子正方形的边长

第二行包含一个整数 w,表示大猩猩的数量

第三行包含 w 个整数 a1,a2,...,aw表示每个大猩猩的身高。

保证所有测试样例中 n⋅m的总和不超过 2e5,w的总和也不超过2e5

输出格式

对于每个测试用例,输出一个整数表示最壮观的方案的壮观程度

**输入 **

5
3 4 2
9
1 1 1 1 1 1 1 1 1
2 1 1
2
5 7
20 15 7
9
4 1 4 5 6 1 1000000000 898 777
1984 1 1
4
5 4 1499 2004
9 5 5
6
6 7 14 16 16 6

输出

21
12
49000083104
3512
319

[!TIP]

一个边长为k的正方形,开你是一个一个一个❤❤❤n*m的baka上从下往上扫,用矩阵最后一次扫到的位置减去矩阵第一次扫到的位置,然后加1,就可以得到答案(扫到的次数是横向扫到的次数*纵向扫到的次数

时间 内存
140ms 1100KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;int main() 
{int t, n, m, k, w;scanf("%d", &t);for (int i = 0; i < t; i++) {scanf("%d %d %d %d", &n, &m, &k, &w);vector<ll> h(w);for (int i = 0; i < w; i++) {scanf("%lld", &h[i]);}vector<ll> baka;for (int x = 0; x < n; x++) //行❤{for (int y = 0; y < m; y++) //列❤{int r = k - 1;//在不超出网格右边界的情况下,从当前y坐标开始向右能放置的最大纵坐标(通过min(m - 1 - r, y)计算),再找到在不超出网格左边界的情况下,从当前y坐标开始向左能放置的最小纵坐标(通过max(0, y - r)计算),两者相减再加1就得到了水平方向上能放置完整子正方形的数量int l = min(m - 1 - r, y) - max(0, y - r) + 1;//横//在不超出网格下边界的情况下,从当前x坐标开始向下能放置的最大横坐标(通过min(n - 1 - r, x)计算),再找到在不超出网格上边界的情况下,从当前x坐标开始向上能放置的最小横坐标(通过max(0, x - r)计算),两者相减再加1就得到了垂直方向上能放置完整子正方形的数量int ww = min(n - 1 - r, x) - max(0, x - r) + 1;//竖,用矩阵最后一次扫到的位置减去矩阵第一次扫到的位置再+1baka.push_back(l * ww);//影响次数}}sort(baka.begin(), baka.end(), greater<ll>());//影响次数和身高降序排序sort(h.begin(), h.end(), greater<ll>());ll best = 0;for (int i = 0; i < w; i++)//贪心算法,每次选择最大的影响次数和最高的身高进行匹配 {ll a = baka[i];ll b = h[i];best += a * b;}printf("%lld\n", best);}return 0;




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/843704.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows版lammps的安装和计算

1.安装:详情见:https://mp.weixin.qq.com/s/xwx0c2ATNM0pphaHwDLkmQ 2.提交计算task的命令: mpiexec -np 4 lmp -in xxx.in #其中xxx.in表示in文件的名称,详情见 https://mp.weixin.qq.com/s/i6fa7xTKjlgSirPm0cj_4w 3.将MS的car和mdf文件导出data文件的方法:(命令…

第三十八讲:自增主键为什么不是连续的

你现在可以不懂,但以后面试的时候,必须要知道的三个关于自增主键的点 第一:唯一键冲突和事务回滚是导致自增主键不连续的两种大原因,此外批量插入数据的语句,MySQL 批量申请自增 id 的策略也是一个隐藏原因 第二:MySQL设计中不允许自增值回退的原因,主要是为了提升性能还…

NOIP 2024 退役记

人生有梦,各自精彩。Day -??? 摆疯了,啥也没复习,猫国建设者真好玩。 Day 0 昨晚回家结果摆到两点,感觉要在 noip 考场上睡着了/shui。早上没起来,迟到了/kk。 上午没怎么复习,摆摆摆,哎哎哎。 中午疯狂看小说,败犬太好看辣! 下午出发淄博。路上一直在睡觉,后悔没…

MySQL底层概述—4.InnoDB数据文件

大纲 1.表空间文件结构 (1)表空间Tablesapce (2)段Segment (3)区Extend (4)页Page (5)行Row 2.Page结构 (1)页结构各部分说明 (2)页结构整体划分 3.行记录格式 (1)行格式分类 (2)COMPACT行记录格式 (3)Compact中的行溢出机制 (4)其他行格式记录1.表空间文件结构 (1)表空间Table…

gin

Gin Gin入门 gin的学习要点如何定义路由:包括参数路由、通配符路由 如何处理输入输出 如何使用middleware解决AOP问题在 Gin 里面,用 Engine 来监听一个端口,是一个逻辑上的服务器。 一个 Go 进程可以创建多个 Engine。 hello, world 使用步骤:在应用中引入 Gin 依赖:go g…

MySQL底层概述—3.InnoDB线程模型

大纲 1.InnoDB的线程模型 2.IO Thread 3.Purge Thread 4.Page Cleaner Thread 5.Master Thread1.InnoDB的线程模型 InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。后台线程的作用一:负责刷新内存池中的数据,保证缓冲池中的内存缓存是最…

20222427 2024-2025-1 《网络与系统攻防技术》实验七实验报告

1.实验内容 1.1 本周学习内容本周学习了有关Web安全的相关知识,复习了一些有关于Web的基础知识,比如:前、后端的定义,以及在前后端各自使用的语言,如:html、css、JS(前端);C/C++、Python、Java、Go、Php(后端)等。学习了有关于数据库攻击的一些基本操作,如:SQL注入…

基于Java+SpringBoot+Mysql实现的点卡各种卡寄售平台功能设计与实现四

部分功能:实名认证信息数据层Dao、银行卡类型信息数据层Dao、卡种类信息数据层Dao、卡类型信息数据层Dao、卡面值信息数据层Dao一、前言介绍: 免费学习:猿来入此 1.1 项目摘要 随着电子商务和在线支付技术的快速发展,数字商品和虚拟货币的交易需求日益增长。点卡及各种卡类…

kafka的搭建与使用

官网下载地址https://kafka.apache.org/downloads1、上传解压tar -zxvf kafka_2.11-1.0.0.tgz -C ../ mv kafka_2.11-1.0.0 kafka-1.0.02、修改环境变量 配置环境变量vim /etc/profileexport KAFKA_HOME=/usr/local/soft/kafka-1.0.0 export PATH=$PATH:$KAFKA_HOME/binsource …

河北公需课代 (可以补)

学时30个,需要联系15689397956

技术框架对MyBatis的入门学习

MyBatis快速入门 在回顾JDBC时,我们已经创建有Maven工程,而且在pom.xml中也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现JDBC查询user的操作流程。 MyBatis环境搭建 首先,在 Maven 项目的 pom.xml 中添加 MyBatis 的依赖 jar 包 &…