Codeforces Round 920(div3)A - G except E

A - Square

  • 思维
  • 按行或列排序
signed main() {int T = 1;T = read();while (T--) {vector<pii> vec;for (int i = 1; i <= 4; ++i) {int u = read(), v = read();vec.push_back({u, v});}sort(vec.begin(), vec.end());int a = abs(vec[0].second - vec[1].second);int b = abs(vec[0].first - vec[2].first);writeln(a * b);}return 0;
}

B - Arranging Cats

  • 思维
  • 记录两个的 1 1 1 的数量。
  • 相同位置同为 1 1 1 则不用操作。
  • 谁大则答案加上减去相同位置同为 1 1 1 的数量(要么补,移,删)
signed main() {int T = 1;T = read();while (T--) {int n = read();string s1, s2; cin >> s1 >> s2;int cnt1 = count(s1.begin(), s1.end(), '1'), cnt2 = count(s2.begin(), s2.end(), '1');int ans = 0;int cnt = 0;
//        tf(cnt1),tf(cnt2);for (int i = 0; i < n; ++i) {if (s1[i] == s2[i] && s1[i] == '1') ++cnt;}if (cnt1 >= cnt2) ans += cnt1 - cnt;else ans += cnt2 - cnt;writeln(ans);}return 0;
}

C - Sending Messages

  • 模拟
  • 两种方事选择消耗小的一种
signed main() {int T = 1;T = read();while (T--) {int n = read(), f = read(), a = read(), b = read();vector<int> e(n + 1);bool ff = 1;int pre = 0;for (int i = 1; i <= n; ++i) e[i] = read();for (int i = 1; i <= n; ++i) {if ((e[i] - pre) * a <= b) f -= (e[i] - pre) * a;else f -= b;if (f <= 0) {ff = 0;break;}pre = e[i];}ff? puts("yes"): puts("no");}return 0;
}

D - Very Different Array

  • 贪心
  • a a a 最小的与 b b b 最大的匹配, a a a 最大的与 b b b 最小的匹配。
signed main() {int T = 1;T = read();while (T--) {int n = read(), m = read();deque<int> a, b;for (int i = 1; i <= n; ++i) {int u = read();a.push_back(u);}for (int i = 1; i <= m; ++i) {int u = read();b.push_back(u);}sort(a.begin(), a.end());sort(b.begin(), b.end(), greater<int>());int ans = 0;for (int i = 0; i < n; ++i) {int t1 = abs(a.front() - b.front()), t2 = abs(a.back() - b.back());if (t1 > t2) {ans += t1;a.pop_front(), b.pop_front();}else {ans += t2;a.pop_back(), b.pop_back();}}writeln(ans);}return 0;
}

E - Eat the Chip 待补

F - Sum of progression

  • 根号分治
  • 预处理 d ≤ n d\leq \sqrt{n} dn ,暴力 d > s q r t O ( n ⋅ n ) d>sqrt{}\;O(n\cdot \sqrt{n}) d>sqrtO(nn )
vector<vector<int>> pref(N + 322, vector<int>(323)), sum(N + 322, vector<int>(323));
signed main() {int T = 1;T = read();while (T--) {int n = read(), q = read();int D = sqrt(n);
//        while (D * D < n) ++D;vector<int> a(n + 1);for (int i = 1; i <= n; ++i) a[i] = read();for (int i = 1; i <= D; ++i) pref[1][i] = sum[1][i] = 0;for (int d = 1; d <= D; ++d) {for (int i = 1; i <= n; ++i) {pref[i + d][d] = pref[i][d] + a[i];sum[i + d][d] = sum[i][d] + a[i] * (i / d + 1);}}while (q--) {int s = read(), d = read(), k = read();if (d <= D) {int r = s + d * k;writesp(sum[r][d] - sum[s][d] - (pref[r][d] - pref[s][d]) * (s / d));}else {int ans = 0;for (int i = 0; i < k; ++i) ans += a[s + d * i] * (i + 1);writesp(ans);}}puts("");}return 0;
}

G - Mischievous Shooter

  • 枚举 + 模拟
  • 枚举每一个点即可,只考虑图里第一个的情况,其余三个可以翻转矩形。

c o d e l e a r n f r o m j i a n g l y code \;learn\;from\;jiangly codelearnfromjiangly 简洁多了

signed main() {int T = 1;T = read();while (T--) {int n = read(), m = read(), k = read();vector<string> s(n);for (int i = 0; i < n; ++i) cin >> s[i];int ans = 0;auto solve = [&] () {vector<vector<int>> pref1(n, vector<int>(m)), pref2(n, vector<int>(m));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (i) pref1[i][j] = pref1[i - 1][j];if (i && j < m - 1) pref2[i][j] = pref2[i - 1][j + 1];pref1[i][j] += (s[i][j] == '#');pref2[i][j] += (s[i][j] == '#');}}vector<vector<int>> dp(n, vector<int>(m));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (j) {dp[i][j] = dp[i][j - 1];if (i + j > k) {int x = i, y = j - (k + 1);if (y < 0) x += y, y = 0;dp[i][j] -= pref2[x][y];}if (i >= k + 1) dp[i][j] += pref2[i - (k + 1)][j];}dp[i][j] += pref1[i][j];if (i >= k + 1) dp[i][j] -= pref1[i - (k + 1)][j];ans = max(ans, dp[i][j]);}}};solve();reverse(s.begin(), s.end());solve();for (auto &it: s) reverse(it.begin(), it.end());solve();reverse(s.begin(), s.end());solve();writeln(ans);}return 0;
}

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

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

相关文章

算法第二十一天-丑数

丑数 题目要求 解题思路 首先判断数字是不是为0或者负数&#xff0c;两者均不可能成为丑数&#xff1b; 之后对n进行不断整除&#xff0c;直到无法除尽为止。 简单判断最后的数是不是1即可。 代码 class Solution:def isUgly(self, n: int) -> bool:if n<0:return Fa…

Linux启动流程梳理值得收藏

Linux启动流程总的来说可以分成三个阶段 Linux启动流程图 第一步&#xff1a;上电 在 x86 系统中&#xff0c;将 1M 空间最上面的 0xF0000 到 0xFFFFF 这 64K 映射给 ROM。 当电脑刚加电的时候&#xff0c;会做一些重置的工作&#xff0c;将 CS 设置为 0xFFFF&#xff0c;将 IP…

Docker命令---搜索镜像

介绍 使用docker命令搜索镜像。 命令 docker search 镜像命令:版本号示例 以搜索ElasticSearch镜像为例 docker search ElasticSearch

【unity】麦克风声音驱动,控制身体做出不同动作

1.在角色对象上挂在animator组件&#xff0c;并将动作控制器与其关联 2.在角色对象上挂在audio source组件。 3.新建voice control脚本&#xff0c;编写代码如下&#xff1a; using System; using System.Collections; using System.Collections.Generic; using UnityEngine;…

复现PointNet++(语义分割网络):Windows + PyTorch + S3DIS语义分割 + 代码

一、平台 Windows 10 GPU RTX 3090 CUDA 11.1 cudnn 8.9.6 Python 3.9 Torch 1.9.1 cu111 所用的原始代码&#xff1a;https://github.com/yanx27/Pointnet_Pointnet2_pytorch 二、数据 Stanford3dDataset_v1.2_Aligned_Version 三、代码 分享给有需要的人&#xf…

算法专题[递归-搜索-回溯-2-DFS]

算法专题[递归-搜索-回溯-2-DFS] 一.计算布尔二叉树的值&#xff1a;1.思路一&#xff1a;2.GIF题目解析 二.求根节点到叶子节点的数字之和1.思路一&#xff1a;2.GIF题目解析 三.二叉树剪枝1.思路一&#xff1a;2.GIF题目解析 四.验证二叉搜索树1.思路一&#xff1a;2.GIF题目…

1.2 数据模型

数据模型是对现实世界数据特征的抽象&#xff0c;是现实世界的模拟 数据模型是用来描述数据、组织数据和对数据进行操作的 数据模型应满足三方面要求&#xff1a; 1 能比较真实地模拟现实世界 2 容易为人所理解 3 便于在计算机上实现 数据模型…

08. Springboot集成webmagic实现网页爬虫

目录 1、前言 2、WebMagic 3、Springboot集成Webmagic 3.1、创建Springboot&#xff0c;并引入webmagic依赖 3.2、定义PageProcessor 3.3、元素选择 3.3.1、F12查看网页元素 3.3.2、元素选择 3.3.3、注意事项 4、小结 1、前言 在信息化的时代&#xff0c;网络爬虫已…

QT的绘图系统QPainterDevice与文件系统QIODevice

QT的绘图系统&#xff08;QPainterDevice&#xff09;与文件系统&#xff08;QIODevice&#xff09; 文章目录 1、Qt 的绘图系统1、QPainter的使用2、QPen(画笔&#xff09;及QBursh&#xff08;画刷&#xff09;3、手动更新窗口4、绘图设备1、四种绘图设备的 区别2、 QBitmap3…

零食折扣店,注定昙花一现?

年终岁末&#xff0c;又到了各类休闲零食产品一年一度的销售旺季。与过去不同的是&#xff0c;近年来的休闲零食赛道正因大量零食折扣店的涌现而显得热闹非凡。 随着主打折扣、低价的零食折扣店成为消费者特别是三四线下沉市场消费者的新宠&#xff0c;资本开始涌入并快速推动…

SpringCloud之OpenFeign的学习、快速上手

1、什么是OpenFeign OpenFeign简化了Http的开发。在RestTemplate的基础上做了封装&#xff0c;在微服务中的服务调用发送网络请求起到了重要的作用&#xff0c;简化了开发&#xff0c;可以让我们跟写接口一样调其他服务。 并且OpenFeign内置了Ribbon实现负载均衡。 官方文档…

69.使用Go标准库compress/gzip压缩数据存入Redis避免BigKey

文章目录 一&#xff1a;简介二&#xff1a;Go标准库compress/gzip包介绍ConstantsVariablestype Headertype Reader 三&#xff1a;代码实践1、压缩与解压工具包2、单元测试3、为何压缩后还要用base64编码 代码地址&#xff1a; https://gitee.com/lymgoforIT/golang-trick/t…

SpringBoot3整合OpenAPI3(Swagger3)

文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后&#xff0c;再使用方法上发生了很大的变化&#xff0c;名称也变为OpenAPI3。 官方文档 一、引入依赖 <dependency><groupId>…

汇编语言学习1

Compiler Explorer (godbolt.org) 这个网站可以把我们写的C语言等实时翻译为汇编等语言&#xff0c;便于参考 一个不错的视频讲解 riscv(RISC-V)指令集(MIT) A01 Introduction_哔哩哔哩_bilibili risc-v汇编中&#xff0c;a0, a1, ... 用来传送函数参数&#xff0c;a0, a1用来…

深度解析Python关键字:掌握核心语法的基石(新版本35+4)

目录 关键字 keyword 关键字列表 kwlist softkwlist 关键字分类 数据类型 True、False None 运算类型 and、or、not in is 模块导入 import 辅助关键字 from、as 上下文管理 with 占位语句 pass 流程控制 if、elif、else for while break、continue…

【AI】深度学习在编码中的应用(8)

接上文&#xff0c;本文来梳理和学习智能编码中&#xff0c; 基于残差编码的框架。 智能图像编解码器的成功也推动了智能视频编解码器的发展。传统的视频压缩方法依靠预测编码对运动信息和残差信息分别进行编码。根据时-空域冗余消除方式和阶段不同&#xff0c;现有相关方法可…

字符串操作scanf与gets的区别

在c语言中对于字符串的输入 scanf char str[20]; scanf("%s",str); gets char str[20]; gets(str); 区别&#xff1a; 1. scanf不能获取空格之后的字符串 例如&#xff1a; "how are you" 使用scanf("%s",str)只能获取到 "how&q…

常见异常类及异常对象属性

程序运行的过程中&#xff0c;会发生各种非正常状况&#xff0c;比如程序运行时磁盘空间不足&#xff0c;网络连接中断&#xff0c;被操作的文件不存在。(异常在程序运行时发生)   针对这种情况下&#xff0c;C#程序引入了异常处理机制&#xff0c;通过异常处理机制对程序运行…

第十回 朱贵水亭施号箭 林冲雪夜上梁山-FreeBSD/Linux 控制台基础操作

林冲被众庄客捉住&#xff0c;吊在门楼下&#xff0c;正被打时&#xff0c;柴进来了&#xff0c;赶快把林冲救下来。原来这是柴进打猎用的小庄子&#xff0c; 林冲就把火烧草料场一事跟柴进详细的说了。柴进说兄弟真是命运多磨难啊。林冲住了几日&#xff0c;恐怕连累柴进&…

柠檬微趣面试准备

简单介绍一下spring原理 Spring框架是一个开源的Java应用程序框架&#xff0c;它提供了广泛的基础设施支持&#xff0c;帮助开发者构建Java应用程序。Spring的设计原则包括依赖注入&#xff08;DI&#xff09;和面向切面编程&#xff08;AOP&#xff09;等&#xff0c;以促使代…