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

速通ACM省铜第二十一天(补) 赋源码(共现的数)

引言:

        昨天以为是最后一天了,但没想到昨天想来想去感觉没问题的那道题,然后今天去看题解,发现竟然是因为数据有多组,我没注意到那个条件,只进行了一组数据的操作导致错了,真没招了

        那么接下来,就进入今天的题目讲解啦——————————————>

                 


共现的数

        按照惯例,我们先来看题目

        题目分析

        题目如图

        首先我们先看题目,首先给你n个集合,然后再进行m次查询,每次查询俩个数,输出与这俩个数都共现的数有几个

        那俩个数怎么算共现呢,很简单如果俩个数出现在同一个集合中,这俩个数就共现

        那么题目的意思很简单,就这么点,那么接下来,我们进入逻辑梳理环节


        逻辑梳理 

        既然意思知道了,其实这题也很简单了,我们需要找到与2个数共同共现的数,那么我们只需要将每个数共现的数找出来,然后如果共现的数是一样的,就++,若不一样,就接着往下找就好了,然后还有因为有多次数组,所以不能少了每次的数组重置操作,那只需要创一个数组来判断有没有访问过,再来俩个数组来装俩个分别共数

        代码实现

        这里就直接上AC码啦

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <algorithm>
#include <queue>
using namespace std;
int vis[60][10010];
int visx[10010];
int visy[10010];
int main()
{int n;while (cin >> n){memset(vis, 0, sizeof(vis));memset(visy, 0, sizeof(visy));memset(visx, 0, sizeof(visx));vector<int> p[60];for (int i = 1; i <= n; i++){int m;cin >> m;for (int j = 1; j <= m; j++){int k;cin >> k;vis[i][k] = 1;p[i].push_back(k);}}int q;cin >> q;int x, y;for (int i = 1; i <= q; i++){long long ans = 0;memset(visx, 0, sizeof(visx));memset(visy, 0, sizeof(visy));cin >> x >> y;for (int i = 1; i <= n; i++){if (vis[i][x] && vis[i][y]){for (int j = 0; j < p[i].size(); j++){visx[p[i][j]] = 1;visy[p[i][j]] = 1;}}else if (vis[i][x]){for (int j = 0; j < p[i].size(); j++){visx[p[i][j]] = 1;}}else if (vis[i][y]){for (int j = 0; j < p[i].size(); j++){visy[p[i][j]] = 1;}}}for (int i = 1; i <= 10000; i++){if (visx[i] && visy[i] && i != x && i != y)ans++;}cout << ans << endl;}}return 0;
}

结语:

        今日算法讲解到此结束啦,希望对你们有所帮助,谢谢观看,如果觉得不错可以分享给朋友哟。有什么看不懂的可以评论问哦,这是真的最后一期啦

http://www.dtcms.com/a/465191.html

相关文章:

  • 自用,正点Linux虚拟机系统文件概况
  • 从“用框架”到“控系统”——业务模型和技术模型之间的映射
  • 洛谷 / 一本通 - dp 题目详解 7(超详细版)
  • 正点原子RK3568学习日记-GIT
  • 在Minio以STS方式获得临时凭据
  • 【多线程】屏障(Barrier)
  • 通过高新区网站建设兰州市城乡建设局网官网站
  • 商城网站建设如何建设网站设计的公司
  • 【OPENGL ES 3.0 学习笔记】第一天:认识渲染管道
  • 从数据沼泽到智能决策:数据驱动与 AI 融合的中台建设方法论与技术实践指南(二)
  • Trae Solo+豆包Version1.6+Seedream4.0打造“AI识菜通“
  • Linux 基金会牵头成立 React 基金会:前端开源生态迎来里程碑式变革
  • 机器学习数据处理
  • 学习笔记: 从C语言基础到Python基础的过渡
  • C语言编写、测试、维护、审查规范
  • 公司网站建设价格标准东莞产品网络推广
  • 从KPI入手,全面掌握LTE网络性能测试与优化
  • 基于LLaMA-Factory的LoRA微调实战与性能剖析​
  • 网络层协议之VRRP协议
  • 3.2 无连接传输: UDP
  • 利用R语言绘制直方图
  • Transformer Decoder 中序列掩码(Sequence Mask / Look-ahead Mask)
  • 《R for Data Science (2e)》免费中文翻译 (第9章) --- Layers(2)
  • php集成VSCode开发
  • 邯郸市民网企业网站优化公司有哪些
  • 陕西 餐饮 网站建设外贸网站建设公司价格
  • 开源书签管理器Faved
  • 【全开源】企业微信SCRM社群营销高级版系统+uniapp前端
  • 深入浅出MATLAB数据可视化:超越plot()
  • 基于IMBT框架的定制开发开源AI智能名片S2B2C商城小程序直播营销规范化研究