日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模拟T1数字number

發布時間:2024/3/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模拟T1数字number 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

那么第一題首先非常水的一道題……

看一下題

數字(number)

Time Limit:1000ms?? Memory Limit:128MB

題目描述

LYK擁有n個數,這n個數分別是a1,a2,…,an。

有一天它做了一個夢,在夢里它的這n個數有部分被小偷偷走了,只剩下了m個數b1,b2,…,bm。它想知道有哪些數字被小偷偷走了!

LYK告訴你a和b的值,你需要從小到大的告訴LYK,哪些數字不見了!

輸入格式(number.in)

??? 第一行一個數n,第二行n個數ai,表示一開始的數字。

??? 第三行一個數m,第四行m個數bi,表示剩下的數字。

輸出格式(number.out)

??? 一行n-m個數,從小到大輸出所有被偷走的數字。

Sample Input

5

1 3 3 7 8

3

3 7 8

Sample Output

1 3

數據范圍

對于30%的數據n<=1000,ai與bi都是從小到大有序的。

對于60%的數據n<=100000,ai與bi都是從小到大有序的。

對于80%的數據n<=100000,ai,bi<=n。

對于100%的數據n<=100000,1<=ai,bi<=10^9。

?

由于上午講了離散化,于是自然想到有離散化先處理一下,然后每次對照每個出現的數的出現個數就可以了.

這里就不附上代碼了

金牌爺講的時候卻沒有用離散化……

他用的只是普通的數組操作

那么一樣的讀入,然后快排,因為是100000的數量上限所以快排沒有問題。

然后就開始逐位比對,兩個數組是要分開操作的,并不難,下面附上這種方法的代碼。

1 #include<algorithm> 2 #include<iostream> 3 using namespace std; 4 int a[100005],b[100005]; 5 int main() { 6 int n,m; 7 cin >> n; 8 for(int i=1; i<=n; ++i) 9 cin >> a[i]; 10 cin >> m; 11 for(int i=1; i<=m; ++i) 12 cin >> b[i]; 13 sort(a+1,a+n+1); 14 sort(b+1,b+m+1); 15 int N=1; 16 for(int i=1; i<=n; ++i) { 17 18 if(a[i]==b[N]) 19 N++; 20 else 21 cout << a[i]<<' '; 22 } 23 return 0; 24 }

P.S祝賀詹宜瑞同學Rank1!!祝賀李博翱同學獲得鼠標!!祝賀我自己Rank倒第一!!!

轉載于:https://www.cnblogs.com/DERZHAO/p/8424205.html

總結

以上是生活随笔為你收集整理的模拟T1数字number的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。