2019牛客國慶集訓派對day7 A 2016

2022-08-14 22:54:26 字數 1337 閱讀 7211

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32768k,其他語言65536k

special judge, 64bit io format: %lld

給出正整數 n 和 m,統計滿足以下條件的正整數對 (a, b) 的數量:

1. 1≤a≤n,1≤b≤m

2. a×b是 2016 的倍數。

輸入包含不超過 30 組資料。

每組資料報含兩個整數 n, m (1≤n,m≤109).

對於每組資料,輸出乙個整數表示滿足條件的數量。
示例1

32 63

1

示例2

2016 2016

30576

示例3

1000000000 1000000000

7523146895502644

思路:

a*b%mod ==0 -> (a%mod)*(b%mod)%mod ==0

所以 求a*b=k*2016即(a*2016+a1)(b*2016+b1)=k*2016 ->a*b*2016^2+(a+b)*2016+a1*b1 = k*2016;

那麼a*b要是2016的倍數的話,就要滿足a1*b1是2016的倍數

1<=a1<=2015,1<=b1<=2015;

這裡有兩種做法

方法一:

正向思維:就是直接求ans;

**:

#include#include

using

namespace

std;

typedef

long

long

ll;int

main()}}

cout

}return0;

}這題其實是有點暴力的,就是把餘數i從1一直到2016全部遍歷一遍,然後j也是,把i*j==2016的全算進去,不過是聰明的暴力

方法二:

逆向思維:n*m-ans =ans;

#include #include 

#include

using

namespace

std;

typedef

long

long

ll;int

main()

}cout

<< ans <}

return0;

}

2019牛客國慶集訓派對day1

雖然我國慶七天溜回家了,隊友還是督促我好好打比賽.畢竟現場賽也沒幾天了,好好練習哈 判斷矩陣是否存在子矩陣滿足 x 1 le x le x 2,y 1 le y le y 2 內全是1,其他地方為0。水題,暴力判斷一下即可。include includeusing namespace std cha...

2019牛客國慶集訓派對day3 H

題意 動態插入一維線段端點為 li ri l i,r i li r i 查詢給定引數 li ri l i,r i li r i 問有多少條線段可以覆蓋它。我看了一眼感覺cdq可以寫我就寫了2333,複雜度是在o n log 2n l og2n o n log 2n log 2n o n lo g2 ...

2019牛客國慶集訓派對day7A題

題目理解 給你n,m,a在1到n中,b在1到m中,求a b 2016正整數對的個數 mod 1e9 7 題解 叉姐賊喜歡出這種題,不過確實這種題很好,這題是2016湖南省賽的題目,還有兩個類似的2017年四川省賽的2017和2018年湘潭邀請賽的2018 這幾個題都很像,不過考察的知識點各不相同,叉...