LQ quarter 5th

news2025/1/8 22:06:27

目录

        B. 开赛主题曲

        C. BlueAI

        E.  精准难度


 

 

 

 

B. 开赛主题曲

        (1)两层循环枚举所有子串。第一层子串长度,第二层子串起点

        (2)判子串是否合法还要一个 for,26 * 26 * 2e5 快要超时,因此计算每个字母个数只能用最朴素的数组,用 map 就超时

        (3)string型字符串的 find 函数可以查找子串(连续),也可以是单个字符,若没有查找到返回 string :: nops

        (4)字符串截取 string.substr( i, len ):从第 i 个位置开始截 len 长度的子串

        (5)字符串可以直接比较大小,判定升序

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5, INF = 1e18;

int T, n, ans;
string s, mxs;

int f(string s)
{
	int tot = 0;
	for (int i = 0; i < s.length(); i ++)
		tot += s[i] - 'a' + 1;
	string ss = "lanqiobe";
	for (int i = 8; i > 0; i --)
		if (s.find(ss.substr(0, i)) != string :: npos)
		{
			tot += i * 10;
			break;
		}
	return tot;
}

signed main()
{
	cin >> n >> s;
	s = ' '  + s;
	for (int len = 1; len <= 26; len ++)
		for (int i = 1; i + len - 1 <= n; i ++)
		{
			int a[30] = {0};
			int p = 0;
			string t = s.substr(i, len);
			for (int i = 0; i < len; i ++)
			{
				if (++ a[t[i] - 'a'] == 2)
				{
					p = 1;
					break;
				}
			}
			if (p == 1)
				continue;
			int scr = f(t);
			if (scr > ans || (scr == ans && t < mxs))
				ans = scr, mxs = t;
		}
	cout << mxs;
	return 0;
}

 

 

 

 

 

C. BlueAI

        (1) 注意一个棋子移动,三个坐标的字符都要改,不能只把中间的 'Q' 变成 '.'

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5, INF = 1e18;

int t, n, ans;
char a[20][20];

void dfs(int x, int y, int cnt)
{
	ans = max(ans, cnt);
	int dx[5] = {-1, -1, 1, 1}, dy[5] = {-1, 1, -1, 1};
	for (int i = 0; i <= 3; i ++)
	{
		int tx1 = x + dx[i], ty1 = y + dy[i], tx2 = x + dx[i] * 2, ty2 = y + dy[i] * 2;
		if (tx2 < 1 || tx2 > n || ty2 < 1 || ty2 > n)
			continue;
		if (a[tx1][ty1] == 'Q' && a[tx2][ty2] == '.')
		{
			a[x][y] = '.', a[tx1][ty1] = '.', a[tx2][ty2] = 'L';        // 一定要三个全改
			dfs(tx2, ty2, cnt + 1);
			a[x][y] = 'L', a[tx1][ty1] = 'Q', a[tx2][ty2] = '.';        // 再全部改来
		}
	}
}

signed main()
{
	cin >> n;
	for (int i = 1; i <= n; i ++)
		for (int j = 1; j <= n; j ++)
			cin >> a[i][j];
	for (int i = 1; i <= n; i ++)
		for (int j = 1; j <= n; j ++)
			if (a[i][j] == 'L')
				dfs(i, j, 0);
	cout << ans;
	return 0;
}

 

 

 

 

 

E.  精准难度

        (1)对于同一个数 a,a ^ a = 0,a ^ a ^ a = a。由此可见假设有 x 个子串乘积对 2025 取余的余数为 i,若 x 为偶数,该余数异或和为 0,若为奇数,贡献为该余数

        (2)那么题目难点转变成,如何求所有子数组的乘积并取余后,所有余数有多少个

 

 

        (3) 图中列式的关键在于,对于每一个新输入的 a[ i ],只会附乘在以 a[ i - 1 ] 为结尾的所有子数组之后。因此我只需要用到上一次取余后的结果

        (4)为什么不是上一次 i 项子数组乘积的结果,而是用上一次的余数呢?因为模运算在任何地方都可以加,可以随时随地取模。a[ 1 ] * a[ 2 ] * ... * a[ i - 1 ] * a[ i ] % 2025 就等同于 a[ 1 ] * a[ 2 ] * ... * a[ i - 1 ] % 2025 * a[ i ] % 2025,即上一次的余数 * a[ i ] 再取模

        (5)题中 n 的大小有 1e5,显然开不了 dp[ 100000 ][ 2025 ] 的数组,由于只需要用到上一次的余数,由此可以使用滚动数组。dp [ i & 1 ][ j ],i & 1 会改变奇偶性,0 和 1 交替,达到滚动数组的目的

 

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5, INF = 1e18;

int T, n, aans, a[N], ans[2025], dp[2][2025];
string s;

signed main()
{
	cin >> n;
	for (int i = 1; i <= n; i ++)
	{
		cin >> a[i];
		for (int j = 0; j < 2025; j ++)
			dp[i & 1][j] = 0;
		for (int j = 0; j < 2025; j ++)
			dp[i & 1][j * a[i] % 2025] += dp[(i - 1) & 1][j];
		dp[i & 1][a[i] % 2025] ++;
		for (int j = 0; j < 2025; j ++)
			ans[j] += dp[i & 1][j];
	}
	for (int i = 0; i < 2025; i ++)
		if (ans[i] % 2 != 0)
				aans ^= i;
	cout << aans;
	return 0;
}

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

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

相关文章

Sam Altman发布博客,回顾OpenAI九年历程,直言目标已瞄准ASI超级人工智能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Python爬虫与1688图片搜索API接口:深度解析与显著收益

在电子商务的浩瀚海洋中&#xff0c;数据是驱动业务决策的核心引擎。阿里巴巴旗下的1688平台&#xff0c;作为全球领先的B2B在线市场&#xff0c;不仅汇聚了海量的商品信息&#xff0c;还提供了丰富的API接口&#xff0c;为开发者提供了强大的数据获取工具。本文将深入探讨1688…

回归预测 | MATLAB实LSTM多输入单输出回归预测

回归预测 | MATLAB实LSTM多输入单输出回归预测 目录 回归预测 | MATLAB实LSTM多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 LSTM多输入单输出回归预测 程序设计 完整代码&#xff1a;MATLAB实LSTM多输入单输出回归预测 %% 清空环境变量 warni…

从 0 到 1,用 FastGPT 搭建专属私有化知识库与超智能 AI 助理

田园课堂私有化知识库搭建流程与总结 引言 在当今数字化时代&#xff0c;知识管理与智能交互对于教育领域的创新发展至关重要。FastGPT作为一款高效的AI流程构建可视化开源工具&#xff0c;为田园课堂实现私有化知识库的快速搭建提供了有力支持。本文将详细阐述使用FastGPT搭…

centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常

centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常 问题 在服务器使用open3d时&#xff0c;报错缺失GLIBC_2.27&#xff0c;因为后续操作出问题会导致服务器挂&#xff0c;所以最好先备份一下。 解决 查询glibc版本 输入指令查询系统glibc版本&#x…

UE播放声音

蓝图中有两个播放声音的函数 Play Sound 2D 和 Play Sound at Location Play Sound 2D没有声音距离衰减&#xff0c;一般用于界面ui Play Sound at Location 有声音距离衰减&#xff0c;一般用于枪声&#xff0c;场景声等&#xff0c;比较常用

【情感】程序人生之情感关系中的平等意识(如何经营一段长期稳定的关系 沸羊羊舔狗自查表)

【情感】程序人生之情感关系中的平等意识&#xff08;如何经营一段长期稳定的关系 & 沸羊羊舔狗自查表&#xff09; 文章目录 1、情感关系中的平等意识2、如何经营一段长期稳定的关系&#xff08;避免左倾 | 敬畏与担当&#xff09;3、沸羊羊/舔狗自查表&#xff08;避免右…

借助免费GIS工具箱轻松实现las点云格式到3dtiles格式的转换

在当今数字化浪潮下&#xff0c;地理信息系统&#xff08;GIS&#xff09;技术日新月异&#xff0c;广泛渗透到城市规划、地质勘探、文化遗产保护等诸多领域。而 GISBox 作为一款功能强大且易用的 GIS 工具箱&#xff0c;以轻量级、免费使用、操作便捷等诸多优势&#xff0c;为…

Chapter4.1 Coding an LLM architecture

文章目录 4 Implementing a GPT model from Scratch To Generate Text4.1 Coding an LLM architecture 4 Implementing a GPT model from Scratch To Generate Text 本章节包含 编写一个类似于GPT的大型语言模型&#xff08;LLM&#xff09;&#xff0c;这个模型可以被训练来生…

Git revert回滚

回退中间的某次提交&#xff08;此操作在预生产分支上比较常见&#xff09;&#xff0c;建议此方式使用命令进行操作&#xff08;做好注释&#xff0c;方便后续上线可以找到这个操作&#xff09; Git操作&#xff1a; 命令&#xff1a;revert -n 版本号 1&#xff1a;git re…

1. 使用springboot做一个音乐播放器软件项目【前期规划】

背景&#xff1a; 现在大部分音乐软件都是要冲会员才可以无限常听的。对于喜欢听音乐的小伙伴&#xff0c;资金又比较紧张&#xff0c;是那么的不友好。作为程序员的我&#xff0c;也是喜欢听着歌&#xff0c;敲着代码。 最近就想做一个音乐播放器的软件&#xff0c;在内网中使…

Flutter项目开发模版,开箱即用(Plus版本)

前言 当前案例 Flutter SDK版本&#xff1a;3.22.2 本文&#xff0c;是由这两篇文章 结合产出&#xff0c;所以非常建议大家&#xff0c;先看完这两篇&#xff1a; Flutter项目开发模版&#xff1a; 主要内容&#xff1a;MVVM设计模式及内存泄漏处理&#xff0c;涉及Model、…

配置数据的抗辐照加固方法

SRAM 型FPGA 的配置存储器可以看成是由0 和1 组成的二维阵列&#xff0c;帧的高度为矩阵阵列的高度&#xff0c;相同结构的配置帧组成配置列&#xff0c;如CLB 列、IOB 列、输入输出互联(Input Output Interconnect,IOI)列、全局时钟(Global Clock, GCLK)列、BRAM 列和BRAM 互联…

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前&#xff0c;请先学习Python的基础知识 其他路线&#xff1a; Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析&#xff08;数据科学&#xff09; >> Python 算法&#xff08;人工智能&#xff09; >> Pyth…

【Vue3项目实战系列一】—— 全局样式处理,导入view-ui-plus组件库,定制个性主题

&#x1f609; 你好呀&#xff0c;我是爱编程的Sherry&#xff0c;很高兴在这里遇见你&#xff01;我是一名拥有十多年开发经验的前端工程师。这一路走来&#xff0c;面对困难时也曾感到迷茫&#xff0c;凭借不懈的努力和坚持&#xff0c;重新找到了前进的方向。我的人生格言是…

SCAU期末笔记 - 数据库系统概念往年试卷解析

数据库搞得人一头雾水&#xff0c;题型太多太杂&#xff0c;已经准备摆烂了。就刷刷往年试卷&#xff0c;挂不挂听天由命。 2019年 Question 1 选择题 1. R ∩ S R∩S R∩S等于一下哪个选项&#xff1f; 画个文氏图秒了 所以选A. R ∩ S R − ( R − S ) R∩SR-(R-S) R∩…

oxml中创建CT_Document类

概述 本文基于python-docx源码&#xff0c;详细记录CT_Document类创建的过程&#xff0c;以此来加深对Python中元类、以及CT_Document元素类的认识。 元类简介 元类&#xff08;MetaClass&#xff09;是Python中的高级特性。元类是什么呢&#xff1f;Python是面向对象编程…

Fabric环境部署

官方下载文档&#xff1a;A Blockchain Platform for the Enterprise — Hyperledger Fabric Docs main documentation 1.1 创建工作目录 将Fabric代码按照GO语言的推荐方式进行存放&#xff0c;创建目录结构并切换到该目录下。具体命令如下&#xff1a; mkdir -p ~/go/src/g…

TCP与DNS的报文分析

场景拓扑&#xff1a; 核心路由配置&#xff1a; 上&#xff08;DNS&#xff09;&#xff1a;10.1.1.1/24 下(WEB)&#xff1a;20.1.1.1/24 左&#xff08;client&#xff09;&#xff1a;192.168.0.1/24 右(PC3)&#xff1a;192.168.1.1/24Clint2配置&a…

怎么管理电脑usb接口,分享四种USB端口管理方法

怎么管理电脑usb接口&#xff0c;分享四种USB端口管理方法 USB接口作为电脑重要的外部接口&#xff0c;方便了数据传输和设备连接。 然而&#xff0c;不加管理的USB接口也可能带来安全隐患&#xff0c;例如数据泄露、病毒传播等。 因此&#xff0c;有效管理电脑USB接口至关重…