Codeforces Round 952 (Div. 4) A - G题解

A. Creating Words

直接输出即可。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , t ;
char s[maxn] , S[maxn] ;
void solve(){
	scanf("%s" , s + 1) ;
	scanf("%s" , S + 1) ;
	cout << S[1] << s[2] << s[3] << " " ;
	cout << s[1] << S[2] << S[3] << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

B. Maximum Multiple Sum

题意:给你一个n,问2 <= x <= n的值,满足2x + 3x + 4x + ... + kx <= n的累加和最大的x是多少。
题解:直接枚举即可。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , t ;
char s[maxn] , S[maxn] ;
void solve(){
	n = read() ;
	ll Ans = 0 , rt = 2 ;
	for(int i = 2 ; i <= n ; i ++){
		ll ans = 0 ;
		for(int j = i ; j <= n ; j += i){
			ans += j ;
		}
		if(ans >= Ans){
			Ans = ans ;
			rt = i ;
		}
	}
	cout << rt << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

C. Good Prefixes

题意:给你n个数字,问他的前缀能否满足最大的数字等于其他所有数字之和,统计可以满足的数量。
题解:枚举即可,每次用最大的数字和其他数字之和比较,统计答案即可。复杂度O(n)。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , t ;
char s[maxn] , S[maxn] ;
void solve(){
	n = read() ;
	for(int i = 1 ; i <= n ; i ++){
		a[i] = read() ;
	}
	ll sum = 0 , Max = a[1] , ans = 0 ;
	for(int i = 2 ; i <= n ; i ++){
		if(a[i] > Max){
			sum += Max ;
			Max = a[i] ;
		}
		else{
			sum += a[i] ;
		}
		if(sum == Max){
			ans ++ ;
		}
	}
	if(a[1] == 0){
		ans ++ ;
	}
	cout << ans << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

D. Manhattan Circle

题意:给你一个n*m的字符阵,问曼哈顿园的圆心在哪里。
题解:每次碰到#就更新边缘距离,最后直接输出(l + r) / 2即可。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , t ;
char s[maxn] , S[maxn] ;
void solve(){
	n = read() ;
	m = read() ;
	ll l = m , r = 1 , L = n , R = 1 ;
	for(ll i = 1 ; i <= n ; i ++){
		for(ll j = 1 ; j <= m ; j ++){
			char c ;
			cin >> c ;
			if(c == '#'){
				l = min(l , j) ;
				r = max(r , j) ;
				L = min(L , i) ;
				R = max(R , i) ;
			}
		}
	}
	//	cout << l << " " << r << endl ;
	cout << (L + R) / 2 << " " << (l + r) / 2 << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

E. Secret Box

题意:给你一个盒子,长宽高分别为x,y,z,给你一个体积K ,能否找到n,m,k,体积等于K,问在盒子中有多少种放法。
题解:因为数据范围是1~2000,枚举n和m,再算出k,看能否整除,最后求出(x - n + 1) +(y - m + 1) + (z - k + 1)的最大值即可。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , k , ans , t ;
char s[maxn] , S[maxn] ;
void solve(){
	n = read() ;
	m = read() ;
	k = read() ;
	ans = read() ;
	ll Ans = 0 ;
	for(ll i = 1 ; i <= n ; i ++){
		for(ll j = 1 ; j <= m ; j ++){
			ll sum = i * j ;
			if(ans % sum == 0){
				ll z = ans / sum ;
				Ans = max(Ans , (n - i + 1) * (m - j + 1) * (k - z + 1)) ;
			}
		}
	}
	cout << Ans << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

F. Final Boss

题意:给你一个n为大BOSS的血量值,再给你n组数字,每个数字有一个攻击值和冷却时间,每次攻击可以使用多个没有冷却的数字,问最少多少轮可以击败BOSS。
题解:一眼二分,直接枚举二分的边界,代表轮数,可以推断出,如果第n轮可以完成,那么n+1轮也一定完成,符合单调性,直接用二分,check询问能否打败BOSS即可,复杂度O(nlogn)
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}

ll b[maxn] , a[maxn] , n , m , t ;
char s[maxn] , S[maxn] ;
bool check(ll mid){
	ll ans = 0 ;
	for(int i = 1 ; i <= m ; i ++){
		ans += a[i] ;
	}
	mid -- ;
	for(int i = 1 ; i <= m ; i ++){
		ans += (mid / b[i]) * a[i] ;
	}
	if(ans >= n){
		return 1 ;
	}
	return 0 ;
}
void solve(){
	n = read() ;
	m = read() ;
	for(int i = 1 ; i <= m ; i ++){
		a[i] = read() ;
	}
	for(int i = 1 ; i <= m ; i ++){
		b[i] = read() ;
	}
	ll l = 1 , r = 4e10 , ans = -1 ;
	while(l <= r){
		ll mid = (l + r) / 2 ;
		if(check(mid)){
			ans = mid ;
			r = mid - 1 ;
		}
		else{
			l = mid + 1 ;
		}
	}
	cout << ans << endl ;
}
int main(){
	t = read() ;
	while(t --){
		solve() ;
	}
	return 0 ;
}

G. D-Function

先附代码,明天起来写题解。

代码:
#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
	ll x = 0, f = 1 ;
	char c = getchar() ;
	while (c > '9' || c < '0') {
		if (c == '-')
			f = -1 ;
		c = getchar() ;
	}
	while (c >= '0' && c <= '9') {
		x = x * 10 + c - '0' ;
		c = getchar() ;
	}
	return x * f ;
}
ll l , r , k , t ;
void solve() {
	l = read() ;
	k = read() ;
	t = read() ;
	auto ksm = [&] (ll a, ll x) {
		ll s = 1;
		while (x) {
			if (x & 1) s = s * a % mod;
			a = a * a % mod;
			x >>= 1;
		}
		return s;
	};
	
	auto f = [&](int x) -> ll {
		if (k > 10) return 0;	
		return ksm(9 / k + 1, x);
	};
	
	cout << ((f(r) - f(l)) % mod + mod) % mod << endl ;
}

int main() {
	t = read() ;
	while (t --){
		solve();
	}
	
	return 0;
}

喜欢作者的记得留下你们的关注,你们的鼓励就是“我”最大的动力!

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

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

相关文章

vscode-关闭ts与js语义校验

1.ts与js语义校验 TypeScript&#xff08;TS&#xff09;和JavaScript&#xff08;JS&#xff09;在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言&#xff0c;它是JavaScript的一个超集&#xff0c;为JavaScript添加了类型系统和其他一些特性。而JavaScr…

《系统架构设计师教程(第2版)》第11章-未来信息综合技术-03-机器人技术

文章目录 1. 概述1.1 概念1.2 机器人学&#xff08;Robotics&#xff09; 2. 机器人的发展阶段2.1 第一代机器人&#xff1a;示教再现型机器人2.2 第二代机器人&#xff1a;感觉型机器人2.3 第三代机器人&#xff1a;智能型机器人2.4 机器人4.0时代 3. 机器人4.0的核心技术3.1 …

一五零、MAC 安装mysql可视化工具连接

mysql安装&#xff0c;按照网上教程一步步安装&#xff08;官网下载安装包->解压->完成安装&#xff09;&#xff0c;最后在「系统偏好设置」无法启动mysql。 原因&#xff1a;下载的版本是8.0最新版本&#xff0c;MAC上这种方法无法启动成功。 解决方法 换低版本的mys…

从零开始学习RecyclerView

1、实现最简单的一个控件列表 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width&qu…

【机器学习300问】112、什么是特征点检测?

特征点检测是计算机视觉中的一种技术&#xff0c;用于识别图像中具有显著局部特征的点。这项技术在多个领域内扮演着核心角色&#xff0c;包括图像识别、三维重建、运动跟踪和图像匹配等。 一、特征点任务的目的 在计算机视觉&#xff08;CV&#xff09;中&#xff0c;特征点检…

用户管理与服务器远程管理

用户管理 服务器系统版本介绍 windows服务器系统&#xff1a;win2000 win2003 win2008 win2012 linux服务器系统&#xff1a;Redhat Centos 用户管理 用户概述 &#xff08;1&#xff09;每一个用户登录系统后&#xff0c;拥有不同的操作权限。 &#xff08;2&#xff09;…

数据结构之线性表(4)

前面我们了解到线性表中的顺序表、链表等结构&#xff0c;今天我们探讨新的一种线性表——栈。 那么我们开始栈的探讨之旅吧。 1.栈的基本概念 1.1栈&#xff08;Stack&#xff09;&#xff1a; 是只允许在一端进行插入或删除的线性表。首先栈是一种线性表&#xff0c;但限定…

Spark使用map函数出现:Python worker exited unexpectedly (crashed)

目录 1. 版本异常处理 2. 环境变量异常 1. 版本异常处理 版本问题&#xff1b; 本编使用的是python12.exe解释器&#xff0c;解决问题&#xff0c;将python.exe版本降低即可&#xff0c;我这里降低到了python10.exe&#xff1b; 这是错误日志&#xff1a; 官方下载python解…

Windows Docker 部署 VictoriaMetrics 数据库

一、简介 VictoriaMetrics&#xff08;VM&#xff09;是一个快速、高效、经济且可扩展的监控解决方案和时序数据库。它提供了数据存储、管理、处理和分析的强大功能&#xff0c;专注于时间序列数据&#xff0c;并具备高吞吐量和低延迟特性&#xff0c;适用于各类大规模数据场景…

javaWeb项目-ssm+vue医院住院信息管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、Java简介 现代社…

STM32—U8g2图形库练习

一、新建CubeMX工程 1.照例将RCC配置为外部高速晶振&#xff08;精度更高&#xff09;——HSE&#xff1b;将SYS的Debug设置成Serial Wire&#xff08;否则可能导致芯片自锁)&#xff1b; 2.配置I2C2作为OLED的通讯方式。 3.TIM1配置&#xff1a;U8g2图形库需要us级延迟推动&…

Flutter鸿蒙终端一体化-天下一统

在前面的文章中&#xff0c;我们了解了如何使用FlutterPage来创建Flutter容器。 Flutter鸿蒙终端一体化-混沌初开 Flutter鸿蒙终端一体化-珠联璧合 语雀 但更多的时候&#xff0c;我们需要的是一种类似FlutterFragment的方式来进行引用&#xff0c;可喜的是&#xff0c;鸿蒙…

【C++题解】1121 - “倒”数

问题&#xff1a;1121 - “倒”数 类型&#xff1a;需要找规律的循环 题目描述&#xff1a; 输入一个正整数 N&#xff08;0<N<2147483647&#xff09;&#xff0c;将这个数倒着合成一个新数后输出。 比如&#xff1a; 543 &#xff0c;倒过来是345 &#xff08;请注意…

论文笔记:Frozen Language Model Helps ECG Zero-Shot Learning

2023 MIDL 1 intro 心电图&#xff08;ECG&#xff09;被广泛应用于检测各种心脏疾病&#xff0c;包括心律失常、心脏病发作和心力衰竭等近些年深度学习方法在心电图数据分类领域取得了不错的效果。 基于深度学习的ECG数据分类方法&#xff0c;通常以监督学习范式进行训练&am…

嵌入式系统中的异常和中断

目录 概述 1 异常和中断的概念 1.1 异常 1.1.1 同步异常 1.1.2 异步异常 1.2 中断 2 了解异常和中断 2.1 可编程中断控制器和外部中断 2.2 异常的分类 2.3 异常的优先权 2.4 中断和异常处理 3 处理一般异常的方法 概述 本文主要介绍嵌入式系统中的异常和中断的一…

B站画质补完计划(3):智能修复让宝藏视频重焕新生

1 老片存在什么画质问题&#xff1f; B站作为一个拥有浓厚人文属性的平台社区&#xff0c;聚集了诸如《雍正王朝》、《三国演义》等经典影视剧集&#xff0c;同时也吸引了大量用户欣赏、品鉴这些人文经典 。但美中不足的是&#xff0c;由于拍摄年代久远、拍摄设备落后、数据多次…

信息系统项目管理师0151:输出(9项目范围管理—9.4收集需求—9.4.3输出)

点击查看专栏目录 文章目录 9.4.3 输出9.4.3 输出 需求文件 需求文件描述各种单一需求将如何满足项目相关的业务需求。一开始可能只有高层级的需求,然后随着有关需求信息的增加而逐步细化。只有明确的(可测量和可测试的)、可跟踪的、完整的、相互协调的,且主要干系人愿意认…

Json-server 的使用教程

目录 前言一、简介二、安装与配置1. 安装 node-js2. npm 镜像设置3. 安装 json-server 三、使用1. 创建本地数据源2. 启动 Json Server3. 操作数据&#xff08;1&#xff09;查询数据&#xff08;2&#xff09;新增数据&#xff08;3&#xff09;修改数据&#xff08;4&#xf…

swift微调牧歌数据电商多模态大语言模型

大规模中文多模态评测基准MUGE_数据集-阿里云天池多模态理解和生成评估挑战榜(MUGE)是由阿里巴巴达摩院智能计算实验室发起,由阿里云天池平台承办,并由浙江大学、清华大学等单位共同协办。 Mhttps://tianchi.aliyun.com/dataset/107332微调的是牧歌数据集,结果都不好,记录…

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材&#xff1a;数据结构C语言版&#xff08;严蔚敏&#xff0c;杨伟民编著&#xff09; 工具&#xff1a;XMind、幕布、公式编译器 正在备考&#xff0c;结合自身空闲时间&#xff0c;不定时更新&#xff0c;会在里面加入一些真题帮助理解数据结构 目录 1.1数据…