寒假集训7——STL
P3370 【模板】字符串哈希题目描述如题给定 N 个字符串第 i 个字符串长度为 Mi​字符串内包含数字、大小写字母大小写敏感请求出 N 个字符串中共有多少个不同的字符串。友情提醒如果真的想好好练习哈希的话请自觉。输入格式第一行包含一个整数 N为字符串的个数。接下来 N 行每行包含一个字符串为所提供的字符串。输出格式输出包含一行包含一个整数为不同的字符串个数。输入输出样例输入 #1复制5 abc aaaa abc abcc 12345输出 #1复制4说明/提示数据范围对于 30% 的数据N≤10Mi​≈6Mmax​≤15。对于 70% 的数据N≤1000Mi​≈100Mmax​≤150。对于 100% 的数据N≤10000Mi​≈1000Mmax​≤1500。样例说明样例中第一个字符串 abc 和第三个字符串 abc 是一样的所以所提供字符串的集合为 {aaaa,abc,abcc,12345}故共计 4 个不同的字符串。拓展阅读以下的一些试题从不同层面体现出了字符串哈希算法的正确性分析。P12197 Hash Killer IP12198 Hash Killer IIP12199 目前无解Hash Killer IIIP12200 Hash Killer ExtraP12201 Hash Killer PhantasmP7350 「MCOI-04」Dream and Strings#includeiostream #includestring #includemap using namespace std; map string, int mp; int main() { int n; cin n; while (n--) { string s; cin s; mp[s]; } cout mp.size(); return 0; }P1102 A-B 数对题目背景出题是一件痛苦的事情相同的题目看多了也会有审美疲劳于是我舍弃了大家所熟悉的 AB Problem改用 A-B 了哈哈题目描述给出一串正整数数列以及一个正整数 C要求计算出所有满足 A−BC 的数对的个数不同位置的数字一样的数对算不同的数对。输入格式输入共两行。第一行两个正整数 N,C。第二行N 个正整数作为要求处理的那串数。输出格式一行表示该串正整数中包含的满足 A−BC 的数对的个数。输入输出样例输入 #1复制4 1 1 1 2 3输出 #1复制3说明/提示对于 75% 的数据1≤N≤2000。对于 100% 的数据1≤N≤2×1050≤ai​2301≤C230。2017/4/29 新添数据两组#includeiostream #includeunordered_map using namespace std; typedef long long LL; const int N 2e5 10; LL arr[N]; //直接开数组不行要用map unordered_map LL,LL mp; int main() { LL n, c; cin n c; LL cnt 0; for (int i 1;i n;i) cin arr[i]; for (int i 1;i n;i) { //不同位置的数字一样的数对算不同的数对 cnt mp[arr[i] - c]; //可以是BA-C //也可以是BAC即AB-C cnt mp[arr[i] c]; //标记出现过的数 mp[arr[i]]; } cout cnt; return 0; }P1059 [NOIP 2006 普及组] 明明的随机数题目描述明明想在学校中请一些同学一起做一项问卷调查为了实验的客观性他先用计算机生成了 N 个 1 到 1000 之间的随机整数 (N≤100)对于其中重复的数字只保留一个把其余相同的数去掉不同的数对应着不同的学生的学号。然后再把这些数从小到大排序按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行第 1 行为 1 个正整数表示所生成的随机数的个数 N。第 2 行有 N 个用空格隔开的正整数为所产生的随机数。输出格式输出也是两行第 1 行为 1 个正整数 M表示不相同的随机数的个数。第 2 行为 M 个用空格隔开的正整数为从小到大排好序的不相同的随机数。输入输出样例输入 #1复制10 20 40 32 67 40 20 89 300 400 15输出 #1复制8 15 20 32 40 67 89 300 400说明/提示NOIP 2006 普及组 第一题用set自带排序和去重功能。#includeiostream #includeset using namespace std; set int arr; int main() { int m; cin m; while (m--) { int x; cin x; arr.insert(x); } cout arr.size() endl; for (auto e : arr) cout e ; cout endl; return 0; }P1957 口算练习题题目描述王老师正在教简单算术运算。细心的王老师收集了 i 道学生经常做错的口算题并且想整理编写成一份练习。编排这些题目是一件繁琐的事情为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量比如 58 的算式最好只要输入 5 和 8输出的结果要尽量详细以方便后期排版的使用比如对于上述输入进行处理后输出 5813 以及该算式的总长度 6。王老师把这个光荣的任务交给你请你帮他编程实现以上功能。输入格式第一行一个整数 i。接着的 i 行为需要输入的算式每行可能有三个数据或两个数据。若该行为三个数据则第一个数据表示运算类型a 表示加法运算b 表示减法运算c 表示乘法运算接着的两个数据表示参加运算的运算数。若该行为两个数据则表示本题的运算类型与上一题的运算类型相同而这两个数据为运算数。输出格式输出 2×i 行。对于每个输入的算式输出完整的运算式及结果第二行输出该运算式的总长度。输入输出样例输入 #1复制4 a 64 46 275 125 c 11 99 b 46 64输出 #1复制6446110 9 275125400 11 11*991089 10 46-64-18 9说明/提示【数据规模与约定】对于 50% 的数据输入的算式都有三个数据。对于所有数据0i≤50第一个算式一定有三个数据运算数为非负整数且小于 10000。#includeiostream #includestring using namespace std; string input, ret, num1, num2; char ope, last_ope; typedef long long LL; LL num; int main() { int n; cin n; int i; //清除缓冲区中残留的换行符 cin.ignore(); while (n--) { //如果直接cininput遇到空格就会停止所以要用getline getline(cin, input); int n input.size(); if (input[0] a || input[0] b || input[0] c) { ope input[0]; i 2; last_ope ope; } else { ope last_ope; i 0; } //处理num1和num2 while (input[i] ! ) { num1.push_back(input[i]); i; } i;//跳过空格 while (i n) { num2.push_back(input[i]); i; } //处理ret if (ope a) { num stoll(num1) stoll(num2); ret num1 num2 to_string(num); } else if (ope b) { num stoll(num1) - stoll(num2); ret num1 - num2 to_string(num); } else { num stoll(num1) * stoll(num2); ret num1 * num2 to_string(num); } cout ret endl; cout ret.size() endl; //一定不要忘了清空否则会直接在原字符串追加答案错误 num1.clear(); num2.clear(); num 0; ret.clear(); } return 0; }

相关新闻

智能火灾报警系统的设计

智能火灾报警系统的设计

智能火灾报警系统的设计 第一章 绪论 传统火灾报警系统多依赖单一烟雾传感器,存在响应滞后、误报率高、无法精准定位等问题,难以满足现代建筑对火灾预警的及时性与可靠性需求。智能火灾报警系统融合多传感器协同、智能识别、无线通信技术,构建…

2026/7/4 8:06:51 阅读更多 →
智能家居温湿度监测系统

智能家居温湿度监测系统

智能家居温湿度监测系统设计 第一章 绪论 传统家居温湿度监测依赖人工观察或单一显示设备,存在数据记录不连续、调控滞后、无法远程查看等问题,难以满足现代家庭对居住舒适度与能源优化的需求。智能家居温湿度监测系统融合高精度传感、无线通信、智能联…

2026/7/2 22:41:30 阅读更多 →
Java源码:道路救援与同城货运一体化平台

Java源码:道路救援与同城货运一体化平台

以下是一套基于Java技术栈的道路救援与同城货运一体化平台源码方案,涵盖系统架构、核心功能、技术实现与代码示例: 一、系统架构 采用微服务架构设计,基于Spring Boot 2.7 Spring Cloud Alibaba构建,将系统拆分为用户服务、订单…

2026/7/3 1:01:22 阅读更多 →

最新新闻

MATLAB图形化图像水印工具:支持DCT/DWT嵌入提取与攻击测试

MATLAB图形化图像水印工具:支持DCT/DWT嵌入提取与攻击测试

本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB图像水印实验工具,带可视化操作界面(shuiyin.fig),支持离散余弦变换(DCT)和离散小波变换(DWT&#xff09…

2026/7/5 9:14:35 阅读更多 →
跨架构物联网漏洞挖掘:统一IR与动静结合分析实践

跨架构物联网漏洞挖掘:统一IR与动静结合分析实践

1. 项目概述:为什么我们需要“跨架构”的物联网漏洞挖掘?干了这么多年安全,尤其是物联网这块,我最大的感受就是“乱”。你面对的从来不是单一平台,而是ARM、MIPS、x86、RISC-V,甚至各种魔改的MCU架构大杂烩…

2026/7/5 9:12:35 阅读更多 →
热红外视觉下的车辆/船舶重识别新方法:Vc-fes

热红外视觉下的车辆/船舶重识别新方法:Vc-fes

在监控与海事安防等场景中,如何在**热红外图像**(灰度、无色彩、纹理弱)中准确识别同一辆车或同一艘船,是一个长期悬而未决的难题。近期发表于《International Journal of Machine Learning and Cybernetics》(2026年)的论文《Vc-fes: viewpoint-conditioned feature selection…

2026/7/5 9:10:34 阅读更多 →
本地AI完全指南①:我把ChatGPT退了,一年省2400——为什么越来越多人把大模型搬回家

本地AI完全指南①:我把ChatGPT退了,一年省2400——为什么越来越多人把大模型搬回家

title: 本地AI完全指南①:我把ChatGPT退了,一年省2400——为什么越来越多人把大模型搬回家? tags: 本地AI,私有大模型,Ollama,DeepSeek,大模型部署,AI隐私,离线AI,本地部署大模型,DeepSeek本地部署 category: 人工智能 本地AI完全指南①&…

2026/7/5 9:10:34 阅读更多 →
同一个模型,三个平台:OpenRouter - SiliconFlow - DeepInfra 实测对比

同一个模型,三个平台:OpenRouter - SiliconFlow - DeepInfra 实测对比

前面几期测的都是模型官方 API。但你实际用的时候,大概率走的不是官方——而是通过某个聚合平台。 为什么?几个现实原因: 不想每个模型绑一张信用卡公司采购要求统一结算官方 API 在某些地区不稳定想用一个 API Key 调所有模型 所以这期我不测…

2026/7/5 9:10:34 阅读更多 →
GRPO训练燃料:把Hermes Agent Feedback变成强化学习信号

GRPO训练燃料:把Hermes Agent Feedback变成强化学习信号

GRPO训练燃料:把Agent Feedback变成强化学习信号 「Hermes Agent自进化智能体深度解析」系列 | 模块十六 第3篇 你的Agent积累了1000条执行轨迹。500条成功,500条失败。成功的路径有的快、有的慢,失败的失败方式各不相同。你盯着这些数据&a…

2026/7/5 9:08:34 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻