Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (x,y) уравнения ; |a|,|b| <=
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3880 |
2 | jiangly | 3669 |
3 | ecnerwala | 3654 |
4 | Benq | 3627 |
5 | orzdevinwang | 3612 |
6 | Geothermal | 3569 |
6 | cnnfls_csy | 3569 |
8 | jqdai0815 | 3532 |
9 | Radewoosh | 3522 |
10 | gyh20 | 3447 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | awoo | 161 |
2 | maomao90 | 160 |
3 | adamant | 156 |
4 | maroonrk | 153 |
5 | -is-this-fft- | 148 |
5 | SecondThread | 148 |
5 | atcoder_official | 148 |
8 | Petr | 147 |
9 | nor | 144 |
9 | TheScrasse | 144 |
Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (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