词频统计 ccf-csp 2024-2-1

在学习了文本处理后,小 P 对英语书中的 n篇文章进行了初步整理。

具体来说,小 P将所有的英文单词都转化为了整数编号。

假设这 n 篇文章中共出现了 m个不同的单词,则把它们从 1到 m进行编号。

这样,每篇文章就简化为了一个整数序列,其中每个数都在 1 到 m范围内。

现给出小 P处理后的 n篇文章,对于每个单词 ii(1≤i≤m),试统计:

  1. 单词 i 出现在了多少篇文章中?
  2. 单词 i在全部文章中总共出现了几次?
输入格式

输入共 n+1行。

输入的第一行包含两个正整数 n 和 m,分别表示文章篇数和单词编号上限。

输入的第 i+1行包含由空格分隔的若干整数,其中第一个整数 li表示第 i篇文章的长度(单词个数);接下来 li个整数表示对应的整数序列,序列中每个整数均在 1到 m 范围内,各对应原文中的一个单词。

输出格式

输出共 m行。

第 ii行输出由空格分隔的两个整数 xi和 yi,表示共有 xi篇文章包含单词 i,总计出现次数为 yi。

数据范围

全部的测试数据满足 0<n,m≤100,且每篇文章至少包含一个单词、最多不超过 100100 个单词(1≤li≤100)。

输入样例:
4 3
5 1 2 3 2 1
1 1
3 2 2 2
2 3 2
输出样例:
2 3
3 6
2 2
样例解释

单词 2 在:

  • 文章 1中出现两次;
  • 文章 3中出现三次;
  • 文章 4 中出现一次。

因此 x2=3,y2=6.

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{// n 表示文章的篇数,m 表示单词编号的上限int n, m;// x[i] 用于记录单词 i 出现在多少篇文章中int x[101];// y[i] 用于记录单词 i 在全部文章中总共出现的次数int y[101];// t[i] 用于记录单词 i 上一次出现所在文章的编号// 通过比较这个编号和当前文章编号,判断单词是否在新文章中出现int t[101];cin >> n >> m;// a 用于存储当前文章的长度(单词个数)// b 用于临时存储当前文章中读取的单词编号int a, b;// 遍历每一篇文章,n 在这里也作为文章编号,从 n 到 0while(n --){// 读取当前文章的长度cin >> a;// 遍历当前文章中的每个单词for(int i = 1; i <= a ; i ++)  {// 读取当前文章中的一个单词编号cin >> b;// 判断单词 b 是否在新的文章中出现// t[b] 记录了单词 b 上一次出现所在文章的编号// 如果 t[b] 不等于当前文章编号 n,说明单词 b 在新文章中首次出现if(t[b] != n) {// 单词 b 出现的文章篇数加 1x[b] ++;// 更新单词 b 所在的文章编号为当前文章编号t[b] = n;}// 无论单词 b 是否在新文章中出现,只要出现,其总出现次数就加 1y[b]++; }}// 遍历从 1 到 m 的每个单词编号for(int i = 1; i <= m ; i ++){// 输出单词 i 出现的文章篇数和在所有文章中的总出现次数cout << x[i] << " " << y[i] << endl;}return 0;
}

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

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

相关文章

用爬虫解锁 Shopee 店铺商品数据,开启电商新洞察

在电商竞争白热化的当下&#xff0c;Shopee 作为全球知名的电商平台&#xff0c;汇聚了海量的商品与商机。对于电商从业者、数据分析师、创业者来说&#xff0c;精准掌握 Shopee 店铺的商品信息&#xff0c;就如同手握一把开启财富大门的钥匙。而爬虫技术&#xff0c;无疑是帮助…

k8s中的service解析

k8s中的service解析 在k8s中&#xff0c;我们可以通过pod来创建服务。 然而&#xff0c;当我们创建多个 Pod 来提供同一项服务时&#xff0c;直接通过 Pod IP 进行访问会变得复杂且不可维护。因此&#xff0c;Kubernetes 提供了 Service 这一抽象概念&#xff0c;用于对外暴露…

git 命令回退版本

1、查看提交记录 git log --oneline # 简化的提交历史&#xff08;推荐&#xff09; # 或 git log # 完整提交历史2、版本回退 git reset --hard <commit-hash>3、如果已推送过代码到远程仓库&#xff0c;需强制推送更新 git push -f

深度学习与传统算法在人脸识别领域的演进:从Eigenfaces到ArcFace

一、传统人脸识别方法的发展与局限 1.1 Eigenfaces&#xff1a;主成分分析的经典实践 算法原理 Eigenfaces是基于主成分分析&#xff08;PCA&#xff09;的里程碑式方法。其核心思想是将人脸图像视为高维向量&#xff0c;通过协方差矩阵计算特征向量&#xff08;即特征脸&…

串口接收不到数据,串口RX配置(f407),f103和f407的区别

问题 芯片&#xff1a;STM32F407&#xff0c;软件&#xff1a;标准库 使用串口时&#xff0c;直接把之前STM32F103的串口配置移植过来&#xff0c;同样以串口4为例&#xff0c;代码如下&#xff1a; STM32F103 UART4&#xff1a; void UART4_Configuration(uint32_t BaudRa…

浅分析 PE3R 感知高效的三维重建

"近期&#xff0c;二维到三维感知技术的进步显著提升了对二维图像中三维场景的理解能力。然而&#xff0c;现有方法面临诸多关键挑战&#xff0c;包括跨场景泛化能力有限、感知精度欠佳以及重建速度缓慢。为克服这些局限&#xff0c;我们提出了感知高效三维重建框架&#…

存算一体与存算分离:架构设计的深度解析与实现方案

随着数据量的不断增大和对计算能力的需求日益提高&#xff0c;存算一体作为一种新型架构设计理念&#xff0c;在大数据处理、云计算和人工智能等领域正逐步引起广泛关注。在深入探讨存算一体之前&#xff0c;我们需要先了解存储和计算的基本概念&#xff0c;以及存算分离和存算…

汇编与反汇编:DEBUG 命令使用指南

前言 汇编语言是计算机底层编程语言&#xff0c;直接与 CPU 指令集对应。掌握汇编语言和调试工具&#xff08;如DEBUG&#xff09;是深入理解计算机工作原理的关键。本文将介绍汇编与反汇编的基本概念&#xff0c;并详细讲解如何使用 DEBUG 命令进行调试和内存操作。 目录 一、…

数据分析的12个挑战及其解决方法

俗话说得好“说起来容易做起来难。”数据分析对于风险管理者是极为重要的。我们可以利用数据分析结论&#xff0c;来为企业决策做有效协助&#xff0c;帮助企业改善财务状况&#xff0c;提升企业业务销售水平&#xff0c;帮助员工预测可能发生的问题&#xff0c;并协助监控企业…

栈/堆/static/虚表

在 C 里&#xff0c;栈空间主要用来存放局部变量、函数调用信息等。下面为你介绍栈空间在 C 里的运用方式。 1. 局部变量的使用 在函数内部定义的变量会被存于栈空间&#xff0c;当函数执行结束&#xff0c;这些变量会自动被销毁。 #include <iostream>void exampleFu…

Vue keepalive学习用法

在Vue中&#xff0c;<keep-alive>的include属性用于指定需要缓存的组件&#xff0c;其实现方式如下&#xff1a; 1. 基本用法 • 字符串形式&#xff1a;通过逗号分隔组件名称&#xff0c;匹配到的组件会被缓存。 <keep-alive include"ComponentA,ComponentB&…

搭建个人博客教程(Hexo)

如何快速搭建一套本地的博客系统呢&#xff1f;这里有一套gitNode.jsHexo的部署方案来进行解决。 安装git Git 是一款免费开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 于 2005 年为 Linux 内核开发设计。它通过本地仓库和远程仓库实现代码管理&#xff0c;支持分支…

手撕算法之`vector` 扩容、`string` 分割、链表翻转

手写常见操作:vector 扩容、string 分割、链表翻转 (一)vector扩容 在 C++ 中,vector 的扩容机制是动态数组实现的核心特性,直接关系到性能和内存使用效率。以下是深入剖析: 1. 扩容触发条件 vector<int> v; v.push_back(1); // 当 size() == capacity() 时触发…

鸿蒙NEXT开发问题大全(不断更新中.....)

目录 问题1&#xff1a;鸿蒙NEXT获取华为手机的udid ​问题2&#xff1a;[Fail]ExecuteCommand need connect-key? 问题3&#xff1a;测试时如何安装app包 问题1&#xff1a;鸿蒙NEXT开发获取华为手机的udid hdc -t "设备的序列号" shell bm get --udid 问题2&…

LiteratureReading:[2016] Enriching Word Vectors with Subword Information

文章目录 一、文献简明&#xff08;zero&#xff09;二、快速预览&#xff08;first&#xff09;1、标题分析2、作者介绍3、引用数4、摘要分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;分析 5、总结分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;…

ZMC600E,多核异构如何成就机器人精准控制?

ZMC600E主站控制器凭借其多核异构处理器的强大性能&#xff0c;实现了高算力与高实时性的完美平衡&#xff0c;让机器人动作流畅、精准无误。接下来&#xff0c;让我们深入了解其内核结构的奥秘。 在ZMC600E主站控制器控制机器人的时候&#xff0c;可以精准的控制机器人执行各种…

一文掌握 PostgreSQL 的各种指令(PostgreSQL指令备忘)

引言 PostgreSQL 作为一款功能强大、开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;以其高扩展性、SQL 标准兼容性以及丰富的功能特性&#xff0c;成为企业级应用的首选数据库之一。无论是开发、运维还是数据分析&#xff0c;掌握 PostgreSQL 的核心指…

fastadmin后台管理员日志指定方法不记录

做的订单提醒,只要在线会把日志自动存储进去,这个又是每30s执行一次,数据库没多久就爆掉了,最终找到一个处理方法,可能不是最好的,仅供大家参考 具体位置: application/admin/model/AdminLog.php里面的$ignoreRegex方法 protected static $ignoreRegex [/^(.*)\/(selectpage…

Redis Sentinel(哨兵模式)高可用性解决方案

一、概述 Redis Sentinel&#xff08;哨兵模式&#xff09;是Redis的高可用性&#xff08;High Availability, HA&#xff09;解决方案&#xff0c;它通过哨兵系统和Redis实例的协同工作&#xff0c;确保了Redis服务的高可用性和数据的持久性。哨兵系统由一个或多个哨兵进程组…

密码学(Public-Key Cryptography and Discrete Logarithms)

Public-Key Cryptography and Discrete Logarithms Discrete Logarithm 核心概念&#xff1a;离散对数是密码学中一个重要的数学问题&#xff0c;特别是在有限域和循环群中。它基于指数运算在某些群中是单向函数这一特性。也就是说&#xff0c;给定一个群 G G G和一个生成元 …