Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (x,y) уравнения ; |a|,|b| <=
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (x,y) уравнения ; |a|,|b| <=
Название |
---|
если а и b = 0 то ответ 0. если а или b = 0 то решение бесконечно (X, b) или (a, Y).
y = (b*x)/(x-a) пусть НОД (x,x-a) = p ==> x делится на p и a делится на p. Переберём p (делитель а). (сократили на p). b*z/(z — c). НОД(z,z-c) = 1. ==> b делится на z-c. Переберём делитель. Проверим, что НОД(z,z-c) = 1.
Сложность что-то порядка числа делителей a * число делителей b, должно успевать по времени.
Если a = 0 и b = 0, то ответ 0. Если a = 0 или b = 0, то ответ 1.
.
Значит, достаточно найти количество пар X, Y таких, что XY = ab. Тогда ответ будет 2σ(|ab|) - 1, где σ(x) — количество делителей x, -1 так как пара x = 0, y = 0 не подходит.
I found this:
a.y + b.x = x.y
b.x = y.(x-a)
y=(b.x) / (x-a);
x,y are integers so (a|b means b%a=0)
x-a| b.x
x-a| b.x — b.(x-a)
x-a| b.x — b.x + a.b
x-a| a.b
for every z (z|a.b) there is an integer pair (x,y) suitable to all conditions. So the answer is same with quantity of divisors of a.b