当前位置: 首页 > article >正文

PTA练习题

文章目录

    • L1-101 别再来这么多猫娘了!(字符串查找-替换)
    • L2-049 鱼与熊掌(set/暴力/vector)
    • L2-050 懂蛇语(字符串匹配)
    • L2-051 满树的遍历(前序)
    • L2-001 紧急救援(最短路)

L1-101 别再来这么多猫娘了!(字符串查找-替换)

主要考察字符串函数的运用,当然也可以自己暴力写

先用一个短的字符串替换,输出时再替换为长的。

string s[150];
void solve()
{int n,k,c=0;string a,b;cin>>n;cin.ignore();for(int i=1;i<=n;i++)getline(cin,s[i]);cin>>k;cin.ignore();getline(cin,a);for(int i=1;i<=n;i++){while(a.find(s[i])!=-1ll){int it=a.find(s[i]);a.replace(it,s[i].size(),"*+*");c++;}}if(c>=k) cout<<c<<'\n'<<"He Xie Ni Quan Jia!\n";else{while(a.find("*+*")!=-1ll){int it=a.find("*+*");a.replace(it,3,"<censored>");}cout<<a<<'\n';	}
}

L2-049 鱼与熊掌(set/暴力/vector)

  • 不能直接用哈希,会爆内存
  • set 插入x,y ,size没变,说明存在
  • vector,find查找
vector<int> v[N];
void solve()
{int n,m;cin>>n>>m;fir(i,1,n){int x,y;cin>>x;while(x--){cin>>y;v[i].push_back(y);}}int q;cin>>q;while(q--){int x,y,c=0;cin>>x>>y;fir(i,1,n){if(find(ALL(v[i]),x)!=v[i].end() && find(ALL(v[i]),y)!=v[i].end())c++;}cout<<c<<'\n';}}

L2-050 懂蛇语(字符串匹配)

两个坑:

  • 不一定以字母开头
  • 字典中可能有重复的句子,所以用vector,或者multimap

multimap 没法下标索引,用insert

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define fir(i,a,b) for(int i=a;i<=b;i++)
#define fir_(i,a,b) for(int i=a;i>=b;i--)
#define ALL(x) x.begin(),x.end()
#define lowbit(x) (x&(-x))
#define PII pair<int,int> 
#define fi first
#define se second
#define tup tuple<int,int,int>
const int N=1e5+10;
map<string, multimap<string,int> > mp;
string s[N];
void solve()
{int n,m;cin>>n;cin.ignore();fir(i,1,n){getline(cin,s[i]);string a;for(int j=0;j<s[i].size();j++){if((s[i][j-1]==' '||j==0)&&s[i][j]!=' ')a+=s[i][j];}// mp[a][s[i]]=1;mp[a].insert({s[i],1});}cin>>m;cin.ignore();fir(i,1,m){string b,c;getline(cin,b);for(int j=0;j<b.size();j++)if((b[j-1]==' '||j==0)&&b[j]!=' ')c+=b[j];int f=0;for(auto x:mp[c]){string it=x.fi;if(f==1)cout<<'|';cout<<it;f=1;}if(f==0) cout<<b;cout<<'\n';}}
signed main()
{IOSint t=1;//cin>>t;while(t--)solve();return 0;
}

L2-051 满树的遍历(前序)

vector<int> g[150000];
int r=0;
void qianxu(int x)
{if(x==r)cout<<x;elsecout<<' '<<x;for(auto it:g[x]){qianxu(it); }}
signed main()
{int n,f=0;cin>>n;for(int i=1;i<=n;i++){int x;cin>>x;g[x].push_back(i);if(x==0) r=i;}queue<int> q;q.push(0);int c=g[r].size();while(q.size()){int x=q.front();q.pop();for(auto it: g[x]){if(g[it].size()!=0&&g[it].size()!=c){f=1;c=max(c,(long long)g[it].size());  	}q.push(it);}}  cout<<c<<" ";if(f==0)cout<<"yes\n";elsecout<<"no\n";qianxu(r);
}

L2-001 紧急救援(最短路)

vector<pair<int,int> > g[500100];
int n,m,s,e,a[550],d[550],v[550],f[550],sum[550],ans[550],cnt[550];
priority_queue<PII,vector<PII>,greater<PII> > q;
void dij()
{q.push({0,s});while(q.size()){int x=q.top().first,y=q.top().second;q.pop();if(v[y]==1)continue;v[y]=1;for(auto it: g[y]){if(d[y]+it.second<d[it.first]){d[it.first]=d[y]+it.second;f[it.first]=y;sum[it.first]=sum[y]+a[it.first];q.push({d[it.first],it.first});cnt[it.first]=cnt[y];//!!!}else if(d[y]+it.second==d[it.first]){if(sum[y]+a[it.first]>sum[it.first]){f[it.first]=y;sum[it.first]= sum[y]+a[it.first];}cnt[it.first]+=cnt[y];//!!//q.push({d[it.first],it.first});}}}
}
signed main()
{cin>>n>>m>>s>>e;for(int i=0;i<n;i++)cin>>a[i];for(int i=1;i<=m;i++){int u,v,w;cin>>u>>v>>w;g[u].push_back({v,w});g[v].push_back({u,w});}memset(d,127,sizeof(d));d[s]=0;sum[s]=a[s];cnt[s]=1;dij();int k=e,i=1;while(k!=s){ans[i++]=k;k=f[k];}cout<<cnt[e]<<' '<<sum[e]<<'\n'<<s;for(int j=i-1;j>0;j--)cout<<' '<<ans[j];}

相关文章:

PTA练习题

文章目录 L1-101 别再来这么多猫娘了&#xff01;&#xff08;字符串查找-替换&#xff09;L2-049 鱼与熊掌&#xff08;set/暴力/vector&#xff09;L2-050 懂蛇语&#xff08;字符串匹配&#xff09;L2-051 满树的遍历(前序)L2-001 紧急救援&#xff08;最短路&#xff09; L…...

华润电力招聘认知能力测评及性格测评真题题库考什么?

华润电力招聘测评包含逻辑推理、数字推理、语言理解三大类型的问卷。共计58题。测评限时60分钟。其中逻辑推理、数字推理、语言推理分别限时20分钟&#xff0c;如逾时未完成相关测试&#xff0c;测试将自动终止&#xff0c;请注意测评时间。为了确保测评的连贯性&#xff0c;建…...

Maven Profile在插件与依赖中的深度集成

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

手机平板等设备租赁行业MDM方案解析

目录 引言&#xff1a;MDM 在租赁行业的重要性日益凸显 用户场景&#xff1a;租赁公司面临的主要挑战 1. 设备丢失、逾期未还 2. 手动配置和恢复效率低 3. 非授权使用频繁 4. 时区设置混乱影响运维 5. 缺乏实时监管能力 EasyControl MDM&#xff1a;租赁设备的远程管控…...

【前端】使用HTTPS

在前端本地开发环境中使用 HTTPS 主要取决于你用的是哪个构建工具&#xff08;如 Vite、Webpack、Vue CLI 等&#xff09;。 目录 ViteWebpack本地生产环境 npx serve浏览器提示“不安全”解决方法上传github注意不要把key传上去 Vite npm install --save-dev types/node #安…...

Python应用“面向对象”小练习

大家好!面向对象编程是一种以 “对象” 为核心的编程思想。对象可以看作是具有特定属性和行为的实体。例如&#xff0c;一个学生可以是一个对象&#xff0c;他的属性包括姓名和年龄&#xff0c;行为可以是打招呼。​ 代码呈现: # 定义类和对象 class Student:def __init__(sel…...

如何调试CATIA CAA程序导致的CATIA异常崩溃问题

问题背景&#xff1a;我采用CATIA CAA编写了一个界面的小程序&#xff0c;功能运行成功&#xff0c;但是每次运行完&#xff0c;关闭CATIA的时候&#xff0c;都会弹出这个对话框&#xff0c;这个对话框的意思是CATIA运行崩溃&#xff0c;点击确定后&#xff0c;CATIA就会意外关…...

SQL查询效率以及索引设计

1. SQL 查询效率与数据库缓冲池机制 1.1. 数据库缓冲池&#xff08;Buffer Pool&#xff09; 磁盘 I/O 需要消耗的时间很多&#xff0c;而在内存中进行操作&#xff0c;效率则会高很多&#xff0c;为了能让数据表或者索引中的数据随时被我们所用&#xff0c;DBMS 会申请占用内…...

day37打卡

知识点回顾&#xff1a;浙大疏锦行 过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 作业&#xff1a;对信贷数据集训练后保存权重&#xff0c;加载权重后继续训练50…...

分布式缓存:证明分布式系统的 CAP 理论

文章目录 Pre一、分布式系统背景与特点二、CAP 三要素详解三、CAP 定理的反证证明四、CP 架构与 AP 架构对比典型场景 五、CAP 理论在系统设计中的应用六、总结 Pre 分布式缓存&#xff1a;CAP 理论在实践中的误区与思考 分布式缓存&#xff1a;BASE理论实践指南 分布式 - 从…...

软件设计师“面向对象设计”真题考点分析——求三连

一、考点分值占比与趋势分析 综合知识历年考察统计 年份考题数分值占比考察重点2018334%继承类型、设计原则2019445.3%多态实现、类关系2020556.7%设计模式应用、接口隔离2021334%消息通信、封装特性2022668%开闭原则、组合模式2023556.7%模板方法、适配器模式2024445.3%单一…...

vue项目webpack、vite、rollup、parcel四种构建工具对比

以下是 Vue 项目中使用 Webpack 与其他主流构建工具(Vite、Rollup、Parcel)的对于项目的使用对比: 一、核心工具对比 特性WebpackViteRollupParcel构建原理Bundle-based(打包)ESM-based(原生模块)Bundle-based(专注库)Zero-config(自动分析)开发速度较慢(全量打包)…...

系统架构中的限流实践:构建多层防护体系(二)

系统架构中的限流实践:构建多层防护体系 一、接入层限流:流量拦截第一关二、应用层限流(服务内限流)Java生态方案对比三、分布式限流(跨服务限流)四、数据层限流(数据库/缓存限流)1. 数据库防护策略2. 缓存优化方案五、中间件层限流(消息队列/分布式服务)六、客户端限…...

Linux常见设备

linux上设备的分类? 设备分两种&#xff0c;字符设备和块设备。 块设备&#xff08;Block Device&#xff09;&#xff1a;以固定大小数据块访问的设备&#xff08;如磁盘、SSD&#xff09;&#xff0c;通常挂载后使用。 字符设备&#xff08;Character Device&#xff09;&…...

AI大模型学习二十八、ACE-Step:生成式AI音乐大模型简介与安装(一)

一、说明 先来一首创作的歌&#xff1a; 在大模型和生成式AI模型大规模发达的今天&#xff0c;利用大模型生成音乐也是其中一个重要的发展方向。今天我们就介绍一个这样的音乐生成模型ACE-Step&#xff0c;可基于关键字和歌词生成歌曲&#xff1b;基于歌曲生成伴奏等等功能。 …...

AI时代新词-AI芯片(AI - Specific Chip)

一、什么是AI芯片&#xff1f; AI芯片&#xff08;AI - Specific Chip&#xff09;是指专为人工智能&#xff08;AI&#xff09;计算任务设计的芯片。与传统的通用处理器&#xff08;如CPU&#xff09;相比&#xff0c;AI芯片针对深度学习、机器学习等AI应用进行了优化&#x…...

【多智能体系统开发框架AutoGen解析与实践】

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心架构图解核心作用讲解关键技术模块技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;基础问答系统案例2&#xff1a;多专家协作 运行结果验证 三、性能对比测试方法论量化…...

接口性能测试-工具JMeter的学习

接口登录链接http://111.230.19.204:8080/blog_login.html 一、JMeter基本使用流程 1、启动Jmeter 2、在“测试计划”下添加线程组 3、在“线程组”下添加“HTTP”取样器 4、填写“HTTP请求”的相关请求数据 5、在“线程组”下添加“查看结果树”监听器 6、点击“启动”按钮…...

python如何离线安装pandas,numpy

1.首先在有网的电脑上正常安装python&#xff08;和离线环境一样的版本&#xff09; 然后 pip install pandas &#xff08;不嫌麻烦的话也可以自己手动去pandas PyPI​​​​​​​ 一个个下载&#xff09; 安装好后导出相关包&#xff0c;使用如下指令 2.然后相关依赖包就…...

Java Swing 自定义JOptionPane

运行后的样式 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class demoB {public static void main(String[] args) {SwingUtilities.invokeLater(() -> {JFrame jf new JFrameDemo();jf.se…...

项目亮点 封装request请求模块

封装网络请求模块 统一管理和复用 在项目根目录的utils文件夹下 request模块更新 const http axios.create({baseURL: http://geek.itheima.net/v1_0,timeout: 5000 })定义根域名和超时时间 请求拦截器 请求发送之前拦截&#xff0c;做自定义的配置 // 添加请求拦截器 re…...

通过 Terraform 构建您的第一个 Azure Linux 虚拟机

欢迎来到 Azure Terraformer 第一期,我们将深入探讨如何在 Azure 上使用 Terraform 构建强大且可扩展的云解决方案。今天,我们将演示如何为 Azure Linux 虚拟机 (VM) 预配相关资源,例如资源组、公共 IP、网络接口和子网,以及如何从 Azure Key Vault 安全地获取 SSH 公钥。我…...

Linux连接服务器全攻略:从基础到进阶

在Linux系统下连接服务器是开发、运维人员的必备技能。无论是远程管理服务器、传输文件&#xff0c;还是进行开发调试&#xff0c;熟练掌握连接服务器的方法都能大幅提升工作效率。本文将从原理到实操&#xff0c;带你全面掌握Linux连接服务器的多种方式。 一、SSH协议基础 SSH…...

pg库分表操作步骤- PostgreSQL 分区表

原表结构 CREATE TABLE message (id VARCHAR(32) PRIMARY KEY,t_id VARCHAR(32),content TEXT,time TIMESTAMP,user_id VARCHAR(10),receive_user_id VARCHAR(10),type SMALLINT,send_flag SMALLINT,remark VARCHAR(50),receive_time TIMESTAMP );一、主表定义&#xff08;父表…...

讯飞AI相关sdk集成springboot

星火认知大模型对话&#xff1a;&#xff08;以spark 4.0 ultra 为例&#xff09; demo上的功能比较简陋&#xff0c;网络上搜到的比较残缺&#xff0c;很多功能缺失&#xff0c;我这里自己收集资料和运用编程知识做了整理&#xff0c;得到了自己想要的一些功能&#xff0c;比…...

在麒麟系统(Kylin OS)上安装`geckodriver`

在麒麟系统&#xff08;Kylin OS&#xff09;上安装geckodriver并配置其通过--connect-existing和--marionette-port 2828参数连接到已存在的Firefox实例&#xff0c;可以按照以下步骤操作&#xff1a; 1. 安装Firefox浏览器 在麒麟系统中&#xff0c;可以通过以下命令安装Fi…...

【图像大模型】Stable Diffusion XL:下一代文本到图像生成模型的技术突破与实践指南

Stable Diffusion XL&#xff1a;下一代文本到图像生成模型的技术突破与实践指南 一、架构设计与技术演进1.1 核心架构革新1.2 关键技术突破1.2.1 双文本编码器融合1.2.2 动态扩散调度 二、系统架构解析2.1 完整生成流程2.2 性能指标对比 三、实战部署指南3.1 环境配置3.2 基础…...

[闲谈]C语言的面向对象

C语言的面向对象 文章目录 C语言的面向对象一、面向对象编程的核心概念1. 封装2. 继承3. 多态 二、C语言实现封装的方法1. 定义结构体封装数据2. 实现成员方法3. 初始化对象4.应用场景5.注意事项 三、模拟继承的两种模式详解1. 组合模式&#xff08;Composition Pattern&#x…...

C 语言指针之手写内存深度剖析与手写库函数:带你从0开始手撸库 附录1.5 万字实战笔记

一、指针入门&#xff1a;从野指针到空指针 1.1 野指针的第一次暴击&#xff1a;沃日 哪里来的Segmentation Fault &#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f; 刚学指针时写过一段让我及其楠甭的代码,我x了xx的&#xff0c;最后才发现是为…...

C#高级:Winform桌面开发中CheckedListBox的详解

一、基础设置 单击触发选择效果&#xff1a;需要选择下面这个为True 二、代码实现 1.设置数据源 /// <summary> /// 为CheckBoxList设置数据源 /// </summary> /// <param name"checkedListBox1"></param> /// <param name"data&…...