题意

给定一个整数 \(T\),代表共有\(T\)组测试用例,对于每组测试用例:

给定四个整数 \(n,m,k和w(1 \leq n,m \leq 2 * 10^5, 1 \leq w \leq n * m \leq 2 * 10^5, 1 \leq k \leq min(n, m))\),随后输入 \(w\) 个整数 \(a_i\) 代表大猩猩的高度。

你需要从 \(n * m\) 的网格中,选出所有 \(k * k\) 的子网格,并且累计所有的子网格获取到的观赏价值。一个 \(k * k\) 的子网格获取到的观赏价值定义为:该网格内全部大猩猩的高度之和。

你要做的是将 \(w\) 只大猩猩按某个方式放入 \(n * m\) 的网格中,并且每个格子至多只能放置一只大猩猩,然后获取最大的观赏价值。

题解

\(\because\) 每个各自至多只能放置一只大猩猩

\(\therefore\) 将高度较高的大猩猩优先放置在所有子网格中出现频率最高的格子,可以获取到最大的观赏价值

对于格子 \((i, j)\),在所有的子网格中出现的频率为:$$freq = (min(k, (ll)n - i) + min(0LL, i + 1 - k)) * (min(k, (ll)m - j) + min(0LL, j + 1 - k))$$

那么,总体的代码思路就是对所有各自的频率排序,并对猩猩高度排序,从大到小依次配对即可。

参考代码

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);
using namespace std; typedef long long ll;
constexpr int N = 2e5 + 7;
int T = 1, n, m, w;
ll k, ans;
int a1[N];
ll a2[N]; void solve() {
ans = 0;
cin >> n >> m >> k >> w;
for (int i = 0; i < w; ++ i) cin >> a1[i];
sort(a1, a1 + w, [](int &a, int &b) {
return a > b;
});
for (int i = 0; i < n; ++ i) {
for (int j = 0; j < m; ++ j) {
a2[i * m + j] = (min(k, (ll)n - i) + min(0LL, i + 1 - k)) * (min(k, (ll)m - j) + min(0LL, j + 1 - k));
}
}
sort(a2, a2 + n * m, [](ll &a, ll &b) {
return a > b;
});
for (int i = 0; i < w; ++ i) {
ans += a1[i] * a2[i];
}
cout << ans << '\n';
} int main() {
IOS
cin >> T;
while (T --) {
solve();
}
return 0;
}

E. Photoshoot for Gorillas的更多相关文章

  1. iOS Developer Libray (中文版)-- Defining Classes 定义类

    该篇是我自己学习iOS开发时阅读文档时随手记下的翻译,有些地方不是很准确,但是意思还是对的,毕竟我英语也不是很好,很多句子无法做到准确的字词翻译,大家可以当做参考,有错误欢迎指出,以后我会尽力翻译的更 ...

  2. English trip V2 - 4. Really Wild Teacher:Maple Key:Adjectives of feeling

    In this lesson you will learn how to recognize animals and describe feeling. 课上内容(Lesson) 词汇(Key Wor ...

  3. gym101350 c h m

    C. Cheap Kangaroo time limit per test 1.0 s memory limit per test 256 MB input standard input output ...

  4. css中attribute selector及pseudo class

    https://developer.mozilla.org/en-US/docs/Web/CSS/Reference#Selectors 在css3规范中,定义了以下几种类型的selector: Ba ...

  5. iOS平台iPhone和iPad免费开放源代码游戏案例列表

    此页面列表收集的是一些iPhone和iPad等iOS操作系统的开放源代码(Open Source)游戏.这些iOS开源游戏都是曾经或正发布在App Store.列表中的这些iOS开源游戏都是使用主流的 ...

  6. 最长回文子串(Mirrored String II)

    Note: this is a harder version of Mirrored string I. The gorillas have recently discovered that the ...

  7. App Store中的开源游戏汇总

    这是国外达人收集的曾经在app store上出现过,或者还在app store上卖的iOS开源游戏的列表,其中代码大部分人你托管在google code或者github上,其中有很多使用Cocos2D ...

  8. App Store上的开源应用汇总

    以下是互联网上主要的开源iOS应用的列表,在学习的时候,多看看完成的功能代码可以给我们带来很多经验,但是除了Apple官方提供的Sample Code之外,我们很难找到优质的开源项目代码,所以我搜集了 ...

  9. jQuery和CSS的拍摄效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Manacher(最长镜面回文串)

    I - O'My! Gym - 101350I Note: this is a harder version of Mirrored string I. The gorillas have recen ...

随机推荐

  1. 画布canvas基础 01

    1. 什么是canvas canvas是用来绘制图形的.它可以用于动画.游戏画面.数据可视化.图片编辑以及实时视频处理等方面. <canvas width="500" hei ...

  2. 过滤器 多少时间之前发布 dayjs relative'TrelativeTime

    import dayjs from "dayjs"; import relativveTime from "dayjs/plugin/relativeTime" ...

  3. 深入解析Spring AI框架:在Java应用中实现智能化交互的关键

    今天我们的Spring AI源码分析主题即将结束.我已经对自己感兴趣的基本内容进行了全面的审视,并将这些分析分享给大家.如果你对这个主题感兴趣,可以阅读以下几篇文章.每篇文章都层层递进,深入探讨相关内 ...

  4. 题解:GZOI2024 D2T2 乒乓球

    考场上切了,但是比较神奇的题,应该是蓝/紫. Discription 乒乓球 \(\text{ }\)时间限制:\(\bold{3}\) 秒 众所周知,一场乒乓球比赛共有两个玩家 \(A\) 和 \( ...

  5. 基础控件(ListView,RecyclerView,单位和尺寸,ViewPager,ViewPager2)

    ListView list_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  6. 低配置PC环境下的魔兽世界游戏体验:ToDesk云电脑性能测试分析

    近期魔兽世界再度开服,吸引了众多游戏老玩家回归.然而随着游戏内容的不断更新,其对电脑配置的要求也在逐渐升提高.对于许多电脑配置较低的老玩家,如何在不升级硬件的情况下流畅运行魔兽世界成为了一个难题. 随 ...

  7. CSS动画(登录页面)

    1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa6Pfop3IiakrZOtiaiaKniaxeH2Gs407DmkXPsMo8AFKdsYib ...

  8. 使用 FastGPT 工作流实现 AI 赛博算卦,一键生成卦象图

    最近那个男人写的汉语新解火遍了全网,那个男人叫李继刚,国内玩 AI 的同学如果不知道这个名字,可以去面壁思过了. 这个汉语新解的神奇之处就在于它只是一段几百字的提示词,效果却顶得上几千行代码写出来的应 ...

  9. TPS和QPS区别与计算

    1.定义 TPS(Transactions Per Second):每秒事务数.事务是指一个完整的业务处理过程,例如用户完成一次购物支付的过程,从挑选商品.下单.支付到生成订单,这一系列操作可以看作是 ...

  10. Context的典型使用场景

    获取应用文件路径 基类Context提供了获取应用文件路径的能力,ApplicationContext.AbilityStageContext.UIAbilityContext和ExtensionCo ...