站外题求助
  • 板块灌水区
  • 楼主DESPAIROFSMILE
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/9 11:44
  • 上次更新2023/11/3 10:56:15
查看原帖
站外题求助
374639
DESPAIROFSMILE楼主2023/7/9 11:44

题目描述 star同学的妈妈是一个喜欢问问题的家长,star同学也是一个喜欢回答问题的孩子.

但是star同学发现,他的妈妈由于年龄大了,经常昨天的问题他问过了,今天又问了一遍.

所以由于昨天刚刚问的,所以第二天他还记得答案,所以很快就报了答案.(这个就是动态规划的基本思想子问题性质,重复的子问题,我们记录下来然后用到的时候直接用,我们用大脑记录答案,而计算机用数组来记录).

star同学的妈妈昨天问了nn个问题,且都获得了回答!今天妈妈又准备了mm个问题,我们想知道的是,star同学自己今天需要重新思考了几道题.

输入格式 第一行,两个整数n,mn,m

第二行, 输入nn个问题的序号a_ia i ​ 。

第三行,输入mm个问题的序号b_ib i ​ 。

输出格式 一个整数,输出star同学需要重新思考几道题.

样例数据 输入 3 4 1 2 3 5 5 2 3 输出 1 数据范围 对于 20%20% 的数据:n,m<=10^4n,m<=10 4 。

对于 60%60% 的数据:n,m\le 10^6,a_i,b_i \le 10^6n,m≤10 6 ,a i ​ ,b i ​ ≤10 6 。

对于 100%100% 的数据:n,m\le 10^6,a_i,b_i\le 10^{18}n,m≤10 6 ,a i ​ ,b i ​ ≤10 18 。

求助,不知道为什么只能过六个点

进行一个代码的贴

   #include<iostream>
   #include<algorithm>
   using namespace std;
   long long a[1001000];
   long long b[1000100];
   int main(){
       long long n,m;
       scanf("%lld%lld",&n,&m);
       for(long long i=1;i<=n;i++){
           long long x;
           scanf("%lld",&x);
           a[x]=1;
       }
       long long sum=0;
       for(long long i=1;i<=m;i++){
           long long x;
           scanf("%lld",&x);
           if(a[x]==0){
               sum++;
               a[x]=1;
           }	
       }
       printf("%lld",sum);
   }
2023/7/9 11:44
加载中...