- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
// @param n `0 <= n`
// @param m `1 <= m`
// @return `(x ** n) % m`
constexpr long long pow_mod_constexpr(long long x, long long n, int m) {
if (m == 1) return 0;
unsigned int _m = (unsigned int)(m);
unsigned long long r = 1;
unsigned long long y = safe_mod(x, m);
while (n) {
if (n & 1) r = (r * y) % _m;
y = (y * y) % _m;
n >>= 1;
}
return r;
}
// Reference:
// M. Forisek and J. Jancina,
// Fast Primality Testing for Integers That Fit into a Machine Word
// @param n `0 <= n`
constexpr bool is_prime_constexpr(int n) {
if (n <= 1) return false;
if (n == 2 || n == 7 || n == 61) return true;
if (n % 2 == 0) return false;
long long d = n - 1;
while (d % 2 == 0) d /= 2;
constexpr long long bases[3] = {2, 7, 61};
for (long long a : bases) {
long long t = d;
long long y = pow_mod_constexpr(a, t, n);
while (t != n - 1 && y != 1 && y != n - 1) {
y = y * y % n;
t <<= 1;
}
if (y != n - 1 && t % 2 == 0) {
return false;
}
}
return true;
}
template <int n> constexpr bool is_prime = is_prime_constexpr(n);
j123123 15.11.2021 05:34 # 0
Да, этот код по стилю прям очень сильно напоминает херню из "kPHP". Это такой особый лимпиадный C/C++
j123123 15.11.2021 05:41 # 0
std::swap недостаточно перфомансно работает, да?
gostinho 16.11.2021 22:50 # 0
j123123 15.11.2021 05:47 # 0
И что эта херота делает? Сшивает кучу файлов в одну единицу трансляции, чтобы можно было отправить это на олимпиадный сайт?
Интересно, у олимпиадников есть специальные олимпиадные библиотеки для алгоритмов и структур данных? Или они такое нахуеверчивают сами руками каждый раз, вызубрив все эти алгоритмы? Или у каждого уважающего себя олимпиадника есть свой говнонабор написанных им лично алгоритмов и структур данных, который он переиспользует в всяких разных олимпиадах?
j123123 15.11.2021 05:51 # 0
Да, похоже что есть специальные о-ли-мпи-ад-ные библиотеки со всякой такой хуйней
https://github.com/xennygrimmato/Data-Structures-and-Algorithms/
> A collection of some implementations of data structures and algorithms, primarily for competitive programming.
Или вот еще https://github.com/VandanRogheliya/Competitive-Programming-Setup/
дохуя находит
defecatinho 15.11.2021 11:09 # 0
ObeseYoungPidor 15.11.2021 23:48 # 0
j123123 16.11.2021 04:56 # +1
gostinho 16.11.2021 22:49 # 0
guest6 16.11.2021 22:50 # 0
bormand 15.11.2021 16:21 # 0
Это на онлайне можно каких-нибудь кусков по-быстрому накопипастить.
j123123 17.11.2021 05:17 # 0
Т.е. олимпиады проверяют навык быстрого наговнивания некоторой хуйни, которая бы формально проходила все тесты?
Некоторые олимпиадные задачи заточены под использования бигинтов, а в крестах их еще не завезли, притом в каком-нибудь питоне эти бигинты есть из коробки, и поскольку в питоне не надо изобретать бигинты, писать на питоне такие задания заметно проще, чем на крестах. Не логичнее ли тогда для тех же крестов разрешить юзать какую-то бигинтовую либу? Может быть олимпиадникам надо пойти в крекстокомитет и им в пропозалы внести свои говнобиблиотеки для олимпиад? И чтоб было std::olympiad::какаятохуйня
ObeseYoung 17.11.2021 07:47 # 0
bot_batbot_batbot 17.11.2021 11:31 # 0
bormand 15.11.2021 09:00 # 0
А теперь проифай их там, где этот primality check реально нужен... В каком-нибудь RSA 4096.
guest6 15.11.2021 10:46 # 0
bormand 15.11.2021 15:18 # 0
Для крупных видимо надо больше базисов или формулу которая сильнее вероятность режет на каждом тесте.
guest6 15.11.2021 15:28 # 0
guest6 15.11.2021 19:00 # 0
bormand 15.11.2021 19:16 # 0
ObeseYoungPidor 15.11.2021 23:47 # 0
guest6 16.11.2021 12:58 # +2
A17: Spammers are criminal gangs. In 2004 and since, many other blacklists stopped after they were threatened or attacked.
We also got a package from Ukraine with a dead rat inside and a message: "You are next!"
For security reasons we moved to a new location and have chosen to continue our war against spammers.
Art 34 Abs 5 BayMeldeG (Bavarian Law) grants that only national authorities can find out about us.
guest6 16.11.2021 13:03 # +3
bormand 16.11.2021 17:04 # 0
guest6 16.11.2021 17:10 # 0
bormand 16.11.2021 17:15 # 0
Тяжело программировать под Сетунь...
guest6 16.11.2021 17:16 # 0
bormand 16.11.2021 17:21 # 0
guest6 16.11.2021 17:27 # 0
Да, поведение бинарных операторов типа побитовово И и ИЛИ будет интересно
bormand 16.11.2021 17:31 # 0
Фу! Отбрось бинарное мышление.
Пусть в char (трайте) будет 9 тритов. А sizeof(int) например 3 трайта будет.
guest6 16.11.2021 17:35 # 0
bormand 16.11.2021 17:38 # 0
guest6 16.11.2021 17:45 # 0
ObeseYoung 16.11.2021 18:11 # 0
> логика
Вы о чем вообще?
bormand 16.11.2021 17:46 # 0
Тогда можно сделать совместимую с двоичной машиной сёмантику для and, or и xor -- двойки трактовать как единички. Старый код в принципе будет работать если обмазать его tri2bin и bin2tri вокруг битоёбств.
А для троичной логики уже добавить новые операторы.
guest6 16.11.2021 17:51 # 0
Давай придумаем высокоуровневый ЯП для Сетуни.
Как будет выглядеть сортировка пузырьком?
bormand 16.11.2021 19:13 # 0
Разве что бул можно сделать с да/нет/х.з. как в sql.
Soul_re@ver 16.11.2021 19:21 # 0
bormand 16.11.2021 22:14 # +1
ObeseYoung 16.11.2021 18:02 # −1
bormand 16.11.2021 22:51 # 0
Какой эйблизм )))
guest6 16.11.2021 22:56 # 0
https://www.youtube.com/watch?v=Tw-P7xwFSjs
gostinho 16.11.2021 22:43 # 0
guest6 16.11.2021 19:23 # +2