ACM 3 F 關於兩個陣列裡面元素得比較得新思路

2021-10-01 08:49:15 字數 661 閱讀 2022

題目:

這道題就是求在z得範圍內,n * i,和 m*i 一共有幾個相同的,剛開始做的時候就想分別用兩個陣列來存這兩個可行域,再用乙個兩層迴圈來分別遍歷找到相同的就計數,但是這道題的範圍是1e4,雙層迴圈爆8次方肯定會tle,所以就走投無路了,在看了zy哥的**後,發現其實可以在求這兩個可行域的時候就判斷相等的個數,存乙個標記陣列,用其下標表示可行域的座標,再與第二個可行域進行比較

(zy哥太叼了!!!!)

**如下:

#include

#define mem(a) memset(a,0,sizeof(a))

//這是個好辦法,好用

using namespace std;

intmain

(void)}

int cnt =0;

for(

int i=

1;i<=z;i++)}

printf

("%d\n"

,cnt)

;}

合併兩個陣列

include using namespace std int sortedinsert int a,int lena,int b,int lenb else printf d n a indexnew printf here lena d,lenb d n indexa,indexb indexn...

兩個陣列之和

題目描述 給定兩個亂序陣列,長度分別為m,n,要求列印出和最大的k個數,和是由兩個陣列中各乙個陣列相加而得。輸入 每行數字短橫符 分割兩個陣列,冒號分割 引數k輸出 輸出為和最大得k個數,和是兩個陣列中各乙個數相加而得。樣例輸入 2,4,1,7,7 3,2,5,6,1,9 6 樣例輸出 16,16,...

交換兩個陣列值使兩個陣列之差最小

有兩個序列a,b,大小都為n,序列元素的值任意整數,無序 要求 通過交換a,b 中的元素,使 序列a 元素的和 與 序列b 元素的和 之間的差最小。例如 var a 100,99,98,1,2,3 var b 1,2,3,4,5,40 假設序列a,b中元素的和為sum a和sum b。假設aa和bb...