《AcWing第147场周赛》 牛的语言学(递推) / 孤立点数量(并查集)

文章目录

    • 牛的语言学
        • 考察知识:递推
      • 题目链接
      • 题目描述
      • 思路
      • 具体代码及注释
    • 孤立点数量
        • 考察知识:并查集
      • 题目链接
      • 题目描述
      • 思路分析
    • 在这里插入图片描述
      • 代码及注释

牛的语言学

考察知识:递推

题目链接

https://www.acwing.com/problem/content/5559/

题目描述

在这里插入图片描述

思路

在这里插入图片描述

具体代码及注释

#include <iostream>
#include <set>
using namespace std;
const int N = 10010;
bool f[N];
//用递推,f[i]表示f[0...i]可以作为一个词根
int main() {string s;cin >> s;set<string> res;    //用set存储,防止重复,而且排序好了int n = s.size();f[n - 1] = true;//从后往前递推for(int i = n - 2; i >= 4; i --) {  //保证最少词根有5个长度//枚举后缀长度for(int j = 2; j <= 3; j++) {//判断后边跟着的第一个后缀是否满足if(f[i + j]) {  //从后往前,故f[i + j]已经操作好了,若是可以作为词根,那么操作后缀判断//取出后缀和其后相邻的后缀进行判断string a = s.substr(i + 1, j);string b = s.substr(i + 1 + j, j);  //判断是否相等,不相等或者长度不一样则满足条件if(a != b || f[i + 5]) {f[i] = true;res.insert(a);  //每次其相邻的第一个后缀进行加入即可}}}}cout << res.size() << endl;for(auto &it : res) cout << it << endl;return 0;
}

孤立点数量

考察知识:并查集

题目链接

https://www.acwing.com/problem/content/5560/

题目描述

在这里插入图片描述

思路分析

在这里插入图片描述

在这里插入图片描述

代码及注释

#include <iostream>
using namespace std;
const int N = 100010;
int p[N];
bool st[N]; //判断是否有环
int find(int x) {if(p[x] != x)   p[x] = find(p[x]);return p[x];
}
int main() {int n, m;scanf("%d%d", &n, &m);//并查集的初始化for(int i = 1; i <= n; i++) p[i] = i;while(m --) {int a, b;scanf("%d%d", &a, &b);a = find(a), b = find(b);	//找集合的父节点if(a == b)  st[b] = true;	//若已经在一个集合中,这时候加边必然会产生环else {p[a] = b;	//连接a到b的集合中st[b] |= st[a];	//若a存在环,则b也必然存在了}}//遍历int res = 0;for(int i = 1; i <= n; i++)if(p[i] == i && !st[i])  //(p[i] == i)遍历所有集合代表节点,若无环,则res = 1,累加res++;cout <<res;return 0;
}

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

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

相关文章

【网络原理】TCP协议详细解析

文章目录 &#x1f332;TCP协议的概念&#x1f338;TCP协议段格式&#x1f338;TCP的特性 &#x1f333;TCP原理详解&#x1f338;确认应答机制&#xff08;安全机制&#xff09;&#x1f338;超时重传机制&#xff08;安全机制&#xff09;&#x1f338;连接管理&#xff08;安…

C++ 中的虚函数和多态性

C 是一种高级编程语言&#xff0c;它具有面向对象编程的特性。在 C 中&#xff0c;虚函数和多态性是非常重要的概念&#xff0c;它们使得继承关系更加灵活和强大。 虚函数是在基类中声明为虚函数的成员函数&#xff0c;其作用是在运行时动态绑定函数的调用。当在派生类中重写基…

【软考高项】七、信息技术发展之存储、数据库、信息安全

1、存储知识点 存储类型分&#xff1a;封闭式&#xff08;小型机&#xff09;和开放式&#xff08;服务器&#xff09; 其中开放式又分内置和外挂存储&#xff08;直连DAS、网格FAS&#xff08;NAS/SAN&#xff09;&#xff09; 2、数据库知识点 数据结构模型&#xff1a; …

【晴问算法】入门篇—贪心算法—最大组合整数

题目描述 现有0~9中各个数的个数&#xff0c;将它们组合成一个整数&#xff0c;求能组合出的最大整数。 输入描述 在一行中依次给出0-9中各个数的个数&#xff08;所有个数均在0-100之间&#xff09;。数据保证至少有一个数的个数大于0。 输出描述 输出一个整数&#xff0c;表示…

Python网络爬虫内容介绍

Python爬虫是使用Python语言编写的网络爬虫程序&#xff0c;用于从互联网上自动抓取、解析和处理数据。爬虫可以模拟人类的行为&#xff0c;自动访问网页、提取所需信息&#xff0c;并将这些信息保存到本地或数据库中&#xff0c;以供后续分析和使用。 Python爬虫的内容主要包…

MyBatisPlus 之一:Spring 整合 MyBatisPlus 及雪花算法

1. Mybatis-Plus简介 Mybatis-Plus&#xff08;简称MP&#xff09;是一个 Mybatis 的增强工具&#xff0c;在 Mybatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。这是官方给的定义&#xff0c;关于mybatis-plus的更多介绍及特性&#xff0c;可以参考http…

【NC14399】素数判断

题目 素数判断 分解质因数 思路 题目很直接&#xff0c;给你一个数&#xff0c;判断其是不是素数&#xff0c;如果是&#xff0c;输出一句话和它本身&#xff0c;如果不是&#xff0c;输出一句话和它的质因数&#xff0c;需要注意的是质因数要从小到大输出。 我们知道&#x…

蓝桥杯第 6 场 小白入门赛 2.猜灯谜(for + 数组)

思路&#xff1a;注意是环形排列的灯笼&#xff0c;它的谜底是相邻两个灯笼的数字之和。这道题要用到两个数组&#xff0c;ans存答案&#xff0c;a存原数据。数据读入部分就不用说了&#xff0c;重点就是单独写明ans[0]和ans[n-1]两个取值&#xff0c;其他的用for循环数组就可以…

数据结构——栈和队列的表示与实现详解

目录 1.栈的定义与特点 2.队列的定义与特点 3.案例引入 4.栈的表示和操作的实现 1.顺序栈的表示 代码示例&#xff1a; 2.顺序栈的初始化 代码示例&#xff1a; 3.判断栈是否为空 代码示例&#xff1a; 4.求顺序栈长度 代码示例&#xff1a; 5.清空顺序栈 …

如何实现图片上传至服务器

在绝大多数的项目中都会涉及到文件上传等&#xff0c;下面我们来说一下技术派中是如何实现原生图片上传的&#xff0c;这个功能说起来简单&#xff0c;但其实对于技术还是有考验的。图片的上传涉及到IO读写&#xff0c;一个文件上传的功能&#xff0c;就可以把IO流涉及到的知识…

PyTorch学习笔记之激活函数篇(六)

6、RReLU函数 对应的论文链接&#xff1a;https://arxiv.org/pdf/1505.00853.pdf 6.1 公式 RReLU函数的公式&#xff1a; f ( x ) { x , x > 0 α x , x < 0 f(x) \begin{cases} x&,x>0 \\ \alpha x&,x<0 \end{cases} f(x){xαx​,x>0,x<0​ …

rust - 一个日志缓存记录的通用实现

本文给出了一个通用的设计模式&#xff0c;通过建造者模式实例化记录对象&#xff0c;可自定义格式化器将实例化后的记录对象写入到指定的缓存对象中。 定义记录对象 use chrono::prelude::*; use std::{cell::RefCell, ffi::OsStr, fmt, io, io::Write, path::Path, rc::Rc,…

✅技术社区—通过Canal框架实现MySQL与ElasticSearch的数据同步

Canal 是一个由阿里巴巴开源的&#xff0c;基于 Java 的数据库变更日志解析的中间件&#xff0c;其原理是基于Binlog订阅的方式实现&#xff0c;模拟一个MySQL Slave 订阅Binlog日志&#xff0c;从而实现CDC&#xff0c;主要用于实现 MySQL 数据库的增量数据同步。它主要的使用…

模块化项目Eclipse测试网零撸教程

简介&#xff1a;Eclipse 是一个基于 Solana 区块链的初创项目&#xff0c;致力于构建基于 Solana 虚拟机的通用 Layer2 解决方案&#xff0c;为以太坊提供更快速、更通用的 Rollup 技术。其主要用途是为开发者提供构建基于 Solana 虚拟机的 Rollup 应用的平台&#xff0c;解决…

Vue3-响应式基础:单文件和组合式文件

单文件&#xff1a;html <!DOCTYPE html> <html> <head><title>响应式基础</title> </head> <body><div id"app" ><!-- dynamic parameter:同样在指令参数上也可以使用一个 JavaScript 表达式&#xff0c;需要包…

企业微信H5文件下载。

废话不多说&#xff0c;直接上代码。 1.判断是不是企业微信打开的 const ua navigator.userAgent.toLowerCase() if (/micromessenger/.test(ua)) {} 2.复制功能 navigator.clipboard.writeText(newsUrl).then(() > {this.$message({message: 您已复制文件链接&#xff…

leetcode513找树左下角的值

解法1&#xff1a;BFS 思路就是层序遍历 用队列记住每层的元素&#xff0c;如果每次记住每层的第一个元素 ---->https://programmercarl.com/0102.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86.html#_102-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A…

微调大型语言模型(LLM):应用案例示例

微调大型语言模型&#xff08;LLM&#xff09;&#xff1a;应用案例示例 摘要&#xff1a; 本文讨论了大型语言模型&#xff08;LLM&#xff09;的微调&#xff0c;这是一种通过少量数据训练已经预训练好的模型以执行特定任务的过程。微调可以让LLM在翻译、文本分类、文本生成…

SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

文章目录 1.整合MyBatis1.需求分析2.数据库表设计3.数据库环境配置1.新建maven项目2.pom.xml 引入依赖3.application.yml 配置数据源4.Application.java 编写启动类5.测试6.配置类切换druid数据源7.测试数据源是否成功切换 4.Mybatis基础配置1.编写映射表的bean2.MonsterMapper…

从零到一构建短链接系统(五)

1.修改UserService Service public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {public UserRespDTO getUserByUsername(String username) {LambdaQueryWrapper<UserDO> queryWrapper Wrappers.lambdaQuery(UserDO.c…