powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Лучшие задачи проекта
25 сообщений из 191, страница 6 из 8
Лучшие задачи проекта
    #38099783
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTОчевидно что так сжать удасться только первые 5 цифер ИНН, где дата рождения.
Очевидно также что не о какой хештейбле и три мапе речь не идет, поскольку это фактически заархивированая твоя последовательность. Единственый поиск по такой последовательности - фулскан.
Почему фуллскан? Выше мне предложили RadixTree насколько я понял.
Это тоже решение. Я его буду рассматривать.

Давай так. Чтобы не было кривотолков. Делаем сразу 10% населения в базу.

По данным Держ.стат. Украины:

На 2012р.

чоловіки - 20976,7 тис осіб.
жінки - 24476,6 тис осіб.

Итого - 45453,3 тим осіб.

Розподіл постійного населення за окремими віковими групами - ( 6531,5 + 6993,1 ) это дети до 16 лет. Не клиенты банка. Их надо убрать из общего населения.

Всё оставшееся * на 10% получим клиентов. Их распределим от 16 лет до самых старых 65 лет равномерно от 2012 года и получим генерацию дат рождения.

Всё.

Итак. от рожденных с (2012-65) года до (2012-16) года идут в качестве диапазона случайных дат.

Все остальные поля ИНН неважны и их можно заполнять случайными числами.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099785
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTЧто делают эти функции, покажи на нескольких примерах ?
_offset(Axor),_length(Axor)
Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099791
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBAZlSTОчевидно что так сжать удасться только первые 5 цифер ИНН, где дата рождения.
Очевидно также что не о какой хештейбле и три мапе речь не идет, поскольку это фактически заархивированая твоя последовательность. Единственый поиск по такой последовательности - фулскан.
Почему фуллскан? Выше мне предложили RadixTree насколько я понял.
Это тоже решение. Я его буду рассматривать.


Сам смотри.

RadixTree тебе не даст большого сжатия.
Первый уровень (2012-1900)*4байт = 448 байт
Второй уровень займет (2012-1900)*12*4 байт = 5376 байт
Третий уровень займет (2012-1900)*12*31*4 байт = 166 656 байт

Итого 172 кб только накладных расходов (константно) внезависимости от количества клиентов банка, на енто дерево.

Итого:
RadixTree
+Поиск
+Лучше сжатие при количестве пользователей от 1.3 млн
- Требует константно выделения от 172 кб памяти

Дельта сжатие
+ Сжатие эффективней при количестве пользователей меньше 1.3 млн
+ Выделение памяти варьируется в зависимости от количества пользователей
- Поиск фулскан.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099792
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBAZlSTЧто делают эти функции, покажи на нескольких примерах ?
_offset(Axor),_length(Axor)
Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе.

что внутри этих функций ?
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099793
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTmaytonпропущено...

Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе.

что внутри этих функций ?

Как это что :)
Сдвиг в цикле для вычисления смещения ( позиции ) внутри слова :)
И сдвиг для определения длины блока.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099802
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРBAZlSTпропущено...


что внутри этих функций ?

Как это что :)
Сдвиг в цикле для вычисления смещения ( позиции ) внутри слова :)
И сдвиг для определения длины блока.

Короче, я взял четыре числа отсюда 13720397

Переписал псевдокод майтона на Си

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
uint num1 = 225595997;
	uint num2 = 1030903129;
	uint num3 = 222450271;
	uint num4 = 760369746;

	uint Amin=0x00000000;
	uint Amax=0xFFFFFFFF;

	Amin |= num1;
	Amax &= num1;

	Amin |= num2;
	Amax &= num2;

	Amin |= num3;
	Amax &= num3;

	Amin |= num4;
	Amax &= num4;

	uint res = Amin^Amax;



и получил в результате
11 0000 0011 0000 0000 0111 0000 1111

Какие операции нужно провести с этим числом в функциях оффсет и дистанц
чтобы получить искомый результат ?
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099803
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я воще ниразу не понял как этот говнокод с ксор должен работать, хотябы в простейшем случае.
Пишите код - тестируйте.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099805
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTСам смотри.

RadixTree тебе не даст большого сжатия.
Первый уровень (2012-1900)*4байт = 448 байт
Второй уровень займет (2012-1900)*12*4 байт = 5376 байт
Третий уровень займет (2012-1900)*12*31*4 байт = 166 656 байт

Ниче не понял. Как ты это прикидывал да вычислял?. Дерево в общем
случае будет иметь не 3 а реально 8 или даже 10 уровней.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099806
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTЯ воще ниразу не понял как этот говнокод с ксор должен работать, хотябы в простейшем случае.
Пишите код - тестируйте.
Чувак. У меня там не XOR а AND.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099809
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBAZlSTЯ воще ниразу не понял как этот говнокод с ксор должен работать, хотябы в простейшем случае.
Пишите код - тестируйте.
Чувак. У меня там не XOR а AND.

Вот результат
1101 0100 0010 0101 0000 0101 0000

Дальше что ?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
uint num1 = 225595997;
	uint num2 = 1030903129;
	uint num3 = 222450271;
	uint num4 = 760369746;

	uint Amin=0x00000000;
	uint Amax=0xFFFFFFFF;

	Amin |= num1;
	Amax &= num1;

	Amin |= num2;
	Amax &= num2;

	Amin |= num3;
	Amax &= num3;

	Amin |= num4;
	Amax &= num4;

	uint res = Amin&Amax;




Короче, не отнимай время.
Вот тебе уже есть болванка на Си, скопируй, протестируй и присылай работающий код.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099810
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBAZlSTСам смотри.

RadixTree тебе не даст большого сжатия.
Первый уровень (2012-1900)*4байт = 448 байт
Второй уровень займет (2012-1900)*12*4 байт = 5376 байт
Третий уровень займет (2012-1900)*12*31*4 байт = 166 656 байт

Ниче не понял. Как ты это прикидывал да вычислял?. Дерево в общем
случае будет иметь не 3 а реально 8 или даже 10 уровней.

Первый уровень год, второй месяц, третий день.
Откуда десять ?
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099813
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А лучше выделить вообще в твоей задаче один уровень,
массив на 65лет*12мес*31день = 24 180 ячеек.
В каждой ячейке будет список людей которые родились в один день :)
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099815
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче третий вариант самый оптимальный, без РадиксТри, просто через массив )
индекс в массиве = номер дня, когда родился после даты ХХХХ =)
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099817
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь Amin должно получиться такое
Код: sql
1.
2.
3.
4.
5.
6.
0000 1101 0111 0010 0101 0010 0101 1101
0011 1101 0111 0010 0101 0101 0101 1001
0000 1101 0100 0010 0101 0010 0101 1111
0010 1101 0101 0010 0101 0010 0101 0010
----------------------------------------
0000 1101 0100 0000 0101 0000 0101 0000



Amax соответсвтенно (середину считать неинтересно. не влияет на результат)
Код: sql
1.
0010 1101 .... .... .... .... .... 1111



Складываем по модулю 2.

Получаем

Код: sql
1.
0010 .... .... .... .... .... .... 1111



Различающиеся биты слева - 29-й, справа 0-й
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099818
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTmaytonпропущено...

Чувак. У меня там не XOR а AND.

Вот результат
1101 0100 0010 0101 0000 0101 0000

Дальше что ?

+

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
uint num1 = 225595997;
	uint num2 = 1030903129;
	uint num3 = 222450271;
	uint num4 = 760369746;

	uint Amin=0x00000000;
	uint Amax=0xFFFFFFFF;

	Amin |= num1;
	Amax &= num1;

	Amin |= num2;
	Amax &= num2;

	Amin |= num3;
	Amax &= num3;

	Amin |= num4;
	Amax &= num4;

	uint res = Amin&Amax;




Короче, не отнимай время.
Вот тебе уже есть болванка на Си, скопируй, протестируй и присылай работающий код.

Вот самые лучшие блоки выбирай на любой вкус и цвет, майтон не знал о лучшести на момент решения.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
0000 1101 01 11  0010 0101 0 010  0101  110 1
0011 1101 01 11  0010 0101 0 101  0101  100 1
0000 1101 01 00  0010 0101 0 010  0101  111 1
0010 1101 01 01  0010 0101 0 010  0101  001 0

     1101 01 00  0010 0101 0 000  0101  000 0

...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099905
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу я циклиться на такой синтетической постановке.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099958
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlST,

Кстате эти 15-20% еще под вопросом, просто алгоритм принципиально не менялся настолько давно,
с времен ММ3А Лопушек, что я решил поэксперементировать с рабочим ходом поршня внутри движка VХ.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099965
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTBAZlST,

Кстате эти 15-20% еще под вопросом, просто алгоритм принципиально не менялся настолько давно,
с времен ММ3А Лопушек, что я решил поэксперементировать с рабочим ходом поршня внутри движка VХ.


Эксперементы с ходом поршня в ДВС от незнания фундаментальных законов .



авторЭффект большого R/S:

ПЛЮС: Позволяет поршню дольше находиться в ВМТ, что обеспечивает лучшее горение топливной смеси, т.е. более полное сгорание топливной смеси, более высокое давление на поршень после прохождения ВМТ, более высокая температура в камере сгорания. В результате хороший момент на средних и высоких оборотах.
Длинный шатун уменьшает трение пары «поршень-цилиндр», а это особенно важно при рабочем ходе поршня.

МИНУС: Блок цилиндров, собранный с достаточно большим значением R/S не обеспечивает хорошее наполнение цилиндров на низких и средних частотах вращения коленвала, из-за снижения скорости воздушного потока (из-за уменьшения скорости движения поршня после ВМТ, в момент открытия впускного клапана).
Большая вероятность появления детонации из-за высокой температуры в камере сгорания и длительного времени нахождения поршня в ВМТ.

Эффект малого R/S:

ПЛЮС: Обеспечивает очень хорошую скорость наполнения цилиндров на низких и средних частотах вращения коленвала, так как скорость движения поршня от ВМТ больше, разряжение нарастает быстрее, что улучшает наполнение цилиндров, более высокая скорость движения топливовоздушной смеси делает смесь более гомогенной (однородной) что способствует лучшему сгоранию. Преимущества: более низкие требования к доработке и диаметрам каналов ГБЦ, чем на блоке цилиндров с высоким соотношением R/S.

МИНУС: Малая величина R\S означает, больший угол наклона шатуна. Это значит, что большая сила будет толкать поршень в горизонтальной плоскости. Для блока цилиндров это означает следующее:
1) Большая нагрузка на шатун (особенно на центр шатуна), что делает разрушение шатуна более вероятным. Разрушение шатуна само по себе мало вероятно, кроме случаев обрыва, при заклинивании и гидроударе, как правило, шатун рвется у верхней или нижней головки под углом приблизительно 45 градусов к оси шатуна с возможным выходом из блока цилиндров.

2) Увеличение нагрузки на стенки блока цилиндров, большая нагрузка на поршни и кольца, увеличение рабочей температуры вследствие повышенного трения, как результат, более быстрый износ стенок блока цилиндра, колец, и ухудшении условий смазки. Износ этого участка блока цилиндров зависит от величины смещения оси пальца относительно оси поршня и от значения максимального угла наклона шатуна, т.е. при применении "кованных" поршней со смещенным пальцем, износ блока цилиндров будет меньше чем при применении стандартных поршней.

3) Более короткий шатун также увеличивает скорость движения поршня, что влияет на износ блока цилиндров и увеличение трения. Максимальная скорость поршня приходится на угол около 80 градусов поворота коленвала от ВМТ, для мотора с коленвалом 74,8 мм при 5600 оборотов в минуту она равна 22,92 м/с при шатуне 121 мм., и 22,80м/с., при шатуне 129 мм.

Наиболее весомым является зависимость ускорения поршня от длины шатуна. Большие значения ускорения положительно влияют на наполнение цилиндров на малых оборотах, что ведет к «тяговитости» двигателя в следствии лучшего наполнения. Но на высоких оборотах из-за инерционности потока во впускной трубе происходит эффект запирания на впускном клапане (т.е объем цилиндра над поршнем растет быстрее, чем может заполняться через клапанную щель, что ведет к ухудшению наполнения и мощностных характеристик на высоких оборотах). В случае длинного шатуна на малых оборотах происходит обратный выброс смеси, но на высоких нет явления запирания.
Еще не стоит забывать, что увеличенные хода коленвала компенсируются уменьшением компрессионной высоты поршня (смещением поршневого пальца вверх) или увеличением высоты блока цилиндров. Т.к. компрессионную высоту поршня можно уменьшать до определенного предела.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099972
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР,

Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно.
Ошибались.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099974
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTДохтаР,

Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно.
Ошибались.
За последние 100 лет ДВС принципиально не изменился. Горение топливной смеси. И поршни. И еще через 300 лет
всё будет так-же. Пока не вся нефть не будет OVER.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099981
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBAZlSTДохтаР,

Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно.
Ошибались.
За последние 100 лет ДВС принципиально не изменился. Горение топливной смеси. И поршни. И еще через 300 лет
всё будет так-же. Пока не вся нефть не будет OVER.

Ну какже, а роторный двигатель ё-мобиля
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099983
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А турбины в двигателях, а компрессия ?
Что с 1,4 литра снимают по 150 лошадей.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099991
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BAZlSTА турбины в двигателях, а компрессия ?
Что с 1,4 литра снимают по 150 лошадей.

Ну поставь трубину, сделай себе компрессию , покупай топливо по 80 грн литр.
Получишь ты 2 секунды разгона до сотни и ..... ?

через 10 тыс км будешь капиталить движок )
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38099998
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чём здесь турбины и роторы? Мы-же говорим об автомобилях. В классе авто-двигателей
ничего не могут нового придумать. И КПД не могут увеличить. И от бензина не могут отказаться.
И от массовой субкультуры muscle-cars не собираются отказываться на уровне головного
мозга ибо круть несусветная да и на посёлке все поцоны завидуют.
...
Рейтинг: 0 / 0
Лучшие задачи проекта
    #38100007
BAZlST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПри чём здесь турбины и роторы? Мы-же говорим об автомобилях. В классе авто-двигателей
ничего не могут нового придумать. И КПД не могут увеличить. И от бензина не могут отказаться.
И от массовой субкультуры muscle-cars не собираются отказываться на уровне головного
мозга ибо круть несусветная да и на посёлке все поцоны завидуют.

Какже не придумали если придумали. Таже турбина, это отдельный агрегат который работает в связке с двигателем для увеличения его мощности. Искуственное нагнетание компрессии в цилиндры. Поэтому если сравнить например Октавию 2000 го года, жрет 8 литров, выдает мощность 105лошадей. И Октавию 2010 года, жрет 8 литров выдает мощность 150 лошадей. Щас вот Ети при обьеме двигателя 1,2 литра выдает свыше ста лошадей. И ничего там капиталить через 10 тыс ненада.
50 лет назад у машин под капотом было по 50 лошадей, а жрали по 30 литров. А так конечно ничего нового в ДВС не придумали
...
Рейтинг: 0 / 0
25 сообщений из 191, страница 6 из 8
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Лучшие задачи проекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]