AtCoder ABC370 A-D题解

news2025/1/8 5:21:09

比赛链接:ABC370

AT 上 400 分寄。

Problem A:

Code

#include <bits/stdc++.h>
using namespace std;
int main(){
	int L,R;
	cin>>L>>R;
	if(L==R)
		cout<<"Invalid"<<endl;
	else if(L==1)
		cout<<"YES"<<endl;
	else
		cout<<"NO"<<endl;
	return 0;
}

Problem B:

思路

拿一个二维数组模拟即可。

Code

#include <bits/stdc++.h>
using namespace std;
int A[105][105];
int main(){
	int N;
	cin>>N;
	for(int i=1;i<=N;i++){
		for(int j=1;j<=i;j++)
			cin>>A[i][j];
	}
	int ans=A[1][1];
	for(int i=2;i<=N;i++){
		if(ans>=i)
			ans=A[ans][i];
		else
			ans=A[i][ans];
	}
	cout<<ans<<endl;
}

Problem C:

思路

算是一道模拟。mark_i表示第 i 位有没有处理好;pos数组存需要处理的下标;v用来记录位置和对应的字符串。我语文不大好,不会解释,看到代码你就懂了。

Code

#include <bits/stdc++.h>
using namespace std;
int mark[105];
int main(){
	string S,T;
	cin>>S>>T;
	vector<pair<string,int>> v;
	vector<int> pos;
	for(int i=0;i<S.size();i++){
		if(S[i]!=T[i]){
			pos.push_back(i);
			mark[i]=1;
		}
	}
	int cnt=pos.size();
	cout<<pos.size()<<endl;
	while(S!=T){
		for(int i=0;i<pos.size();i++){
			if(!mark[pos[i]])
				break;
			string tmp=S;
			tmp[pos[i]]=T[pos[i]];
			v.push_back(make_pair(tmp,pos[i]));
		}
		sort(v.begin(),v.end());
		cout<<v[0].first<<endl;
		S=v[0].first;
		mark[v[0].second]=0;
		v.clear();
	}
	return 0;
}

Problem D:

思路

维护row_icol_i表示第 i 行剩余的列的集合以及第 j 列剩余的行的集合。

先判断是否(r,c)位置上有墙,有的话直接删除掉。记得同时更新 row 和 col。

如果没有就在集合内二分,使用提供的 upper_bound 函数找到第一个比自己大的位置。之后往前走一个就可以得到比自己小的位置。

每一次尝试删除元素都要判断迭代器是否合法。

最后把所有row_i内的元素个数加起来就是答案。

Code

#include <bits/stdc++.h>
using namespace std;
const int maxn=400005;
set<int> row[maxn],col[maxn];
void del(int r,int c){
    row[r].erase(c);
    col[c].erase(r);
}
int main(){
	int H,W,Q;
    cin>>H>>W>>Q;
    for(int i=1;i<=H;i++){
        for(int j=1;j<=W;j++){
            row[i].insert(j);
            col[j].insert(i);
        }
    }
    while(Q--){
        int r,c;
        cin>>r>>c;
        if(row[r].count(c)){
            del(r,c);
            continue;
        }
        if(!row[r].empty()){
            auto itr=row[r].upper_bound(c);
            if(itr!=row[r].end())
                del(r,*itr);
            if(!row[r].empty()){
                itr=row[r].upper_bound(c);
                if(itr!=row[r].begin()){
                    itr--;
					del(r,*itr);
				}
            }
        }
        if(!col[c].empty()){
            auto itr=col[c].upper_bound(r);
            if(itr!=col[c].end())
                del(*itr,c);
            if(!col[c].empty()){
                itr=col[c].upper_bound(r);
                if(itr!=col[c].begin()){
                    itr--;
					del(*itr,c);
				}
            }
        }
    }
    int ans;
    for(int i=1;i<=H;i++)
        ans+=row[i].size();
    cout<<ans<<endl;
    return 0;
}

友情提醒:不要无脑Ctrl C+Ctrl V

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

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

相关文章

【数据结构】经典题

所以&#xff0c;语句 x; 的语句频度为&#xff1a;n(n1)(n2&#xff09;/6 选C 临时变量 t&#xff1a;只使用了一个额外的变量来存储交换的值。 没有使用额外的数组&#xff1a;所有的操作都是在原数组 a 上进行的。 因此&#xff0c;算法的空间复杂度是常数级别的&#xff0…

定位HardFault

一、HardFault定义 STM32出现HardFault_Handler硬件错误的原因主要有两个方面&#xff1a; 1、内存溢出或者访问越界。&#xff08;包括使用野指针&#xff09; 2、堆栈溢出。 二、定位HardFault步骤 1. 判断所使用堆栈&#xff1a; 发生异常之后可首先查看LR寄存器中的值…

十五,Spring Boot 整合连接数据库(详细配置)

十五&#xff0c;Spring Boot 整合连接数据库(详细配置) 文章目录 十五&#xff0c;Spring Boot 整合连接数据库(详细配置)最后&#xff1a; JDBC HikariDataSource(Spring Boot内置的数据库) HikariDataSource: 目前市面上非常优秀的数据源&#xff0c;是 Spring Boot2默认数…

gcc/g++的使用:

目录 (1). 程序的翻译过程 预处理&#xff1a; gcc -E 源文件 编译&#xff1a; gcc -S 源文件 汇编&#xff1a;gcc -c 源文件 连接&#xff1a; (2) 语言的自举(也叫 编译器的自举)&#xff1a; (3). 查看可执行程序在连接时依赖的库: ldd 可执行程序的名字 。 (4). …

C语言 | Leetcode C语言题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; int cmp(const void *a, const void *b) {return *(int*)a < *(int*)b; }int thirdMax(int* nums, int numsSize){qsort(nums, numsSize, sizeof(nums[0]), cmp);int diff 0;for (int i 1; i < numsSize; i) {if (nums[i] ! nums[i…

体感魂斗罗-开篇

文章目录 前言新的目标Flag 前言 黑神话悟空大火&#xff0c;9月14&#xff0c;周鸿祎在抖音平台分享了360团队用两天的业余时间将《黑神话&#xff1a;悟空》爆改为体感游戏的过程&#xff0c;通过身体动作来控制游戏中的角色&#xff0c;实现更加自然和直观的操作方式。 把…

【秋招笔试-支持在线评测】8.28华为秋招(已改编)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 华为专栏传送🚪 -> 🧷华为春秋招笔试 目前今年秋招的笔…

Golang | Leetcode Golang题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; func thirdMax(nums []int) int {var a, b, c *intfor _, num : range nums {num : numif a nil || num > *a {a, b, c &num, a, b} else if *a > num && (b nil || num > *b) {b, c &num, b} else if b ! ni…

直播标准权威发布,阿里云RTS获首批卓越级评估认证

近期举办的2024“可信云大会”上&#xff0c;中国信通院正式发布了2024年上半年音视频领域最新评估结果。阿里云超低延时直播&#xff0c;以首批卓越级&#xff0c;通过中国信通院超低延时直播性能及服务质量分级测试。 标准发布&#xff0c;权威量化直播体验质量 从直播元年发…

如何通过 4 种方法恢复 Mac 上删除/未保存的 Excel 文件

您花了数小时在 MacBook 上处理 Excel 工作簿&#xff0c;但现在它不见了。或者&#xff0c;当您退出 Excel 文件时&#xff0c;您无意中选择了“不保存”。这是否意味着您的所有努力都白费了&#xff1f;本文系统地解释了如何在 Mac 上恢复丢失的 Excel 文件。使用我们的 4 种…

Unity项目的脚本继承关系

1.Unity项目的脚本继承关系包括四层&#xff1a;自己的脚本、MonoBehaviour、Behaviour、Component、Object。 2.通过F12跳转可以查看各继承类中的方法和属性&#xff0c;如MonoBehaviour类中主要包括协程和相关API。 3.Component类中包含组件的只读属性、消息发送等API&…

实景三维助力工程建设项目智慧选址

随着科技的不断进步&#xff0c;实景三维技术已经成为城市规划和工程建设中不可或缺的一部分。它通过高精度的地理信息数据&#xff0c;为工程建设项目提供了智慧选址的新思路。 1. 实景三维技术简介 实景三维技术&#xff0c;是一种利用遥感、地理信息系统&#xff08;GIS&a…

linux环境编程

linux一切皆文件&#xff08;除了网口&#xff09; 内核链表&#xff1a;通过内核链表进行管理&#xff0c;所有一切皆文件 系统io&#xff08;open&#xff0c;read&#xff0c;close&#xff09; open 查看命令&#xff1a;man 2 open 头文件&#xff1a; #include <s…

【入门】配置 Java 应用程序的完整指南

前言&#xff1a; Java 是一种广泛使用的编程语言&#xff0c;具备跨平台的特性&#xff0c;使得其应用程序可以在多种环境中高效运行。本文将介绍如何将 Java 应用程序从开发环境部署到生产环境&#xff0c;确保其能够稳定、稳定地运行运行。 确定运行环境 Java程序可以运行…

vue 案例使用

el-switch 按键的使用 <el-switchclass"switchStyle" v-model"boolValue" :active-value"1" :inactive-value"0" active-text"ON" inactive-text"OFF" active-color"#13ce66" inactive-color&qu…

基于 PyQt5 和 OpenCV 进行图像处理操作的GUI工具初版

为了实现一个基于 PyQt5 和 OpenCV 的图形用户界面&#xff08;GUI&#xff09;&#xff0c;要求如下&#xff1a; 左边显示加载的图片。 中间提供各种对图片进行处理的操作方法&#xff08;如灰度化、模糊处理等&#xff09;。 右边显示处理后的效果图。 接下来我将详细讲解如…

数据结构_1、基本概念

1、基本概念 数据&#xff1a;是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理…

Python 3:强大而灵活的编程语言

Python 3&#xff1a;强大而灵活的编程语言 一、Python 3 概述 &#xff08;一&#xff09;发展历程 Python 的作者是荷兰人 Guido von Rossum&#xff0c;1982 年&#xff0c;Guido 从阿姆斯特丹大学获得了数学和计算机硕士学位。1989 年&#xff0c;为了打发圣诞节假期&…

【Hot100】LeetCode—32. 最长有效括号

目录 1- 思路题目识别动态规划 2- 实现⭐32. 最长有效括号——题解思路 3- ACM 实现 原题链接&#xff1a;32. 最长有效括号 1- 思路 题目识别 识别1 &#xff1a;给定一个字符串 s &#xff0c;求解 s 中的最长有效括号 动态规划 动态规划五部曲 递推公式难如果遇到了 s.…

【数一线性代数】007入门

Index 本文稍后补全&#xff0c;推荐阅读&#xff1a;https://blog.csdn.net/weixin_60702024/article/details/140939599分析实现总结 本文稍后补全&#xff0c;推荐阅读&#xff1a;https://blog.csdn.net/weixin_60702024/article/details/140939599 用两个栈来实现一个队列…