LQ24fresh

目录

        C. 录入成绩

        D. 标记名字 

        E. 奖杯排列 


 

 

 

C. 录入成绩

        (1)以国特 'G' 为切入点,枚举每一个 'G' 单独时是否为合法字符串,若合法 'G1' 有多少个

        (2)用到的两个 string 函数:

                · s.erase( i, a ) :从第 i 个字符开始,删掉 a 个字符 

                · s.substr( i, a ) :从第 i 个字符开始,截取 a 个字符 

        (3)map 统计每种奖项出现次数。确保每种奖项都出现过 

#include<bits/stdc++.h>
#define int long long
using namespace std;const int N = 1e5 + 5, INF = 1e18;
int t, n, cnt, ans;
string s;
map<string, int> mp;signed main()
{cin >> s;int len = s.length();s = ' ' + s;for (int i = 1; i <= len; i ++){mp.clear();if (s[i] == 'G'){string t = s;t.erase(i, 1); for (int j = 1; j < len; j ++){if (t[j] == 'G' && j + 1 < len)mp[t.substr(j, 2)] ++, j ++;elsemp[t.substr(j, 1)] ++;}if (mp.find("G") == mp.end() && mp.size() == 7)    // 没有单独的 'G' 且所有奖项都出现过ans = max(ans, mp["G1"]);}}cout << ans;return 0;
}

 

D. 标记名字 

 

        (1) 法一:记忆化搜索,一般是从大问题到小问题搜

        (2)开不了 1e10 的数组,用 map 来离散化

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5, INF = 1e18;int T, n, ans;
string s;
map<int, int> mp;int dfs(int n)
{if (mp.find(n) != mp.end())return mp[n];mp[n] = n - 1;for (int i = 2; i * i <= n; i ++){if (n % i == 0){mp[n] -= dfs(i);if (i * i != n)                // 如果不是完全平方数就会有两个约数,一块减掉mp[n] -= dfs(n / i);}}return mp[n];
}signed main()
{cin >> n;cout << dfs(n);return 0;
}

 

        (3)法二: 欧拉函数:返回值为 1 - n 中与 n 互质的数的个数。只要不互质就能约分,就会重复

#include<bits/stdc++.h>
#define int long long
using namespace std;const int N = 1e5 + 5, INF = 1e18;
int t, n, cnt, ans;
string s;signed main()
{cin >> n;ans = n;for (int i = 2; i <= sqrt(n); i ++){if (n % i == 0){ans = ans / i * (i - 1);while (n % i == 0)n /= i;}} if (n > 1)ans = ans / n * (n - 1);cout << ans;return 0;
}

 

 

 

 

 

 

E. 奖杯排列 

        (1)奖杯上的数字很大,用 map 来实现离散化

        (2)mp1[ a[ i ] ] 代表以 a[ i ] 为结尾有多少个数列,mp2[ a[ i ] ] 代表当前位置前面 a[ i ] 出现了多少次。

        (3)mp1[ a[ i ] ] 分两类转移:

                · 以 a[ i ] - k 为结尾的数列有多少个, 以 a[ i ] 为结尾的数列就有多少个,只是在前者的最后再加上一个 a[ i ]。此时数列中个数大于等于三,因为以 a[ i ] 为结尾的数列至少有两个元素

                · a[ i ] 与 a[ i ] - k 组成一个新的数列,因为 a[ i ] - k 无法单独成一个数列,因此不会被算入第一种情况。此时数列中个数等于二

#include<bits/stdc++.h>
#define int long long
using namespace std;const int N = 2e5 + 5, INF = 1e18, mod = 1e9 + 7;
int t, n, k, cnt, ans, a[N];
string s;
map<int, int> mp1, mp2;signed main()
{cin >> n >> k;for (int i = 1; i <= n; i ++)cin >> a[i];for (int i = 1; i <= n; i ++){// 情况一if (mp1.find(a[i] - k) != mp1.end()){mp1[a[i]] += mp1[a[i] - k];mp1[a[i]] %= mod;}// 情况二if (mp2.find(a[i] - k) != mp2.end()){mp1[a[i]] += mp2[a[i] - k];mp1[a[i]] %= mod;}mp2[a[i]] ++;}map<int, int> :: iterator it;for (it = mp1.begin(); it != mp1.end(); it ++){ans += it -> second;ans %= mod;}cout << ans; return 0;
}

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

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

相关文章

Linux(centos)安装 MySQL 8 数据库(图文详细教程)

前言 前几天写了个window系统下安装Mysql的博客&#xff0c;收到很多小伙伴私信需要Linux下安装Mysql的教程&#xff0c;今天这边和大家分享一下&#xff0c;话不多说&#xff0c;看教程。 一、删除以前安装的MySQL服务 一般安装程序第一步都需要清除之前的安装痕迹&#xff…

CMake配置区分Debug和Release模式

当需要在cmake工程中需要区别debug和release模式&#xff0c;以使用不同lib库的时候。就需要在cmakelists.txt文件中区别当前模式。 单配置生成器下&#xff0c;使用CMAKE_BUILD_TYPE变量就能拿到当前是debug还是release if(CMAKE_BUILD_TYPE STREQUAL "Debug")# 使…

【HarmonyOS应用开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】

目录 &#x1f60b;环境配置&#xff1a;华为HarmonyOS开发者 &#x1f4fa;演示效果&#xff1a; &#x1f4d6;实验步骤及方法&#xff1a; 一、在media文件夹中添加想要使用的图片素材​ 二、在entry/src/main/ets/page目录下创建Welcome.ets文件 1. 整体结构与组件声…

查看打开的端口

对一个大范围的网络或活跃的主机进行渗透测试&#xff0c;需要了解这些主机上所打开的端口号。 使用Nmap工具扫描主机上开放的端口号&#xff1a; 输出的信息显示了主机www.yiai.xyz上开放的所有端口 指定扫描端口范围 如果目标主机上打开的端口较多时&#xff0c;用户查看起…

运动控制探针功能详细介绍(CODESYS+SV63N伺服)

汇川AM400PLC和禾川X3E伺服EtherCAT通信 汇川AM400PLC和禾川X3E伺服EtherCAT通信_汇川ethercat通信-CSDN博客文章浏览阅读1.2k次。本文详细介绍了如何使用汇川AM400PLC通过EtherCAT总线与禾川X3E伺服进行通信。包括XML硬件描述文件的下载与安装,EtherCAT总线的启用,从站添加…

大模型 LangChain 开发框架:Runable 与 LCEL 初探

大模型 LangChain 开发框架&#xff1a;Runable 与 LCEL 初探 一、引言 在大模型开发领域&#xff0c;LangChain 作为一款强大的开发框架&#xff0c;为开发者提供了丰富的工具和功能。其中&#xff0c;Runnable 接口和 LangChain 表达式语言&#xff08;LCEL&#xff09;是构…

力扣28找出字符串中第一个匹配项的下标

class Solution:def strStr(self, haystack: str, needle: str) -> int:# 特殊情况处理if not needle:return 0# 获取 haystack 和 needle 的长度a len(needle)b len(haystack)# 遍历 haystack&#xff0c;检查每个子字符串是否与 needle 匹配for i in range(b - a 1):if…

基于微信小程序的自修室预约系统

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在知识爆炸的时代&#xff0c;自修室成为了众多学习者…

Spring 核心技术解析【纯干货版】- IV:Spring 切面编程模块 Spring-Aop 模块精讲

随着软件开发技术的不断进步&#xff0c;面向切面编程&#xff08;AOP&#xff09;作为一种重要的编程思想&#xff0c;已经在现代开发中占据了重要地位。它通过将横切逻辑从业务逻辑中分离出来&#xff0c;使得代码更加清晰、易于维护。Spring AOP 作为 Spring 框架的核心模块…

计算机网络期末复习(含选择题、判断题、简答题、判断题)

&#x1f4e2;&#x1f4e2;&#x1f4e2;传送门 一、选择题二、判断题三、简答题目1.问&#xff1a;常用的信道复用技术包括哪几种?简述它们的基本工作原理2.问&#xff1a;请分别列举OSI参考模型和TCP/IP参考模型的层次结构3.问&#xff1a;请描述交换机的基本功能。用它怎样…

MySQL - 函数

一 . 函数定义&#xff1a; 函数 是指一段可以直接被另一段程序调用的程序或代码。 ---> 说明这些函数已经被mysql内置了 MySQL中的函数主要分为以下四类&#xff1a; 字符串函数、数值函数、日期函数、流程函数。 二 . 字符串函数 MySQL中内置了很多字符串函数&#xff0c…

UniApp 原生插件开发指南

一、UniApp 原生插件开发引言 在当今的移动应用开发领域&#xff0c;跨平台开发已成为主流趋势&#xff0c;而 UniApp 作为一款强大的跨平台开发框架&#xff0c;备受开发者青睐。它凭借 “一套代码&#xff0c;多端运行” 的特性&#xff0c;极大地提高了开发效率&#xff0c…

Java高频面试之SE-08

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本牛马baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; 成员变量和局部变量的区别有哪些&#xff1f; 在 Java 中&#xff0c;成员变量和局部变量是两种不同类型的变量&#xff0c;它们在作用域…

计算机网络 (15)宽带接入技术

前言 计算机网络宽带接入技术是指通过高速、大容量的通信信道或网络&#xff0c;实现用户与互联网或其他通信网络之间的高速连接。 一、宽带接入技术的定义与特点 定义&#xff1a;宽带接入技术是指能够传输大量数据的通信信道或网络&#xff0c;其传输速度通常较高&#xff0c…

2453.学习周刊-2024年53周

封面 不要站在问题一边打败孩子&#xff0c;而是站在孩子一边打败问题&#xff0c;多从孩子的角度思考问题&#xff0c;帮助孩子一起解决问题 ✍优秀博文 SQL中历史数据处理实践指南新领导上任了&#xff0c;老员工该如何适应&#xff1f;主动接纳还是我行我素&#xff1f; ✍…

回归预测 | MATLAB实现CNN-SVM多输入单输出回归预测

回归预测 | MATLAB实现CNN-SVM多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-SVM多输入单输出回归预测预测效果基本介绍模型架构程序设计参考资料 预测效果 基本介绍 CNN-SVM多输入单输出回归预测是一种结合卷积神经网络&#xff08;CNN&#xff09;和支持向量机&#…

2025寒假集训总课表

各位家长&#xff0c;各位同学&#xff0c;新年好&#xff01; 过去的2024有缘认识&#xff0c;一起学习&#xff0c;算是比较成功的一年。大家跟着我们的团队进行了约一年的培训&#xff0c;很有收获。纵观全年&#xff1a; 1、寒假我们认真集训了20天&#xff0c;暑假40天&…

python学opencv|读取图像(二十四)使用cv2.putText()绘制文字进阶-倾斜文字

【1】引言 前述学习进程中&#xff0c;我们已经掌握了pythonopencv绘制文字的基本技能&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;二十三&#xff09;使用cv2.putText()绘制文字-CSDN博客 在这里&#xff0c;我们使用不同的字体、线条颜色和线…

[python SQLAlchemy数据库操作入门]-19.使用复合条件构建复杂查询

哈喽,大家好,我是木头左! 构建基本查询条件 使用 SQLAlchemy 表达式语言构建基本查询条件非常简单。例如,假设有一个名为 User 的表,并且希望查找年龄大于 30 的所有用户。可以使用以下代码来实现这一点: from sqlalchemy import create_engine, Table, Column, Intege…

HTML——29. 音频引入二

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>音频引入</title></head><body><!--audio:在网页中引入音频IE8以及之前版本不支持属性名和属性值一样&#xff0c;可以只写属性名src属性:指定音频文件…