C++笔试强训day17

目录

1.小乐乐改数字

2.十字爆破

3.比那名居的桃子


1.小乐乐改数字

链接

简单把他当成字符串遍历即可。

详细代码:

#include <iostream>
#include <string>
using namespace std;
int main() {string s;cin >> s;for (int i = 0; i < s.size(); ++i) {if ((s[i] - '0') % 2 == 0)s[i] = '0';elses[i] = '1';}string ret;int i = 0;while (s[i] == '0')i++;for (; i < s.size(); ++i)ret += s[i];if (ret == "")cout << 0 << endl;elsecout << ret << endl;return 0;
}

2.十字爆破

链接

按照题意模拟即可:

我的思路是将每一行每一列的总和都存起来,然后第 i 行第 j 列的数就可以表示为line[i] + col[j] - map[i][j](减掉map位置是因为该位置行列一起遍历会重复,所以要减去一遍)

详细代码:

#include <iostream>
#include <vector>
#define int long long
using namespace std;
const int N = 1e6 + 10;
signed main() {int n, m;cin >> n >> m;int line[N];int col[N];vector<vector<int>> v(n, vector<int>(m));vector<vector<int>> map(n, vector<int>(m));for (int i = 0; i < n; ++i)for (int j = 0; j < m; ++j)cin >> map[i][j];for (int i = 0; i < n; ++i) {int sum = 0;for (int j = 0; j < m; ++j) {sum += map[i][j];}line[i] = sum;}for (int i = 0; i < m; ++i) {int sum = 0;for (int j = 0; j < n; ++j) {sum += map[j][i];}col[i] = sum;}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {v[i][j] = line[i] + col[j] - map[i][j];}}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {cout << v[i][j] << ' ';}cout << endl;}return 0;
}

注意:要开long long,因为数据量太大。

3.比那名居的桃子

链接

我的思路是前缀和预处理来解决的:

存储快乐值和羞耻度的前缀和,然后快乐值总和 sum1 = h[r] - h[l - 1];

羞耻度总和 sum2 = s[r] - s[l - 1];

然后一遍一遍更新出maxh和mins和L即可。

详细代码:

#include <iostream>
#define int long long
using namespace std;
const int N = 1e5 + 10;int h[N];
int s[N];
int n, k;
int x;signed main()
{cin >> n >> k;cin >> h[0];for (int i = 1; i < n; ++i){cin >> x;h[i] = h[i - 1] + x;}cin >> s[0];for (int i = 1; i < n; ++i){cin >> x;s[i] = s[i - 1] + x;}int maxh = 0, mins = 0x3f3f3f3f;int l = 0, r = 0;int sum1 = 0;int sum2 = 0;int keyi;while (l < n - k + 1){r = l + k - 1;if (l > 0){sum1 = h[r] - h[l - 1];sum2 = s[r] - s[l - 1];}else{sum1 = h[r];sum2 = s[r];}if (sum1 > maxh){maxh = sum1;mins = sum2;keyi = l;}else if (sum1 == maxh && sum2 < mins){maxh = sum1;mins = sum2;keyi = l;}l++;}cout << keyi + 1 << endl;return 0;
}

注意:

当sum2 < 目前最小羞耻度时才更新,这样就能不用考虑下面这点:

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL innodb_buffer_pool_size 相关常用语句

对于MySQL速度慢的问题&#xff0c;除了优化 SQL 以外&#xff0c;应该必须优先想到的即使 MySQL 数据库的 innodb_buffer_pool_size 配置问题。 一般来说&#xff0c;innodb_buffer_pool_size 的默认大小都是很小的&#xff0c;尤其是 win 下其默认大小更是只有离谱的 8M。Li…

1-2亿条数据需要缓存,如何合理设计存储

单机是不可能的&#xff0c;肯定是分布式存储 数据怎么落&#xff1f; 一般业界有三种解决方案 哈希取余分区 一致性哈希算法分区 哈希槽分区&#xff08;大厂专用&#xff0c;都在用&#xff09;最终的选择

地下工程中测斜仪的关键应用

地下工程&#xff0c;如隧道、地铁和基坑等项目的建设&#xff0c;对于现代城市的发展至关重要。然而&#xff0c;这些工程的实施往往伴随着诸多风险&#xff0c;特别是与周围土体的稳定性有关的风险。为了确保工程的安全进行&#xff0c;实时监测技术变得尤为关键。其中&#…

Ubuntu18.04--虚拟机配置Samba并从Windows登录

前言&#xff1a; 本文记录我自己在Windows上安装 Virtualbox &#xff0c;并在Virtualbox中安装 Ubuntu-18.04 虚拟机&#xff0c;在Ubuntu-18.04虚拟机里安装配置Smaba服务器&#xff0c;从 Windows 宿主系统上访问虚拟机共享samba目录的配置命令。 引用: N/A 正文 虚拟…

【计算机网络】物理层 通信基础、奈氏准则、香农公式 习题2

下列说法中正确的是( )。 A. 信道与通信电路类似&#xff0c;一条可通信的电路往往包含一个信道 B.调制是指把模拟数据转换为数字信号的过程 C. 信息传输速率是指通信信道上每秒传输的码元数 D.在数值上&#xff0c;波特率等于比特率与每符号所含的比特数的比值 信息传输速率&a…

分享5个免费AI写作软件

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;正以惊人的速度渗透到我们生活的方方面面&#xff0c;而写作领域也不例外。AI写作工具的出现&#xff0c;不仅改变了传统的写作流程&#xff0c;更在创意表达、文本生成、语言校正等方面展现了其独特的优势。这些工…

测斜仪的具体应用:从地下工程到斜坡监测

测斜仪作为一种精密的测量工具&#xff0c;在多个领域都有广泛的应用。从最初的地下工程&#xff0c;到现今的斜坡监测&#xff0c;测斜仪的技术进步和应用范围的扩大&#xff0c;为工程安全提供了有力的保障。 一、地下工程中的测斜仪应用 在地下工程中&#xff0c;测斜仪主要…

Android Studio(AS)使用别人的项目与gradle包并运行项目

一、问题描述 在进行AS开发时&#xff0c;我们可能会使用到别人的项目&#xff0c;但发现别人把项目发给我们后会发现gradle项目同步失败o(≧口≦)o&#xff0c;此时计有三&#xff1a; 1.横行霸道、豪取抢夺&#xff1a;直接空降到项目人那里&#xff0c;强他的电脑占为己有…

docker compose kafka集群部署

kafka集群部署 目录 部署zookeeper准备工作2、部署kafka准备工作3、编辑docker-compose.yml文件4、启动服务5、测试kafka6、web监控管理 部署zookeeper准备工作 mkdir data/zookeeper-{1,2,3}/{data,datalog,logs,conf} -p cat >data/zookeeper-1/conf/zoo.cfg<<EOF…

Linux之·网络编程·I/O复用·select

系列文章目录 文章目录 前言一、概述1.1 介绍IO复用的概念和作用1.1.1 I/O复用具体使用的场景1.1.2 I/O复用常用函数 二、select函数的重要性和用途2.1 基本的select函数2.2 如何使用FD_SET、FD_CLR等宏来设置和清除文件描述符集合2.3 select()函数函数整体使用框架&#xff1a…

设备二维码怎么生成?三分钟即可搞定

在现代工业生产中&#xff0c;设备的维护和巡检是保障生产连续性和安全性的重要环节。随着技术的发展&#xff0c;二维码技术因其便捷性和高效性被广泛应用于设备巡检中。 给每个设备配备一个二维码&#xff0c;一线人员用手机扫一扫&#xff0c;几秒钟就能上报巡检结果&#…

如何盘点选择的连锁收银系统贵不贵

在选择连锁收银系统时&#xff0c;成本是一个至关重要的考量因素。盘点连锁收银系统的成本既涉及到系统本身的购买费用&#xff0c;也包括了系统的维护、培训以及可能带来的附加费用。下面将从四个方面对连锁收银系统的成本进行盘点。 1. 初始投资成本 连锁收银系统的初始投资…

antd组件状态变换为啥要使用剪头函数

先看下代码 import React, {useState} from react; import {Switch, Typography} from antd;const {Paragraph, Text} Typography;const App: React.FC () > { const [ellipsis, setEllipsis] useState(true);return (<>//正确的<Switch checked{ellipsis}onCh…

广告电商模式:电子商务与广告的融合创新

随着互联网的迅猛发展和普及&#xff0c;电子商务和广告行业也迎来了前所未有的变革。在这一背景下&#xff0c;广告电商模式作为一种新兴的商业模式&#xff0c;凭借其独特的运作机制和优势&#xff0c;逐渐崭露头角。该模式将广告与电子商务紧密结合&#xff0c;通过精准营销…

AI智能写作工具推荐-AI在线写作生成器-1分钟完成写作

随着人工智能技术的不断发展&#xff0c;越来越多的写作软件开始使用AI技术来帮助用户更高效地创作文章。 第一款&#xff1a;笔尖AI写作 笔尖Ai写作-在线AI写作工具 - 笔尖Ai写作原创影视解说文案生成器&#xff0c;AI自动生成高质量原创内容。拥有超过435个智能写作模板&am…

Windows密码破解常见手段

mimikatz导出lsass破解 如果域管在成员机器上登录过&#xff0c;那么密码机会保存到lsass.exe进程当中&#xff0c;可以通过mimikatz读取密码 用本地管理员登录本地机器 导出hash reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCred…

leetcode——链表的中间节点

876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09; 链表的中间节点是一个简单的链表OJ。我们要返回中间节点有两种情况&#xff1a;节点数为奇数和节点数是偶数。如果是奇数则直接返回中间节点&#xff0c;如果是偶数则返回第二个中间节点。 这道题的解题思路是&a…

echarts 处理数据

假如 我数据是这样式的 一个数组里边包含两个对象 var data [{ "gender": "female", "height": 161.2, "weight": 51.6 }, { "gender": "female", "height": 167.5, "weight": 59 }] 想转换…

免费实用在线AI工具集合

免费在线工具 https://orcc.online/ 在线录屏 https://orcc.online/recorder pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA…

1.分布式-理论

目录 一、什么是分布式系统 二、CAP理论 1.一致性Consisency 2.可用性(Availability) 3.分区容错性(Partition tolrance) 三、BASE理论 1.Basically Available(基本可用) 2.Soft state&#xff08;软状态&#xff09; 3.Eventually consistent&#xff08;最终一致性&a…