Блог пользователя mr146

Автор mr146, 17 месяцев назад, По-русски
Как хранить построенный бор в памяти максимально сжато?
Текущая структурка:
struct Vertex
{
     list<pair<char, int> > next;
     int link, prev, near;
     char prevc;
}v[100500];
Бор на словаре из не слов суммарной длинны не более 100000. Надо вжать в 8мб.
Как это сделать? =)
 
 
 
 

 
17 месяцев назад, # | Ответить
  Проголосовать: нравится 0 Проголосовать: не нравится

У нас сдано так:

char tmp[2000000];

struct Dyn{
int Cnt;
int Nxt;
};

#define MAX 2000000

//Bour
char tChar[MAX];
int tNbr[MAX];
int tLng[MAX];

Может показаться, что это не пройдёт по памяти, но тут массивы используются не полностью. Тимус оценил занятость памяти в 2 312 КБ.

  •  
    17 месяцев назад, # ^ | Ответить
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я сделал один глобальный мап для переходов и прошло.
 
17 месяцев назад, # | Ответить
  Проголосовать: нравится 0 Проголосовать: не нравится
можно за несколько проходов сделать, не обязательно все сразу пехать в бор.
 
17 месяцев назад, # | Ответить
  Проголосовать: нравится 0 Проголосовать: не нравится
кое-где можно использовать short вместо int