KYOCERA Programming Contest 2023(AtCoder Beginner Contest 305)(A、B、C、D)[施工中]

文章目录

  • A - Water Station(模拟)
  • B - ABCDEFG(模拟)
  • C - Snuke the Cookie Picker(模拟、暴力)
  • D - Sleep Log(二分,前缀)

A - Water Station(模拟)

题意:在[0,100]所有 x % 5 == 0的地方设置一个水站,给你一个位置x,问最近的水站的坐标,考虑余数即可。

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N = 2e6 + 5;
#define sq(x) (x) * (x)
void solve() {
	int n;
	cin >> n;
	int r = n % 5;
	if (r == 0) cout << n << '\n';
	else if (r < 3) cout << n - r << '\n';
	else cout << n + 5 - r << '\n';
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
//	cin >> T;
	while (T--) {
		solve();
	}
	return 0;
} 

B - ABCDEFG(模拟)

题意:给出相邻点距离,让你查询某个线段的距离。
思路:模拟逐步接近即可。

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N = 2e6 + 5;
#define sq(x) (x) * (x)
void solve() {
	char p, q;
	map<char, int> mp; 
	mp['A'] = 3;
	mp['B'] = 1;
	mp['C'] = 4;
	mp['D'] = 1;
	mp['E'] = 5;
	mp['F'] = 9;
	cin >> p >> q;
	if (p > q) swap(p, q);
	int ans = 0;
	while (p < q) {
		ans += mp[p];
		p++;
	}
	cout << ans << '\n';
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
//	cin >> T;
	while (T--) {
		solve();
	}
	return 0;
} 

C - Snuke the Cookie Picker(模拟、暴力)

题意:原本有一个长宽至少为2的‘#’矩阵,被其中一个变成了’.',问你那个位置在哪里。
思路:不管去掉哪个,我们保证可以找到最上面的坐标,最下面的坐标,最左边的坐标,最右边的坐标,因为这是至少2*2。

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N = 2e6 + 5;
#define sq(x) (x) * (x)
char mp[505][505];
void solve() {
	int h, w;
	cin >> h >> w;
	for (int i = 1; i <= h; i++) {
		for (int j = 1; j <= w; j++) {
			cin >> mp[i][j];
		}
	}
	int l = 1000, r = 0;
	int u = 1000, d = 0;
	for (int i = 1; i <= h; i++) {
		for (int j = 1; j <= w; j++) {
			if (mp[i][j] == '.') continue;
			l = min(l, j);
			r = max(r, j);
			u = min(u, i);
			d = max(d, i);
		}
	}
	for (int i = u; i <= d; i++) {
		for (int j = l; j <= r; j++) {
			if (mp[i][j] == '.') {
				cout << i << ' ' << j << '\n';
			}
		}
	} 
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
//	cin >> T;
	while (T--) {
		solve();
	}
	return 0;
} 

D - Sleep Log(二分,前缀)

在这里插入图片描述
题意:某个人会在奇数位置醒来,偶数位置睡觉,接下来,每个询问查询一下这个区间内的睡觉时间。
思路:可以通过前缀和解决某个节点前缀时间,进而求出区间时间。我们需要二分查找最近的点。这里有一点点细节,分两种情况,先考虑简单的情况,就是l,r之间至少有一个节点,我们之间二分查找到l右侧第一个点,r右侧第一个点,然后减去r 到右侧第一个点的部分,补上l到右侧第一个点的部分。第二种情况是,l,r之间没有节点的情况,如果l刚好在,节点上,那么r如果也在节点上,查出来的两个最近点的位置是一样的,考虑这个点是奇数位置还是偶数位置,如果说,l在节点上,r不在节点上,查出来刚好差一个点,我们考虑,l右侧的第一个是奇数位置还是偶数位置。如果l,r均不在,查出来也是一样的,考虑这个点是奇点还是偶点,发现其实可以和第一张并上去。

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N = 2e5 + 5;
int a[N];
ll sum[N];
void solve() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) cin >> a[i];
	for (int i = 2; i <= n; i++) {
		if (i % 2) sum[i] = sum[i - 1] + (a[i] - a[i - 1]);
		else sum[i] = sum[i - 1];
	}
//	for (int i = 1; i <= n; i++) cout << sum[i] << ' ';
//	cout << '\n';
	int q;
	cin >> q;
	while (q--) {
		int x, y;
		cin >> x >> y;
		int l = lower_bound(a + 1, a + 1 + n, x) - a;
		int r = lower_bound(a + 1, a + 1 + n, y) - a;
		ll tmp = sum[r] - sum[l];
		if (l == r) {
			if (r % 2) cout << y - x << '\n';
			else cout << 0 << '\n';
			continue;
		}
		if (l + 1 == r) {
			if (a[l] == x) {
				if (l % 2 == 0) cout << y - x << '\n';
				else cout << 0 << '\n';
				continue;
			}
		}
		if (r % 2) tmp -= a[r] - y;
		if (l % 2) tmp += a[l] - x;
		cout << tmp << '\n';
	}
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
//	cin >> T;
	while (T--) {
		solve();
	}
	return 0;
} 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

有效延缓痴呆症:延世大学发现梯度提升机模型能准确预测 BPSD 亚综合征

内容一览&#xff1a;随着人口老龄化程度不断加剧&#xff0c;痴呆症已经成为公共健康问题。目前医学界治疗该病还只能通过药物缓解&#xff0c;尚未发现治愈的有效方法&#xff0c;因此&#xff0c;预防痴呆症尤为紧迫。在这一背景下&#xff0c;延世大学的研究人员开发了多个…

【每日挠头算法题(5)】重新格式化字符串|压缩字符串

欢迎~ 一、重新格式化字符串思路1&#xff1a;构造模拟具体代码如下&#xff1a; 思路2&#xff1a;双指针法具体代码如下&#xff1a; 二、字符串压缩思路1&#xff1a;简单替换 总结 一、重新格式化字符串 点我直达~ 思路1&#xff1a;构造模拟 1.遍历字符串&#xff0c;…

2023-6-12-第三式单例模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

HTTPS

HTTP 协议内容都是按照文本的方式明文传输的。 这就导致在传输过程中出现一些被篡改的情况。为了保证安全&#xff0c;现在大多数网站都采用HTTPS协议。HTTPS协议是在HTTP协议的基础上引入了一个加密层SSL。 目录 HTTPS的加密流程对称加密非对称加密为什么引入非对称加密&…

Python处理办公自动化的10大场景

在编程世界里&#xff0c;Python已经是名副其实的网红了。Python最大优势在于容易学&#xff0c;门槛比Java、C低非常多&#xff0c;给非程序员群体提供了用代码干活的可能性。当然Python能成为大众编程工具&#xff0c;不紧是因为易学&#xff0c;还因为Python有成千上万的工具…

抖音电商发展路径:从外链种草到达人/品牌直播

复盘抖音电商发展&#xff0c;可以总结出以下几点发展特征&#xff1a; 策略重心的变化 以种草为核心&#xff0c;给电商引流站外成交&#xff08;2019 年及之前&#xff09;→ 力推达人直播但效 果一般&#xff08;2020 上半年&#xff09;→ 推品牌自播并彻底闭环&#xff0…

Redis.conf 详解

我们启动 Redis&#xff0c;一般都是通过 Redis.conf 启动。 因此&#xff0c;我们必须了解 Redis.conf 的配置&#xff0c;才能更好理解和使用 Redis。 单位 单位注意事项&#xff1a;当需要内存大小时&#xff0c;可以指定为1k 5GB 4M等 通常形式&#xff1a; 1k > 1000字…

谈谈几个常见数据结构的原理

数组 数组是最常用的数据结构&#xff0c;创建数组必须要内存中一块 连续 的空间&#xff0c;并且数组中必须存放 相同 的数据类型。比如我们创建一个长度为10&#xff0c;数据类型为整型的数组&#xff0c;在内存中的地址是从1000开始&#xff0c;那么它在内存中的存储格式如…

【lvs集群】HAProxy搭建Web集群

HAProxy搭建Web集群 一、 HAProxy简介1.1HAProxy主要特性1.2HAProxy负载均衡策略非常多&#xff0c;常见的有如下8种1.3LVS、Nginx、HAproxy的区别1.4常见的Web集群调度器 二、Haproxy搭建 Web 群集haproxy服务器部署节点服务器部署 三、定义监控页面与定义日志3.1定义监控页面…

Multimodal fusion via cortical network inspired losses(第一次优质论文分享)

Multimodal fusion via cortical network inspired losses 论文介绍1. 论文研究的任务是什么&#xff1f;2. 论文关注/拟解决的问题是什么&#xff1f;3. 论文提出什么方法如何解决这个问题&#xff1f;4. 如何设计实验 来证明 所提方法确实解决了 拟解决的问题&#xff1f; 论…

kotlin协程flow retry功能函数返回失败后重试(4)

kotlin协程flow retry功能函数返回失败后重试&#xff08;4&#xff09; import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlockingfun main(args: Array<String>) {var count 0 //重试计数runBlocking {load().onEach…

RetinaNet网络介绍

前言 上一篇博文我们介绍了Focal Loss&#xff0c;原理也比较简单&#xff0c;有不了解的小伙伴可以先跳转到之前的博文了解一下。Focal Loss介绍。这篇博文我们来看下Focal Loss的出处&#xff1a;Focal Loss for Dense Object Detection&#xff0c;这篇论文提出了RetainNet之…

chatgpt赋能python:Python怎么建服务器?

Python怎么建服务器&#xff1f; 作为一名具有10年Python编程经验的工程师&#xff0c;我深入研究了Python的一些高级特性&#xff0c;其中包括Python如何建立服务器的方法。Python是一个高级的编程语言&#xff0c;可以轻松创建服务器应用程序&#xff0c;并为您的网站提供高…

低秩矩阵(Low-Rank)的意义

&#xff11;&#xff0e;回顾基础&#xff1a; 矩阵的秩度量的是矩阵行列之间的相关性&#xff0c;如果各行各列都是线性无关的&#xff0c;矩阵就是满秩。非零元素的行或列决定了秩的大小。&#xff0f;&#xff0f;划重点&#xff0c;秩可以度量矩阵自身相关性 讲个小故事…

windows 服务程序和桌面程序集成(七)效果演示及源程序下载

系列文章目录链接 windows 服务程序和桌面程序集成&#xff08;一&#xff09;概念介绍windows 服务程序和桌面程序集成&#xff08;二&#xff09;服务程序windows 服务程序和桌面程序集成&#xff08;三&#xff09;UDP监控工具windows 服务程序和桌面程序集成&#xff08;四…

计算机提示“找不到vcruntime140.dll,无法继续执行代码可”以这样子修复

首先&#xff0c;对于那些不熟悉的人来说&#xff0c;vcruntime140.dll是一个关键文件&#xff0c;用于在Windows操作系统上运行使用C语言编写的大型应用程序。如果你正在运行或安装这样的应用程序&#xff0c;但找不到vcruntime140.dll文件&#xff0c;那么你的应用程序可能无…

Maven私服

Maven 私服是一种特殊的远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。 建立了 Maven 私服后&#xff0c;当局域网内的用户需要某个构件时&#xff0c;会按照如下顺序进行请求…

低代码崛起:会让程序员饭碗不保,人工智能或成其催化剂

人工智能技术目前发展的趋势如何 关于人工智能技术的评价&#xff0c;大众的评价几乎算是较为一致的&#xff0c;都认为其已成为人类有史以来最具革命性的技术之一。当然了&#xff0c;可能目前的我们还是很难想象机器自主决策所产生的影响&#xff0c;但可以肯定的是&#xff…

ELF文件结构和实战分析

文章目录 示例编译运行 ELF文件格式ELF HeaderELF Section Header Table (节头表)sh_typesh_flagssh_link、sh_info 节链接信息 ELF Sections节的分类.text节.rodata节.plt节&#xff08;过程链接表&#xff09;.data节.bss节.got.plt节&#xff08;全局偏移表-过程链接表&…

ArkTS语言HarmonyOS/OpenHarmony应用开发-message事件刷新卡片内容

开发过程 在卡片页面中可以通过postCardAction接口触发message事件拉起FormExtensionAbility&#xff0c;然后由FormExtensionAbility刷新卡片内容。 common&#xff1a;公共文件 通过点击button按钮&#xff0c;刷新卡片内容。代码示例&#xff1a; WidgetCard.ets let stor…