P5886 Hello, 2020!

题目背景
时针与分针重合在「零」的那一霎那,嘀嗒声便宣告了新一年的到来。

在过去的一年里,世事无常。屏幕面前的你可能不久前才听闻「OI」,也可能暂时地结束了竞赛生涯;可能在赛场上叱咤风云名列榜首,也可能独自承受着比赛失利的落寞。

无论如何,过去仍旧是过去,将来依然是将来。

以此题为开端,迎接你的 2020 吧!

题目描述
本场比赛有 n名出题人,m名选手。
出题人从 1至 n依次标号,选手从 1至 m依次标号。
比赛结束后选手的最终排名为 1至 m中其一,且互不相同。
报名结束后,第 i位出题人看了看报名列表,对其他出题人说:「我觉得只有这 k i位选手有可能最终排名第一,他们分别a_{i,1},a_{i,2},a_{i,k_i}。其他人不可能最终排名第一。你面前屏幕上的这道题的出题人通过时空隧道,预先得知了谁是最终排名第一的选手。
出题人把这 n位出题人的预测都告诉了你,还告诉你恰好只有 p个出题人的预测是正确的。
请你求出哪些选手可能最终获得第一名,并以从小到大的顺序依次输出这些选手的编号。
输入格式
从标准输入中读取数据。

第一行,三个正整数 n,m,p,表示出题人数,选手数,与正确预测数。

接下来 n 行,每行第一个非负整数 k_i

表示第 i 位出题人预测可能最终排名第一的选手位数;接下来 k_i​个正整数 a_{i,1},a_{i,2},a_{i,k_i},表示这位出题人预测可能最终排名第一的选手编号。

输出格式
输出数据至标准输出中。

第一行,输出一个非负整数,表示可能最终获得第一名的选手个数。

第二行,以从小到大的顺序依次输出这些选手的编号。

输入输出样例
输入 #1复制
4 3 2
2 2 3
1 1
3 1 2 3
2 1 3
输出 #1复制
1
2
说明/提示
子任务 1(6%):n≤20,m≤20。

子任务 2(30%):n≤100,m≤100,∑k i ≤10^4。

子任务 3(24%):n≤1000,m≤1000。

子任务 4(40%):无特殊限制。

对于全部数据,1≤n≤10^5,1≤m≤10 6,0≤∑k i≤10 6,0≤p≤n。
最初思路:
使用二维bool数组存每位出题人预测可能得第一的哪些选手号数,票数累加,找个数与穿越者说的相同的。
**RunTimeError警告!**会报RTE,因为数据范围过了10^5,而二维数组最多只能开到
10^4.

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e4+5;
bool a[maxn][maxn];
int sign[maxn];
int main () {int n, m, p;cin >> n >> m >> p;for (int i = 0; i < n; i++) {int num;cin >> num;for (int j = 1; j <= num; j++) {int digit;cin >> digit;a[i][digit] = true;}}int sum = 0, k = 0;for (int i = 1; i <= m; i++) {int num = 0;for (int j = 0; j < n; j++) {if (a[j][i]) num++;}if (num == p) sign[k++] = i, sum++;}cout << sum << "\n";for (int i = 0; i < sum; i++) cout << sign[i] << " ";return 0;
}

思路优化:
实际上,存储这步是多余的,只需要知道最终每位选手有多少票就行了,再和穿越者报的对比。

#include<bits/stdc++.h>
using namespace std;
int box[1000001];
int main () {int n, m, p, num, mark, sum = 0;cin >> n >> m >> p;while(n--) {cin >> num;for (int i = 1; i <= num; i++) {cin >> mark;box[mark]++;}}for(int i = 1; i <= m; i++) if(box[i] == p) sum++;cout << sum << endl;for(int i = 1; i <= m; i++) if(box[i] == p) cout << i << " "; return 0;
}

洛谷 P5886 Hello, 2020!相关推荐

  1. 【暑期每日一题】洛谷 P5886 Hello, 2020!

    题目链接:P5886 Hello, 2020! - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 时针与分针重合在「零」的那一霎那,嘀嗒声便宣告了新一年的到来. 在过去的一年 ...

  2. 崭新的2020(洛谷P5886题题解,Java语言描述)

    About~2020 2020,新的起点,一起奋进! 题目要求 P5886题目链接 分析 又是令人无语的题意表述-- 其实理解以后就觉得代码很好写: 题目无非是说,评委给一些人赞赏,我们给这些人计个数 ...

  3. 洛谷日报索引(2020、2019、2018)

    历年洛谷日报索引 2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https: ...

  4. 洛谷P1101、P1019

    洛谷P1101 happy 2020年A的第一道题~(- ̄▽ ̄)- 题目大意:在一个二维字符数组中找到所有的连续'yizhong'的字符(各个方向),然后将其他的地方都用'*'替换掉. 解题思路:最开 ...

  5. 洛谷日报 2020年3月前索引

    2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https://www.luo ...

  6. 洛谷刷题C语言:陶瓷项链、Cow Gymnastics B、Where Am I? B、Hello, 2020!、SIR 模型

    记录洛谷刷题C语言 一.[NOI2000] 瓷片项链 题目描述 原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷 ...

  7. 2020 CCF非专业级别软件能力认证第一轮(LGR-10)洛谷模拟试题试卷

    2020 CCF非专业级别软件能力认证第一轮 (LGR-10)洛谷模拟试题试卷 认证时间:2020年10月8日09:30-11:30 一.单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正 ...

  8. 洛谷2020、2021、2022 CSP-J1 CSP-S1 第1轮 初赛模拟

    1033 - CSP 2020 第一轮(初赛)模拟 试题 - CSP 2020 第一轮(初赛)模拟 - 洛谷有题 [LGR-(-11)]CSP 2020 第一轮(初赛)模拟 - 比赛详情 - 洛谷 U ...

  9. CSP 2020 S 蒟蒻的游记 (洛谷同步)

    我是傻逼,第一次考,太没有经验了 T1: 毒瘤模拟- 我 if + 计算函数 打+调了2小时 ... 样例WA了 心态炸了- T2. 我没学过如何计算并保存一个数的每一个二进制位- 但是,蒟蒻也是个S ...

最新文章

  1. [转]Apache Commons IO入门教程
  2. IgniteMe debug 寒假逆向生涯(2/100)
  3. 把一个一维数组转换为in ()
  4. JVM类加载机制(ClassLoader)源码解析
  5. android 杀 服务器,android busybox httpd搭建简单web服务器
  6. php支持ssi,让Apache支持SHTML(SSI)的配置方法
  7. 企业即时通讯将成为未来企业竞争致胜的关键
  8. ubuntu关闭服务需要身份验证
  9. 销售数据分析这么做,领导不重用你都难
  10. java socket编程 聊天_基于java的socket简单聊天编程
  11. 怎样关闭vivo的HTML查看器,vivo安全模式在哪儿关闭?
  12. 独立游戏如何对接STEAM SDK
  13. windows server服务器查看操作记录
  14. 下载 GitHub的代码:git(windows)
  15. blur事件与click事件的冲突
  16. Kubernetes之(二十)Helm程序包管理器
  17. Elastic-job系列(一)-------- 搭建Esjob控制台
  18. uboot研读笔记 | 05 - 移植uboot 2012.04到JZ2440(支持Nand Flash读写)
  19. 电信“我的e家”手机无线上网
  20. 南方科技大学快速建设世界一流超算系统

热门文章

  1. 纯css实现背景颜色渐变动画
  2. 装逼神器,用起来真香!网友们直呼 666
  3. ironpython使用方法_c#(IronPython)调用Python方法
  4. 【水滴石穿】react-native-video-project
  5. 勒索软件一次次破防,我们拿什么“守城”?
  6. 数字验证--断言assert
  7. mathtype输入latex的花体,如L,I,O等
  8. 红米ac2100 刷openwrt以及刷回记录
  9. Jun-Yan Zhu(朱俊彦) - UC Berkeley
  10. 急救盘linux加pe,教你怎样在PE系统盘里加入卡巴斯基急救盘1.doc