Size: a a a

2021 February 24

D

Danya in supapro.cxx
Panavia Tornado
std::sort(u_vec.begin(),u_vec.end()); u_vec.resize(std::unique(u_vec.begin(),u_vec.end())-u_vec.begin());
Дичь какая-то
источник

PT

Panavia Tornado in supapro.cxx
Danya
Дичь какая-то
я бы set использовал, но элементов будет под 150к int
источник

ID

In Dev in supapro.cxx
Panavia Tornado
я бы set использовал, но элементов будет под 150к int
unordered_set, если нужен быстрый доступ.
Или в чем проблема большого числа элементов?
источник

RS

Roman Storozhenko in supapro.cxx
David Kravets
Почему это ? Если не нужно держать в памяти ?
Компилятор проводит данную оптимизацию молча.
А с с++17 на register будет earning кидать
источник

PT

Panavia Tornado in supapro.cxx
In Dev
unordered_set, если нужен быстрый доступ.
Или в чем проблема большого числа элементов?
мне надо в codewars в 12 секунд уложиться
источник

D

Danya in supapro.cxx
David Kravets
Как я понимаю С++ решил полностью уйти на прикл. уровень и оставить С, ну посмотрим к чему это приведет
С++ решил не заниматься херней просто)
источник

ID

In Dev in supapro.cxx
Panavia Tornado
мне надо в codewars в 12 секунд уложиться
Уложиться в чем? В заполнении контейнера, сортировке, доступе к элементам?
источник

PT

Panavia Tornado in supapro.cxx
In Dev
Уложиться в чем? В заполнении контейнера, сортировке, доступе к элементам?
во всей задаче
источник

PT

Panavia Tornado in supapro.cxx
щас код скину он поломан
источник

RS

Roman Storozhenko in supapro.cxx
David Kravets
Как я понимаю С++ решил полностью уйти на прикл. уровень и оставить С, ну посмотрим к чему это приведет
На МК довольно нормально работает, местами лучше Си.
Так что не только как прикладной
источник

PT

Panavia Tornado in supapro.cxx
#include <vector>
#include <cmath>
std::vector<int> u_vec={1};
std::vector<int> last_add={1};
int order=0;
class DoubleLinear
{
public:
 //static std::vector<int> u_vec;
 static int dblLinear(size_t n){
   int my_order=std::ceil(std::log2(n));
   if(my_order>order){
   update(my_order-order+5);
   }
   //return u_vec.size();
   //if(n>500) return u_vec[n-2];
   return u_vec[n];
   }
protected:
 static void update(int add_order){
   if(!add_order) return;
   std::vector<int> add;
   int reserve=1<<(order+add_order);
   u_vec.reserve(reserve);
   add.reserve(reserve);
   for(auto& x:last_add){
     add.push_back(2*x+1);
     add.push_back(3*x+1);
   }
   u_vec.insert(u_vec.end(),add.begin(),add.end());
   last_add=add;
   order++;
   std::sort(u_vec.begin(),u_vec.end());
   //u_vec.erase( std::unique( u_vec.begin(), u_vec.end()) );
   u_vec.resize(std::unique(u_vec.begin(),u_vec.end())-u_vec.begin());
   update(add_order-1);
 }
};
источник

C

CodeDetector in supapro.cxx
Panavia Tornado
#include <vector>
#include <cmath>
std::vector<int> u_vec={1};
std::vector<int> last_add={1};
int order=0;
class DoubleLinear
{
public:
 //static std::vector<int> u_vec;
 static int dblLinear(size_t n){
   int my_order=std::ceil(std::log2(n));
   if(my_order>order){
   update(my_order-order+5);
   }
   //return u_vec.size();
   //if(n>500) return u_vec[n-2];
   return u_vec[n];
   }
protected:
 static void update(int add_order){
   if(!add_order) return;
   std::vector<int> add;
   int reserve=1<<(order+add_order);
   u_vec.reserve(reserve);
   add.reserve(reserve);
   for(auto& x:last_add){
     add.push_back(2*x+1);
     add.push_back(3*x+1);
   }
   u_vec.insert(u_vec.end(),add.begin(),add.end());
   last_add=add;
   order++;
   std::sort(u_vec.begin(),u_vec.end());
   //u_vec.erase( std::unique( u_vec.begin(), u_vec.end()) );
   u_vec.resize(std::unique(u_vec.begin(),u_vec.end())-u_vec.begin());
   update(add_order-1);
 }
};
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

PT

Panavia Tornado in supapro.cxx
Consider a sequence u where u is defined as follows:

The number u(0) = 1 is the first one in u.
For each x in u, then y = 2 * x + 1 and z = 3 * x + 1 must be in u too.
There are no other numbers in u.
Example:
u = [1, 3, 4, 7, 9, 10, 13, 15, 19, 21, 22, 27, ...]

1 gives 3 and 4, then 3 gives 7 and 10, 4 gives 9 and 13, then 7 gives 15 and 22 and so on...

Task:
Given parameter n the function dbl_linear (or dblLinear...) returns the element u(n) of the ordered sequence u (ordered with < so there are no duplicates) .

Example:
dbl_linear(10) should return 22
источник

D

Danya in supapro.cxx
Roman Storozhenko
Компилятор проводит данную оптимизацию молча.
А с с++17 на register будет earning кидать
Нет, ошибку
источник

PT

Panavia Tornado in supapro.cxx
собственно начальные тесты он проходит, но ломается на больших
источник

IZ

Ilia Zviagin in supapro.cxx
Roman Storozhenko
На МК довольно нормально работает, местами лучше Си.
Так что не только как прикладной
Ты там много чего спрашивал, я сори не понял и забыл, что...
источник

PT

Panavia Tornado in supapro.cxx
Где идут ошибки в тестах Expected: equal to 3355 Actual: 3358  ;   Expected: equal to 2042343
Actual: 2051488
источник

NM

Nastya Medveda in supapro.cxx
Добрый день.  Пытаюсь понять как правильно трактовать std:: — это   пространство имен стандартных библиотек или что-то другое?
источник

RS

Roman Storozhenko in supapro.cxx
Danya
Нет, ошибку
Это как настроить.
-wall только варнинг кидает
если мы о GCC.
Так что придётся низкоуровневый код рефакторить
источник

RS

Roman Storozhenko in supapro.cxx
Nastya Medveda
Добрый день.  Пытаюсь понять как правильно трактовать std:: — это   пространство имен стандартных библиотек или что-то другое?
Так
источник