Size: a a a

2020 July 19

D

Danya in supapro.cxx
Quixiote
вектор будет быстрее массива?
Вектор и есть массив
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Quixiote
вектор будет быстрее массива?
Нет, но ты знаешь сколько у кого делителей?
источник

Q

Quixiote in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Нет, но ты знаешь сколько у кого делителей?
не знаю. Я заранее отвел 8. До 10^5 это достаточно. но видимо еще нужно добавить число простых в разложении. Иначе как мне потом их все выбирать. Либо каждый раз по 8 штук смотреть, что глупо.
источник

AF

Aidar Fattakhov in supapro.cxx
8 это я полагаю
2*3*5... > 100000?
источник

Q

Quixiote in supapro.cxx
Aidar Fattakhov
8 это я полагаю
2*3*5... > 100000?
да
источник

В

Владимир in supapro.cxx
Quixiote
Ребята, мне надо найти разложения на простые множители всех чисел до n=10^5, желательно побыстрее. Вопрос:
1) Правильно ли я понимаю, что  лучше делать по типу решета эратосфена: идти по массиву чисел с простым шагом р и делить каждое по максимуму на это р?
2) Как лучше хранить найденные факторизации? Я собираюсь в виде массива длиной n из структур вида
struct prime_factors {
 int primes[8];
 int exp[8];
}
;
Это нормально? Или лучше как-то по другому?
template<size_t N, size_t I>
struct is_prime : boost::mpl::if_c<(N%I == 0), boost::mpl::false_, is_prime<N, I - 1>>::type {};
template<size_t N>
struct is_prime<N, 1> : boost::mpl::true_ {};
источник

AF

Aidar Fattakhov in supapro.cxx
Владимир
template<size_t N, size_t I>
struct is_prime : boost::mpl::if_c<(N%I == 0), boost::mpl::false_, is_prime<N, I - 1>>::type {};
template<size_t N>
struct is_prime<N, 1> : boost::mpl::true_ {};
Оу фак
источник

AF

Aidar Fattakhov in supapro.cxx
Nsqrt(n) на этапе компиляции
источник

Q

Quixiote in supapro.cxx
Владимир
template<size_t N, size_t I>
struct is_prime : boost::mpl::if_c<(N%I == 0), boost::mpl::false_, is_prime<N, I - 1>>::type {};
template<size_t N>
struct is_prime<N, 1> : boost::mpl::true_ {};
блин, нихера не понимаю :)) boost - это сторонняя либа?
источник

SM

Sherali Mirzoavliyoe... in supapro.cxx
Quixiote
Ребята, мне надо найти разложения на простые множители всех чисел до n=10^5, желательно побыстрее. Вопрос:
1) Правильно ли я понимаю, что  лучше делать по типу решета эратосфена: идти по массиву чисел с простым шагом р и делить каждое по максимуму на это р?
2) Как лучше хранить найденные факторизации? Я собираюсь в виде массива длиной n из структур вида
struct prime_factors {
 int primes[8];
 int exp[8];
}
;
Это нормально? Или лучше как-то по другому?
нужно хранить минимальный простой делитель для каждого из чисел...по ним возмжно будет восстановить общий ответ....время работы алгоритма O (n)
источник

Q

Quixiote in supapro.cxx
Sherali Mirzoavliyoev
нужно хранить минимальный простой делитель для каждого из чисел...по ним возмжно будет восстановить общий ответ....время работы алгоритма O (n)
Мне нужно, чтобы потом доступ был максимально быстрым.
источник

В

Владимир in supapro.cxx
Quixiote
блин, нихера не понимаю :)) boost - это сторонняя либа?
да но можно стл заменить, там где if_c будет std::conditional
источник

SM

Sherali Mirzoavliyoe... in supapro.cxx
Quixiote
Мне нужно, чтобы потом доступ был максимально быстрым.
O(30) максимум наверное
источник

SM

Sherali Mirzoavliyoe... in supapro.cxx
решето используй
источник

SM

Sherali Mirzoavliyoe... in supapro.cxx
источник

AF

Aidar Fattakhov in supapro.cxx
Quixiote
Мне нужно, чтобы потом доступ был максимально быстрым.
Там восстановление за линию если хранить только одно число
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aidar Fattakhov
Там восстановление за линию если хранить только одно число
За логарифм же если не меньше
источник

AF

Aidar Fattakhov in supapro.cxx
Ну смысле за кол-во делителей
источник

SM

Sherali Mirzoavliyoe... in supapro.cxx
Aidar Fattakhov
Там восстановление за линию если хранить только одно число
восстановление равняется количетсву делителей...в пределах 1e5 это нормально...
источник

AF

Aidar Fattakhov in supapro.cxx
Sherali Mirzoavliyoev
восстановление равняется количетсву делителей...в пределах 1e5 это нормально...
Я полагаю их всеравно ему перебирать надо потом
источник