2024/7/22 模拟赛记录

news/2024/9/16 21:15:08/文章来源:https://www.cnblogs.com/Kang-shifu/p/18316742

这次的模拟赛比较简单。
150 T1:100 T2:30 T3:0 T4:20
T1:
【题目描述】
给定两个字符串a,b,从a中选一段前缀,b中选一段后缀(前后缀都可以为
空),并将选出的后缀拼在选出的前缀后面。
你需要求出有多少种本质不同的串(可以为空)
场上思路:
上来直接敲了个扩展kmp,仔细读题后发现这道题和kmp半毛钱关系没有,浪费了20min。
很容易发现,挨个枚举不同的串显然不是正解,而串的总数又是两串长度之积。所以只需要求出重复的串的数量就可以了
思考,看样例找规律,将b串反转后与a串逐个匹配,相同的字母对应了一个重复的串,发现能过样例,自己思考后发现假了,没有判断所有重复的串
又仔细观察
如下两个串
abccb
babac
从b考虑,以b为节点的重复的串和两串中b的位置没有直接联系。
如ab abccbab等,而以b为节点的重复的串数量恰好是2*2=4.多尝试几次发现确实如此。
于是我们开桶,存一下每个串中每个字母一共出现了几次,然后把两串中相同字母相乘,与总串数做差,就是答案

using namespace std;
const int maxn = 1e6+10;
char a[maxn],b[maxn];
long long t1[30],t2[30];
long long n1 = 1,n2 = 1;
long long ans;
int main(){freopen("nan.in","r",stdin);freopen("nan.out","w",stdout);cin>>a+1;cin>>b+1;while(a[n1] != '\0') n1++;while(b[n2] != '\0') n2++;ans = n1*n2;n1--,n2--;for(int i = 1;i <= n1;i++){if('a'<=a[i]&&a[i]<='z') t1[a[i]-'a'+1]++;}for(int i = 1;i <= n2;i++){if('a'<=b[i]&&b[i]<='z') t2[b[i]-'a'+1]++;}for(int i = 1;i <= 26;i++) ans -= t1[i]*t2[i];cout<<ans;fclose(stdin);fclose(stdout);return 0;
}

T2
【题目描述】
有n个砝码,每个砝码都有初始重量ai。Q次操作,每次操作有下列两种:
•1,l,r,x:表示把l到r的所有ai变成x
•2,l,r,x:查询l到r的所有砝码,每个砝码可以用无数次,是否能称出重量x
ai和所有的x都不大于m。
保证ai和所有操作1的x总共最多不超过10种数字。
注意砝码只能放在同一侧。
【输入格式】
从文件weight.in中读入数据。
第一行三个整数n,m,Q。
接下来一行n个整数ai。
接下来Q行每行四个整数opt,l,r,x表示一次操作。opt=1表示操作1,opt=2
表示操作2。
【输出格式】
输出到文件weight.out中。
对于每个2操作。输出一行‘Yes’或者‘No’表示能否称出重量x。
【样例输入1】
3 3
1 2 3
2 1 3 2
1 1 3 3
2 1 3 2
【样例输出1】
Yes
No

场上写了个分块,挂了,暴力分。主要是这题没给大样例,我能有暴力分其实已经很奇迹了qwq
image

T3
image

image

T4
image
考场上只打了暴力,20分,给的挺多
从每个敌人出发打一遍最短路径? 因为是一棵树,所以直接BFS,最后统计每个点的最小距离取所有点最小距离的最大值为答案。
image

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Redis]为什么这么快

redis为什么这么快基于内存实现 redis将数据存储在内存中,内存的读写速度很快,所以redis速度很快 高效的数据结构哈希表 跳表 压缩表 快表 双向链表 简单动态字符串 整数数组单线程模型 使用IO多路复用 合理的数据编码

数据库中字符串连接符的使用

在数据库操作中,字符串处理是日常工作中不可或缺的一部分。无论是构建动态查询,还是处理数据输出,字符串连接符的使用都是至关重要的。 那么,如何正确地使用字符串连接符,才能高效地进行字符串操作呢? 在数据库中,字符串连接符的具体使用方法是什么?我们应该如何利用这…

h5开发心得

运营推广移动端开发 1.适配原理 宽的适配:flexible.js适配,是根据屏幕的宽度计算根标签的大小进行适配, 高的适配:需要用vh,vh在静态页面好用,vh是根据屏幕的可视高度计算的,当页面中有输入框时vh的页面会受到挤压,如下图 用百分比2.移动端布局如果有按钮,最好让ui设计…

BootStrap框架的使用

一、下载:BootStrap是一套用于 HTML、CSS 和 JS 开发的开源工具集。BootStrap下载官网学习的初级阶段,这里下载生产文件即可将下载的压缩包解压得到包含以下的文件: 记住bootstrap.min.css文件的路径创建html骨架,link引入bootstrap.min.css文件可根据文档中的代码复制到ht…

关于ssh的X11Forwarding功能和vnc端口冲突的问题

前言 偶然间发现有时vnc端口启动不了,显示端口已经启动,但是查看发现默认的59xx端口未启动,但是60xx端口缺被一个sshd进程占用,vnc服务除了默认的59xx端口,还会用到60xx端口。 正是因为这个60xx端口被sshd进程占用,所以vnc才启动不了。 那么这个sshd端口是干嘛的呢,默认…

powerdesigner导出图片PDF

1、导出图片 1.1 CTR+A 选中当前页的设计的表(物理模型或概念模型设计的表都可以)1.2、edit-->exportImage1.3选择自己要保存的图片类型:png/JEPG/SVG等等关于导出来的图片的清晰度,这里要说一下,自己保存的png和jepg都比较模糊,SVG虽然清晰度很高,但是手机上却无法查看…

踩坑记录:windows11下使用 VS2022 和 PCL1.14.1 配置点云开发环境

闲话不多说,具体在windows下下载PCL与解压pcl可以看https://www.yuque.com/huangzhongqing/pcl/这位大佬的文章,那我就具体说一下踩过点坑: 踩坑点1: 按照大佬的文章的步骤进行解压与下载,我的PCL环境下在了K盘中,但是最后不知怎么的我的openni2文件夹下在了C盘里,也就是…

记录--进度条真的是匀速的,不信你看

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣 引言 众所周知,进度条是程序员大大模拟的程序运行进度,一般会在某些数值卡住不动,引起99%悬案。但是背后的原理你真的清楚吗,其实进度条真的是匀速运动的! 先来看看效果接下来开始实现 创建一个矩形,然后折叠起来,…

excel 二级菜单联动筛选,减少筛选项,缓解打平之后筛选项过多不利于查看的问题

问题 二级菜单联动筛选,让标注更省力 步骤准备一级、二级菜单选项的映射表。公式 -> 根据所选内容创建准备一级下拉菜单选项。数据->数据验证->序列->选中区域准备二级下拉菜单选项。数据->数据验证->序列->公式(=INDIRECT(INDIRECT("C" &…

【Remotery】 Remotery-轻量级的远程实时 CPU/GPU 分析器设计浅析

1.Remotery简介 Remotery是一个轻量级的远程实时CPU/GPU分析器,主要用于监控CPU和GPU上多线程的活动。它提供了一个C文件,可以很容易的集成到项目中,并配置一个实时监控的Web界面,可以通过远程观察和分析程序的性能,适用于监控游戏的实时运行性能和分析移动端应用的性能场…

使用OpenCV进行ROS 2的循线跟踪

原文链接:https://www.youtube.com/watch?v=88y_1ovno8g In this Open Class, well explore how to implement a line-following robot using OpenCV and ROS 2. 在这堂公开课中,我们将探讨如何使用OpenCV和ROS 2来实现一个循线跟踪机器人。You will learn: ✏️ Introduct…