2024暑假集训第三次考试

news2024/12/25 10:47:05

3004. Sleepy Cow Sorting

思路分析

        这道题是一道思维题。

        这个就要结合之前学习过的算法,看这个题目的排序方式,我们就理所当然的想到了插入排序,也是这道题的正解。只需要看看前面有几个数是无序的就是需要排的次数。转换一下,也就是从后向前遍历,看看从第几个位置开始无序输出位置即可。(代码十分简单,主要是思路,这也是思维题的一大特征)

代码

#include<iostream>
using namespace std;

const int N = 1e5;
int a[N];

int main(){
	int n; cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
	}
	for(int i = n-1; i >= 1; i--){
		if(a[i]>a[i+1]){
			cout << i << endl;
			return 0;
		}
	}
	cout << 0 << endl;
	return 0;
} 

3000. Grass Planting

思路分析

        图论题。

        如果你一眼看上去可能会想到最短路径,拓扑排序等等图论的经典算法...但是其实这都不对,这就是一道图论的思维推理题。实现方法就是,统计出度数最大的顶点+1,就是正确答案。不管图什么样但是通过各种方式我们都可以抽象成下面这张图。然后根据题意推之就好了

代码

#include<iostream>
using namespace std;
int n;
int a[200000];
int main(){
	cin>>n;
	int x,y;
	while(cin>>x>>y){
		a[y]++;
		a[x]++;
	}
	int ans=0;
	for(int i=1;i<=n;i++){
		if(a[i]>ans){
			ans=a[i];
		}
	}
	ans+=1;
	cout<<ans;
}
//度数最大的点的度数+1 

3001. Icy Perimeter

思路分析

        bfs洪水填充-连通块的模版代码。

        面积就是连通块的#号个数,而周长就是判断每个连通块里的#号所在的坐标(x,y)推之的

(x+1,y)(x-1,y) (x,y+1) (x,y-1)四个方向是否为“.”号是的话周长+1,按照题意保留合法且最大的周长和面积即可。

代码

#include<iostream>
#include<queue>
using namespace std;

typedef pair<int,int> PII;
const int N = 1e3+10;
char g[N][N],mg[N][N];
bool s[N][N];
int ss = -1e9,c = -1e9;
int n;
int dx[] = {-1,0,1,0};
int dy[] = {0,1,0,-1};

void bfs(int x,int y){
	int ms = 1,mc = 0;
	for(int i = 0; i < 4; i++){
		if(mg[x+dx[i]][y+dy[i]] == '.') mc++;
	}
	s[x][y] = 1;
	g[x][y] = '.';
	queue<PII> q;
	q.push({x,y});
	while(!q.empty()){
		auto h = q.front();
		q.pop();
		for(int i = 0; i < 4; i++){
			int sx = h.first+dx[i];
			int sy = h.second+dy[i];
			if(sx >= 0 && sy >= 0 && sx <= n && sy <= n && g[sx][sy] == '#' && !s[sx][sy]){
				ms++;
				for(int k = 0; k < 4; k++){
					if(mg[sx+dx[k]][sy+dy[k]] == '.') mc++;
				}
				q.push({sx,sy});
				g[sx][sy] = '.';
				s[sx][sy] = 1;
			} 
		}
	}
	if(ss == ms){
		c = min(c,mc);
	}
	if(ss < ms){
		ss = ms;
		c = mc;
	}
}

int main(){
	cin >> n;
	for(int i = 0; i <= n+1; i++){
		for(int j = 0; j <= n+1; j++){
			if(i ==0 || j == 0 || i == n+1 || j == n+1){
				g[i][j] = '.';
				mg[i][j] = g[i][j];
				continue;
			}
			cin >> g[i][j];
			mg[i][j] = g[i][j];
		}
	}
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= n; j++){
			if(g[i][j] == '#'){
				bfs(i,j);
			}
		}
	}
	cout << ss << " " << c << endl;
	return 0;
}

4000. 核电站

思路分析

        DP题。

        虽然题目最短可是却是难度最高的一道题,本蒟蒻就浅浅发表一下自己的看法,可能不是很清楚,可以去找神犇的题解。

        这道题就要分两种抉择,一种是选,一种是不选,状态(i,j)在第i个位置从后往前已经放了j个核物质,判断如果>=m了的话就dp[i][j]+=dp[i-1][j-1].....

神犇题解链接:核电站问题(简单DP)_一个核电站有 n 个放核物质的坑,坑排列在一条直线上。如果连续 m 个坑中放入核物-CSDN博客

核电站_一个核电站有 n 个放核物质的坑,坑排列在一条直线上。如果连续 m 个坑中放入核物-CSDN博客

https://www.cnblogs.com/lzhxue/p/12689526.html

总结

        这次考试的题目第一道题比较亏,所以应该加强对算法基础原理的理解,而不是一味的背板子,虽然有些算法的原理晦涩难懂(图论的最短路径),以及第四题的DP题,是算法竞赛的一大难点。要勤加练习!!

拼搏无边界,勇者无惧,以梦为马,不负韶华。

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

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

相关文章

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十二)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 32 节&#xff09; P32《31.通知-基础通知》 基础文本类型通知&#xff1a;briefText 没有用&#xff0c;写了也白写。 长文本类型…

哪里还可以申请免费一年期的SSL证书?

目前&#xff0c;要申请免费一年期的SSL证书&#xff0c;选项较为有限&#xff0c;因为多数供应商已转向提供短期的免费证书&#xff0c;通常有效期为90天。不过&#xff0c;有一个例外是JoySSL&#xff0c;它仍然提供一年期的免费SSL证书&#xff0c;但是只针对教育版和政务版…

可灭新能源锂电池火灾!自动灭火贴到底多少钱一个?

不需要人工干预&#xff0c;想贴哪里就贴哪里&#xff0c;一旦发生火灾就可以立即自动灭火。你敢相信现代的灭火器已经进化到这个地步了吗&#xff1f; 没错&#xff0c;小编说的就是最近大火的全氟己酮自动灭火贴。跟传统灭火器相比&#xff0c;它拥有体积小巧、高效灭火、安…

2024第二届电子通信与计算机科学技术国际会议(ICECCST 2024)

2024第二届电子通信与计算机科学技术国际会议(ICECCST 2024) 会议简介 2024第二届电子通信与计算机科学技术国际会议&#xff08;ICECCST 2024&#xff09;是一次重要的学术盛会&#xff0c;将在中国厦门举行。会议的主要目的是为全球的电子通信和计算机科学技术领域的专家、…

查找——数据结构与算法 总结7

目录 7.1 查找的相关概念 7.2 线性表的查找 7.2.1 顺序查找&#xff08;Linear Search&#xff09; 7.2.2 折半查找&#xff08;Binary Search&#xff09; 判定树&#xff08;折半查找判定树&#xff09;&#xff1a;描述折半查找判定过程的二叉树 7.3 树表的查找 7.31…

WBCE CMS v1.5.2 远程命令执行漏洞(CVE-2022-25099)

前言 CVE-2022-25099 是一个影响 WBCE CMS v1.5.2 的严重安全漏洞&#xff0c;具体存在于 /languages/index.php 组件中。该漏洞允许攻击者通过上传精心构造的 PHP 文件在受影响的系统上执行任意代码。 技术细节 受影响组件&#xff1a;/languages/index.php受影响版本&…

伯克利、斯坦福和CMU面向具身智能端到端操作联合发布开源通用机器人Policy,可支持多种机器人执行多种任务

不同于LLM或者MLLM那样用于上百亿甚至上千亿参数量的大模型&#xff0c;具身智能端到端大模型并不追求参数规模上的大&#xff0c;而是指其能吸收大量的数据&#xff0c;执行多种任务&#xff0c;并能具备一定的泛化能力&#xff0c;如笔者前博客里的RT1。目前该领域一个前沿工…

LabVIEW环境下OCR文字识别的实现策略与挑战解析

引言 在自动化测试领域&#xff0c;OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;技术扮演着重要角色&#xff0c;它能够将图像中的文字转换成机器可编辑的格式。对于使用LabVIEW约5个月&#xff0c;主要进行仪器控制与数据采集的你而言…

蓝牙模块功耗优化技术研究

蓝牙模块作为无线通信技术的重要组成部分&#xff0c;在智能家居、可穿戴设备、医疗健康等领域得到了广泛应用。然而&#xff0c;随着设备功能的不断增加和用户对续航能力的日益关注&#xff0c;蓝牙模块的功耗问题逐渐凸显。因此&#xff0c;对蓝牙模块功耗优化技术的研究具有…

两次叛国投敌,没有祸及子孙反而家族长盛不衰的传奇

这个人就是韩国国王韩王信&#xff0c;汉朝八大异姓王之一。 第一次叛国投敌&#xff0c;发生在楚汉争霸时期。有一次他的军队被项羽包围&#xff0c;于是选择了投降。不过&#xff0c;这是权宜之计&#xff0c;不久就借机回到刘邦阵营。 第二次叛国投敌&#xff0c;发生在西…

Docker Desktop 简易操作指南 (Windows, macOS, Linux)

1. 下载最新版本 Docker Desktop https://www.docker.com/products/docker-desktop/ 2.启动 Docker Desktop 3.常用命令&#xff08;在 cmd 或 Terminal 中执行&#xff09; #列出所有镜像&#xff08;Images&#xff09; docker images #列出所有容器&#xff08;Containers&…

发现CPU占用过高,该如何排查解决?

1.使用top命令 查看cpu占用最多的进程 2.使用 top -H -p pid 发现有两个线程占用比较大 3.将线程id转换为16进制 使用命令 printf 0x%x\n pid 4.使用 jstack pid | grep 线程id(16进制&#xff09; -A 20 &#xff08;显示20行&#xff09; 根据代码显示进行错误排查

android2024 gradle8 Processor和ksp两种编译时注解实现

android编译时注解&#xff0c;老生常谈&#xff0c;外面的例子都是bindView&#xff0c;脑壳看疼了&#xff0c;自己学习和编写下。 而且现在已经进化到kotlin2.0&#xff0c;google也逐渐放弃kapt&#xff0c;进入维护状态。所以要好好看看本贴。 参考我的工程&#xff1a; h…

国信华源全力守护湖南水库安全,汛期坚守岗位

连日来&#xff0c;湖南省遭受持续强降雨侵袭&#xff0c;部分地区暴雨倾盆&#xff0c;山塘河库水位急剧上升&#xff0c;防汛形势极为严峻。面对这场防汛大考&#xff0c;北京国信华源公司迅速响应&#xff0c;技术团队以高度的责任感和使命感&#xff0c;全力投入防汛减灾工…

2007年下半年软件设计师【上午题】试题及答案

文章目录 2007年下半年软件设计师上午题--试题2007年下半年软件设计师上午题--答案2007年下半年软件设计师上午题–试题

WEB04MyBatis

Mybatis mybatis查询 准备 准备工作 在目前的数据库中添加一张数据表emp 将资料中提供的day04-01-mybatis导入的目前的工程中 修改配置文件中的数据库的账户和密码 观察实体类中的属性和数据表中的字段的对应关系 查询结果封装 查询所有 SQL语句 select * from emp; …

【源码+文档+调试讲解】智能仓储系统 JSP

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;智能仓储系统当然也不能排除在外。智能仓储系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

昇思MindSpore学习总结九——FCN语义分割

1、语义分割 图像语义分割&#xff08;semantic segmentation&#xff09;是图像处理和机器视觉技术中关于图像理解的重要一环&#xff0c;AI领域中一个重要分支&#xff0c;常被应用于人脸识别、物体检测、医学影像、卫星图像分析、自动驾驶感知等领域。 语义分割的目的是对图…

简单的git pull fail Can‘t update has no tracked branch解决记录

简单的git pull fail Can‘t update has no tracked branch解决记录 1. 问题描述 上午同事使用idea拉取代码的时候&#xff0c;发现拉取不了&#xff0c;提示用户权限问题&#xff0c;之后修改了git用户信息&#xff0c;发现还是拉取不了分支代码&#xff0c;然后删除了git r…

[pwn]静态编译

静态编译 1. 栈足够大的情况下 程序在ida打开后&#xff0c;左侧的函数栏目没有红色&#xff08;系统调用的函数&#xff09;&#xff0c;而只有一些静态函数&#xff0c;通常这类文件的大小会必普通的pwn题程序要大得多。 这种静态编译的题没有调用库函数&#xff0c;也就没…