|
|
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Разработка сверхбыстрой СУБД генерит множество интересных задач. Буду выкладывать некоторые из самых простых, которые можно решать не вникая в контекст работы "космической станции": Генерятся 6 случайных байт (чисел от 0 до 255). Какова вероятность что любые два числа из этих шести будут совпадать между собой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 14:56 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Честно гря, с формулой сразу сообразить тяжело. На практике: Вероятность ~0.05832, или примерно один к двадцати. Код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:32 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
хм, пофиксил баг в коде. Но результат не изменился, один к двадцати. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:34 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
И сразу по ходу дела, продолжение этойже задачи ( тоже имеет практическое значение ). Какова вероятность что пять из шести чисел совпадут ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:37 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Папин АзиатBAZlST, У вас один к 35, вродь похоже на правду :) 0.03515625 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:39 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Вероятность выпадения некоего числа от 0 до 255 P = 1/256. Выпадение одного числа никак не связано с выпадением второго. Стало быть события независимые и вероятность их одновременного происхождения равна произведению вероятностей, то есть: [/quot] Или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:40 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Точней стормозил, один к 35 это 3^2/256. У вас по формуле (3/256)^2, короче неправильно (один к семь тысяч) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:41 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Папин АзиатВероятность выпадения некоего числа от 0 до 255 P = 1/256. Выпадение одного числа никак не связано с выпадением второго. Стало быть события независимые и вероятность их одновременного происхождения равна произведению вероятностей, то есть: Или нет?Это в ответ ан вопрос: авторКакова вероятность что пять из шести чисел совпадут ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:42 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Папин АзиатВероятность выпадения некоего числа от 0 до 255 P = 1/256. Выпадение одного числа никак не связано с выпадением второго. Стало быть события независимые и вероятность их одновременного происхождения равна произведению вероятностей, то есть: Или нет?[/quot] Скобки вродь неправильные. По скобкам 1/256*1/256*1/256*1/256*1/256, а вам нужно увеличивать вероятность, тоесть 1^5/256, както так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:45 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А нет, стормозил. Все верно, вероятность наоборот уменьшается ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:46 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST, вероятность совпадения двух и более независимых исходов не может быть больше вероятности любого из независимых исходов. Стало быть, общая вероятность должна убывать, а не увеличиваться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:49 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Папин АзиатBAZlST, вероятность совпадения двух и более независимых исходов не может быть больше вероятности любого из независимых исходов. Стало быть, общая вероятность должна убывать, а не увеличиваться... да, дописал свой примерчик, щас поработает несколько минут. Генерит в цикле 1 млрд билетиков и считает в сколько из них совпало 5 и более чисел :) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:53 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Правда смысла особо нет, 1 к 256^5 примерно ) или 1 к 1024 млрд ) По сути эту ветку алгоритма можно даж не кодить )) вероятность захода в нее стремится к нулю, если у заказчика через 50 лет алгоритм сбойнет на этом случае, можно списать на ошибку в процессоре ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:56 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTГенерятся 6 случайных байт (чисел от 0 до 255). Какова вероятность что любые два числа из этих шести будут совпадать между собой ? Тут подумал, и решил, что формула должна иметь вид: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 15:59 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Папин АзиатBAZlSTГенерятся 6 случайных байт (чисел от 0 до 255). Какова вероятность что любые два числа из этих шести будут совпадать между собой ? Тут подумал, и решил, что формула должна иметь вид: да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:00 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Предлагаю в этом месте закодить пасхальное яйцо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:09 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Жаль тут многие не поймут юмора, но тот последний элс, вероятность его срабатывания настолько мала ..... что этот месседж скорей всего так и не увидит Но всеже вероятность есть, если Стебелек будет установлен не менее чем на сто тысячах компьютерах, то тот код прийдется закодить, так как дотошные тестеры всеже найдут багу и тот месседж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTYou are won a JACKPOT!Может, всё-таки have? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:13 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
tanglirBAZlSTYou are won a JACKPOT!Может, всё-таки have? да похрен, можешь там хоть порноисторию написать, всеравно месседж до пользователя не дойдет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:14 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Шучу, последний элс будет имплементирован, дабы не дать багу не малейшего шанса. Но попозже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2012, 16:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTГенерятся 6 случайных байт (чисел от 0 до 255). Какова вероятность что любые два числа из этих шести будут совпадать между собой ?Ты когда-нибудь учил теорию вероятности или мат. логику? Надо хотя бы уметь формулировать свои "гениальные" задачи. Условие можно трактовать двумя путями. 1. Совпадение двух любых чисел означает, что какую бы мы не взяли произвольную пару чисел, они будут равны . Соответственно все числа равны между собой. Таких комбинаций 256. Общее число комбинаций 256 6 . Ответ: 1/256 5 . Иное трактование такое. 2. Существует такая пара чисел которая равна. Здесь уже используется квантор существования, а не всеобщности. Я так понимаю ты подразумевал этот вариант, соответственно условие некорректно. Считается тоже элементарно. Вероятность того, что хотя бы два числа совпадают равна 1 - вероятность того, что все уникальны. То есть: 1 - (256*255*254*253*252*251)/256 6 = ~0,05731 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2012, 16:50 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Если нужна надежная и быстрая СУБД - то надо сразу выбрать FVMas 3.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2012, 07:00 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Новая задача проекта ( уже посложнее ) Есть четыре числа, типа Integer (32 бита). Допустим в битовой форме так: 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 Все числа друг от друга отличаются какимито битами. Нужно определить минимальную позицию и минимальное количество битов, по которым числа не совпадают. Например в этом примере, ответом может быть - позиция 28, количество бит 3 0000 1101 0111 0010 0101 0010 0101 110 1 0011 1101 0111 0010 0101 0101 0101 100 1 0000 1101 0100 0010 0101 0010 0101 111 1 0010 1101 0101 0010 0101 0010 0101 001 0 Это минимальное количество бит, по которым четыре числа не совпадают. Доп. условия. Ограничений по памяти нет, важна скорость работы алгоритма. (возможно можно както применить битовые операции) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 14:54 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST Например в этом примере, ответом может быть - позиция 28, количество бит 3 0000 1101 0111 0010 0101 0010 0101 110 1 0011 1101 0111 0010 0101 0101 0101 100 1 0000 1101 0100 0010 0101 0010 0101 111 1 0010 1101 0101 0010 0101 0010 0101 001 0 А почему не 4 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:06 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
tanglirBAZlSTYou are won a JACKPOT!Может, всё-таки have? Имхо лучше так авторYou are won a by JACKPOT! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:13 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTНапример в этом примере, ответом может быть - позиция 28, количество бит 3 0000 1101 0111 0010 0101 0010 0101 110 1 0011 1101 0111 0010 0101 0101 0101 100 1 0000 1101 0100 0010 0101 0010 0101 111 1 0010 1101 0101 0010 0101 0010 0101 001 0 А почему не 4 ? Потому что в условии задачи блок из минимального количества бит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:23 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Без этого условия задача вырождается в решение: Позиция ноль, количество битов - 32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:24 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРпропущено... А почему не 4 ? Потому что в условии задачи блок из минимального количества бит Ну так минимальный 4 . Если бы в младщем разраде последнего числа было 1 , тогда 3. Я не распарсил постановку задачи на примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... Потому что в условии задачи блок из минимального количества бит Ну так минимальный 4 . Если бы в младщем разраде последнего числа было 1 , тогда 3. Я не распарсил постановку задачи на примере. Минимальный три, потому что для трех бит на этой позиции действует условие: 110 != 100 != 111 != 001 Еслиб условие не действовало, тогда бы пришлось захватить еще один бит ( как вариант ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 16:32 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST Новая задача проекта ( уже посложнее ) Есть четыре числа, типа Integer (32 бита). Допустим в битовой форме так: 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 Все числа друг от друга отличаются какимито битами. Нужно определить минимальную позицию и минимальное количество битов, по которым числа не совпадают. Например в этом примере, ответом может быть - позиция 28, количество бит 3 0000 1101 0111 0010 0101 0010 0101 110 1 0011 1101 0111 0010 0101 0101 0101 100 1 0000 1101 0100 0010 0101 0010 0101 111 1 0010 1101 0101 0010 0101 0010 0101 001 0 Это минимальное количество бит, по которым четыре числа не совпадают. Доп. условия. Ограничений по памяти нет, важна скорость работы алгоритма. (возможно можно както применить битовые операции) Тогда вобще должно быть так : 0000 1101 0111 0010 0101 0010 0101 1 101 0011 1101 0111 0010 0101 0101 0101 1 001 0000 1101 0100 0010 0101 0010 0101 1 111 0010 1101 0101 0010 0101 0010 0101 0 010 101!=001!=111!=010 Почему ты пропустили младший ( минимальный ) разряд числа в примере ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 17:53 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаР, В условиях задачи минимальная позиция (слева) и минимальное количество бит. У тебя решение - позиция 29 и три бита, у меня позиция 28 и три бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 18:07 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаР, В условиях задачи минимальная позиция (слева) и минимальное количество бит. У тебя решение - позиция 29 и три бита, у меня позиция 28 и три бита. В твоем случае нужно накладывать числа на маски и результаты ксорить. Маски должны определять какие биты нужно сравнивать. Как формировать маску в цикле - смотри сдвиг. Приблизительно так , более оптимального пути я не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2013, 18:59 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Напиши пример кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 00:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTНапиши пример кода Не буду, ибо не вижу для себя профита от наприсания этого кода. Тебе надо , ты и пиши. Я вроде популярно обьяснил Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 11:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
В цикле тебе нужно формировать такие маски , накладывать на твои числа 1100 0000 0000 0000 0000 0000 0000 0000 0110 0000 0000 0000 0000 0000 0000 0000 0011 0000 0000 0000 0000 0000 0000 0000 ...... 0000 0000 0000 0000 0000 0000 0000 0011 ...... 1110 0000 0000 0000 0000 0000 0000 0000 0111 0000 0000 0000 0000 0000 0000 0000 .... 0000 0000 0000 0000 0000 0000 0000 1110 и производить сравнения наносекундной операцией ксором , ксор двух одинаковый чисел в результате дает 0 ( false). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 11:44 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Я тебе код предложил написать потому что обьяснение твое выглядит какойто хуетой, непонятно как работающей. Напиши код, приведи мысли в порядок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 13:01 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTЯ тебе код предложил написать потому что обьяснение твое выглядит какойто хуетой, непонятно как работающей. Напиши код, приведи мысли в порядок. Куетой выглядит стебелек. Куету для куеты я не буду в код первращать . Кури матчасть и пиши сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 13:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРКури матчасть и пиши сам. Так и скажи - написать неможешь. Бредни твои курить никто не будет, оно реально НЕ РАБОТАЕТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 14:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРКури матчасть и пиши сам. Так и скажи - написать неможешь. Бредни твои курить никто не будет, оно реально НЕ РАБОТАЕТ. Оно работает надежно , только нафик не нужно для нано-куеты быстрого поиска. Я как бы предполагал , что все закончится инсинуациями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 14:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРОно работает надежно Пока что оно работает в твоих фантазиях и не более. Потому я предложил тебе реализовать в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 14:32 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРОно работает надежно Пока что оно работает в твоих фантазиях и не более. Потому я предложил тебе реализовать в коде. Давай досвидания, встретимся в разделе работа, :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 14:40 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... Пока что оно работает в твоих фантазиях и не более. Потому я предложил тебе реализовать в коде. Давай досвидания, встретимся в разделе работа, :) Ну вот, нашего клоуна последний читатель выгнал сцаными тряпкаме даже отсюда :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 15:05 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... Пока что оно работает в твоих фантазиях и не более. Потому я предложил тебе реализовать в коде. Давай досвидания, встретимся в разделе работа, :) Слив засчитан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 15:08 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Last_AlienНу вот, нашего клоуна последний читатель выгнал сцаными тряпкаме даже отсюда :-))) Тебе тоже слив засчитан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 15:08 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTLast_AlienНу вот, нашего клоуна последний читатель выгнал сцаными тряпкаме даже отсюда :-))) Тебе тоже слив засчитан Зая, ты ужо в который раз всей Вселенной слив засчитал. Уникум ты наш! :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 15:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Баз. Давай задачу подкину. Сколько нужно памяти чтобы быстро отделять клиентов бан ка от не-клиентов? 1) Для простоты считаем что клиенты идентифицируются Украинскими ИНН. Это целые вида: [0000000000...9999999999] Первые 5 цифр - это дата рождения клиента в виде количества дней с 1900 года (плюс минус 1 день не помню точно). Клиентом может быть чел достигший 16 лет и (хе-хе) желательно не старше 100 лет ибо нефих. Клиенты - обычное не все люди а какой-то процент от всех налогоплательщиков к примеру (1-5%). Но система должна иметь возможность зарегистрировать и всё 100% населения если возникнет необходимость (банк стал гос-банком). Население Украины составляет 45 633 600 чел за 2012 год по данным wiki. 2) Предусмотреть расширение структуры для случая с Гос-Банком. Вот так вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 18:58 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
mayton, Так а вчем здесь задача ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:08 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Придумай структуру данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonПридумай структуру данных. Из данных тут только ИНН, гдето хватает 34 бита. Значит подойдет Barbaris Compressor x86 V34, Параметры для iCore7 работы - 20-60 млн/сек Поиск - 30-250 млн / сек. (режим инмемори) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:13 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А Оракел смагёт 46 млн строк вставить в таблицу за 2 секунды ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:22 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Ого. А что в этих 34 битах. Этож получается ...ммм 2^34 = 2^32 * 4 = 16 Gb. Ну нифигассе! Это в старте кампании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:25 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTА Оракел смагёт 46 млн строк вставить в таблицу за 2 секунды ? А какая система может отдать 46 млн записей для вставки за 2 секунды ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:25 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTА Оракел смагёт 46 млн строк вставить в таблицу за 2 секунды ? Не знаю. Смотря какие допущения в условии. Если задача кластеризуется на MapReduce (а такая вставка кластеризуется) то можно. Надо только количество нодов увеличить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:26 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonПридумай структуру данных. Из данных тут только ИНН, гдето хватает 34 бита. Значит подойдет Barbaris Compressor x86 V34, Параметры для iCore7 работы - 20-60 млн/сек Поиск - 30-250 млн / сек. (режим инмемори) Да. Совсем забыл. Последние две цифры - не хранят ничего полезного. Там - контрольная сумма и гендерный признак. Хехе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:30 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
mayton, по моим подсчетам нужно не более чем 6 байт на одни ИНН. И не обезательно оперативки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:30 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonОго. А что в этих 34 битах. Этож получается ...ммм 2^34 = 2^32 * 4 = 16 Gb. Ну нифигассе! Это в старте кампании? Да, получается дето 8гиг/секунда заливка данных. Если все в памяти конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:30 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРmayton, по моим подсчетам нужно не более чем 6 байт на одни ИНН. И не обезательно оперативки. 6 байт = макс 281,474,976,710,656. Зачем так многа ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:31 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРmayton, по моим подсчетам нужно не более чем 6 байт на одни ИНН. И не обезательно оперативки. 6 байт = макс 281,474,976,710,656. Зачем так многа ? В условии задачи, макс 9 999 999 999. И кто из нас битовую арифметику не освоил ? Даже 33х бит будет достаточно. Стебелек это поддерживает ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:33 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРmayton, по моим подсчетам нужно не более чем 6 байт на одни ИНН. И не обезательно оперативки. Это с учем всех указателей и прочей служебной памяти нужной программе , без учета обьема выполняемого кода . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:33 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Рассуждаю так. В диапазоне с 16 до 100 лет - 84 целых года. Это примерно 84 * 365 = 30660 дней. Какой-бы ни был ИНН - в банковской БД если она чистится каждый день от умерших - интервал между самым стариком и самым молодым составляет 30660###XX. Решётка это номер серии. X - игнорируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:35 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДаже 33х бит будет достаточно. Не, 33 это я загнул. 34 бита как раз, немножко с запасом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:35 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTBAZlSTпропущено... 6 байт = макс 281,474,976,710,656. Зачем так многа ? В условии задачи, макс 9 999 999 999. И кто из нас битовую арифметику не освоил ? Даже 33х бит будет достаточно. Стебелек это поддерживает ! Потом тебе постаят задачу за наносекунды найти клентов от 20 до 30 лет не вылезая за пределы отведенной уже памяти, и посмеемся ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:37 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... В условии задачи, макс 9 999 999 999. И кто из нас битовую арифметику не освоил ? Даже 33х бит будет достаточно. Стебелек это поддерживает ! Потом тебе постаят задачу за наносекунды найти клентов от 20 до 30 лет не вылезая за пределы отведенной уже памяти, и посмеемся ) Так там есть метод getValuesByRange(). В чем проблема найти всех клиентов в диапазоне ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:39 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Хех... кто о чём. А Баз о своих растениях. Я вообще задачку в разрезе теории спросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:40 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А шо тут теорезировать ? если уже давно все протестировано и работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:42 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
У меня была мысль вообще вынести это в offline. Клиенты регаются редко. В течение дня можно спокойно кешировать набор ID-шников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:49 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonХех... кто о чём. А Баз о своих растениях. Я вообще задачку в разрезе теории спросил. Если ИНН разложить в дерево ветка годы ветка месяцы листья дни То в листях можно хранить только остаток от ИНН . Еще приблизительно пол байта на ИНН займет отдельный битмап индекс для вычисления листьев и позицию для клиентов внутри дерева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:55 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРmaytonХех... кто о чём. А Баз о своих растениях. Я вообще задачку в разрезе теории спросил. Если ИНН разложить в дерево ветка годы ветка месяцы листья дни То в листях можно хранить только остаток от ИНН . Еще приблизительно пол байта на ИНН займет отдельный битмап индекс для вычисления листьев и позицию для клиентов внутри дерева. хардкор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 19:59 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Кстате можете меня поздравить, сегодня наконец отлажена версия самая первая, недооптимизированая Barbaris Compressor x86 VX. Вставляет 128 битные ключи со скоростью 10млн/1,2 сек = 8,3 млн / сек Итого 8,3 * 20 = 166 мб/сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:03 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаР, я тоже думал о дереве остатков. Еще дополнение. Три цифры ### - это порядковый номер зарегистрированного человека в этот день. Учитывая статистику рождаемости/регистрации налогоплательщиков вряд-ли это будет достигать 999. Цифра будет гораздо более скромная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:03 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonОго. А что в этих 34 битах. Этож получается ...ммм 2^34 = 2^32 * 4 = 16 Gb. Ну нифигассе! Это в старте кампании? Да, получается дето 8гиг/секунда заливка данных. Если все в памяти конечно. Чето вы мне тут все карты спутали 46 млн * 32 бит = 184 мб / сек =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:04 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTКстате можете меня поздравить, сегодня наконец отлажена версия самая первая, недооптимизированая Barbaris Compressor x86 VX. Вставляет 128 битные ключи со скоростью 10млн/1,2 сек = 8,3 млн / сек Итого 8,3 * 20 = 166 мб/сек Cool. А как у тебя с сериализацией? Даже TimesTen может сохранять своё состояние в файл. Хотя-бы для перегрузки сервера или ремонта железа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:05 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTКстате можете меня поздравить, сегодня наконец отлажена версия самая первая, недооптимизированая Barbaris Compressor x86 VX. Вставляет 128 битные ключи со скоростью 10млн/1,2 сек = 8,3 млн / сек Итого 8,3 * 20 = 166 мб/сек Cool. А как у тебя с сериализацией? Даже TimesTen может сохранять своё состояние в файл. Хотя-бы для перегрузки сервера или ремонта железа. Ну какая сериализация ? Я месяц только код отлаживал ............. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:06 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
И дальше буду его оптимизировать, несколько месяцев. Вон Judy Array, ближайший конкурент, конторка Hawlet Packard целых два года лабала средствами целой комманды задротов-очкариков. 20 тысяч строк кода в имплементации ! Но они мне в три раза слили на 32х битных ключах, хехе :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:09 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А на 16 байтных ключах, хештаблицы, мне сливают гдето на 30% пока что. Но опять же, хештаблицы не сортируют данные, а я сортирую, чтобы по индексу иметь возможность делать выборки по диапазону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonДохтаР, я тоже думал о дереве остатков. Еще дополнение. Три цифры ### - это порядковый номер зарегистрированного человека в этот день. Учитывая статистику рождаемости/регистрации налогоплательщиков вряд-ли это будет достигать 999. Цифра будет гораздо более скромная. 999 сжимается в полтора байта - 12 бит ( пол байта на цифру), в 16ричном редакторе читать удобно :) и даже в 10 бит =1024, если не облом со сдвигами возиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST, ну... я о принципе говорю. Есть такие DBMS (не помню щас названий) которые настолько интенсивно юзают указатели (всякие там колончатые DBMS, графовые) что для них сериализация представляет собой целую проблему. Даже не сериализация а принципиальное отсутствие ключа вида "ID". Надеюсь у тебя такой проблемы не будет и твои 16G не будут пол-дня сохраняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРmaytonДохтаР, я тоже думал о дереве остатков. Еще дополнение. Три цифры ### - это порядковый номер зарегистрированного человека в этот день. Учитывая статистику рождаемости/регистрации налогоплательщиков вряд-ли это будет достигать 999. Цифра будет гораздо более скромная. 999 сжимается в полтора байта - 12 бит ( пол байта на цифру), в 16ричном редакторе читать удобно :) и даже в 10 бит =1024, если не облом со сдвигами возиться. Твоя имплементация будет иметь минимум 4 колена дерева. 3 колена год/месяч/число и остаток 4е колено. А это весьма неудачная реализация. Сольет Стебельку в раз десять .................. ............... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:13 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlST, ну... я о принципе говорю. Есть такие DBMS (не помню щас названий) которые настолько интенсивно юзают указатели (всякие там колончатые DBMS, графовые) что для них сериализация представляет собой целую проблему. Даже не сериализация а принципиальное отсутствие ключа вида "ID". Надеюсь у тебя такой проблемы не будет и твои 16G не будут пол-дня сохраняться. Да я понял о чем ты говоришь. Указателей как таковых нет, все проточено на сериализацию, есть страницы которые будут скидываться на диск, которые не содержат конкретные адресса памяти, а только относительные. Естесно это предусмотрено, но не реализовано, так как еще будет целый комплекс улучшений алгоритма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:14 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаР999 сжимается в полтора байта - 12 бит ( пол байта на цифру), в 16ричном редакторе читать удобно :) и даже в 10 бит =1024, если не облом со сдвигами возиться. Да не будет там даже 500 регистраций. Я сейчас ищу статистику рождаемости по сайтам Держстат но там всё только в разрезе страны и за кварталы. А мне нужно аппроксимировать за 16 лет назад и взять за 1 день чтобы знать сколько будут регаться в 1 день сегодня 16 летние. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:17 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonДохтаР999 сжимается в полтора байта - 12 бит ( пол байта на цифру), в 16ричном редакторе читать удобно :) и даже в 10 бит =1024, если не облом со сдвигами возиться. Да не будет там даже 500 регистраций. Я сейчас ищу статистику рождаемости по сайтам Держстат но там всё только в разрезе страны и за кварталы. А мне нужно аппроксимировать за 16 лет назад и взять за 1 день чтобы знать сколько будут регаться в 1 день сегодня 16 летние. зачем столько геморроя изза простой задачи ? тебе какая производительность нужна ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРпропущено... 999 сжимается в полтора байта - 12 бит ( пол байта на цифру), в 16ричном редакторе читать удобно :) и даже в 10 бит =1024, если не облом со сдвигами возиться. Твоя имплементация будет иметь минимум 4 колена дерева. 3 колена год/месяч/число и остаток 4е колено. А это весьма неудачная реализация. Сольет Стебельку в раз десять .................. ............... Та мне пофик на стебелек, один ИНН хранить не разумно , там обязательно появиться еще что то типа ФИО, ключей к договорам, номера паспорта, телефона и еще кучи фигни для которой уже можно заводить оракел или на крайняк сиквелалйт . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... Твоя имплементация будет иметь минимум 4 колена дерева. 3 колена год/месяч/число и остаток 4е колено. А это весьма неудачная реализация. Сольет Стебельку в раз десять .................. ............... Та мне пофик на стебелек, один ИНН хранить не разумно , там обязательно появиться еще что то типа ФИО, ключей к договорам, номера паспорта, телефона и еще кучи фигни для которой уже можно заводить оракел или на крайняк сиквелалйт . и чо ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:21 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Все это реализовывается в два счета на noSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:22 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTВсе это реализовывается в два счета на noSQL. Та я не против, реализуй Мне реализация учета на SQL более по душе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:24 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonпропущено... Да не будет там даже 500 регистраций. Я сейчас ищу статистику рождаемости по сайтам Держстат но там всё только в разрезе страны и за кварталы. А мне нужно аппроксимировать за 16 лет назад и взять за 1 день чтобы знать сколько будут регаться в 1 день сегодня 16 летние. зачем столько геморроя изза простой задачи ? тебе какая производительность нужна ? Мне вообще не нужна производительность. Я спросил про РАЗМЕР той структуры данных которая нужна для хранения этого набора ключей. Зачем? Хм... может решил в браузере в JavaScript-е эти проверки делать. Кто-то ставит постановки на скорость. Я - на объём. А что. Имею право. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРТа я не против, реализуй Мне реализация учета на SQL более по душе. SQL здесь и действительно лучше. Справочная маленькая табличка персонов, чо там оптимизировать и главное ЗАЧЕМ - не понятно =) Непонятна сама постановка задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonМне вообще не нужна производительность. Я спросил про РАЗМЕР той структуры данных которая нужна для хранения этого набора ключей. Зачем? Хм... может решил в браузере в JavaScript-е эти проверки делать. Кто-то ставит постановки на скорость. Я - на объём. А что. Имею право. размер у тебя 34*46/8 = 195 мб + служебная инфо. И стоит ради такого обьема информации чесать яйтса ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Или на мобильнике таскать. А мобильники они знаешь какие. А? Не у всех по 8 гигов стоит. У меня - вообще по 256К на один аппликейшн. Вот так-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonИли на мобильнике таскать. А мобильники они знаешь какие. А? Не у всех по 8 гигов стоит. У меня - вообще по 256К на один аппликейшн. Вот так-то. 46млн персонов ты несожмешь в 256 килобайт. О чем твоя задача ? О мобильнике Нокия 6610 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:30 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Короче решаем вотету задачу 13716181 , а я домой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:31 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTразмер у тебя 34*46/8 = 195 мб + служебная инфо. И стоит ради такого обьема информации чесать яйтса ? Может быть и нет. Но моя задача имела материальную составляющую. А синтетику в виде сколько байтов совпадут - решать не интересно. Тем более что твои задачи прекрасно решены в основах тв.и.мс. Купи на Петровке книжку - Гмурман - Теория вероятностей и мат-статистика. Задачник с решениями. Бомбовская вещь. После неё и таких постановок у тебя не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:33 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTКороче решаем вотету задачу 13716181 , а я домой Уже решено. Эти задачи с битами байтами и эмуляцией минимумов максимумов решил Генри Уоррен. Там-же и он коснулся моей любимой темы. Генераторов числовых последовательностей. Все базовые целочисленные алгоритмы - там-же. Почитай эту книгу. http://www.kodges.ru/15309-algoritmicheskie-trjuki-dlja-programmistov.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:37 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTразмер у тебя 34*46/8 = 195 мб + служебная инфо. И стоит ради такого обьема информации чесать яйтса ? Может быть и нет. Но моя задача имела материальную составляющую. А синтетику в виде сколько байтов совпадут - решать не интересно. Тем более что твои задачи прекрасно решены в основах тв.и.мс. Купи на Петровке книжку - Гмурман - Теория вероятностей и мат-статистика. Задачник с решениями. Бомбовская вещь. После неё и таких постановок у тебя не будет. У тебя тест с числовым рядом еще более синтетический чем я тестировал. Я то брал нормальное такое случайное распределение из заархивированых файлов, а у тебя отличная синтетическая закономерность из дат вначале ИНН. Потому утверждение, скорость вставок 20млн неверное. Верно 30-40 млн. Но это тебе не нужно, потому что задача твоя вообще ниочем. На диске файлик займет 500 мб места в хучшем случае, зачем ты приплел мобильные устройства с 256к памяти совсем непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:39 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTКороче решаем вотету задачу 13716181 , а я домой Уже решено. Эти задачи с битами байтами и эмуляцией минимумов максимумов решил Генри Уоррен. Там-же и он коснулся моей любимой темы. Генераторов числовых последовательностей. Все базовые целочисленные алгоритмы - там-же. Почитай эту книгу. http://www.kodges.ru/15309-algoritmicheskie-trjuki-dlja-programmistov.html Мне вообщето код нужно на Си, а не "почитай эту книгу". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:40 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Баз. Я тебя не узнаю! То вроде был силён в теории. А то вдруг - дайте Си. Зачем тебе Си? Там ничего нового уже не будет. Все изъезжено вдоль и поперек. Теория брадт. Это сила. Я бы мат. периодику читал да мозгов не хватает. Завидую парням которые жонглируют кольцами, полями, множествами. А ты не завидуешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:42 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonБаз. Я тебя не узнаю! То вроде был силён в теории. А то вдруг - дайте Си. Зачем тебе Си? Там ничего нового уже не будет. Все изъезжено вдоль и поперек. Теория брадт. Это сила. Я бы мат. периодику читал да мозгов не хватает. Завидую парням которые жонглируют кольцами, полями, множествами. А ты не завидуешь? Вот ты мне скажи, ты что уподобился дедалу или аленю ? Есть задача. Допустим тебя спросили такую задачу на собеседовании. Ты что человеку который тебя собеседует на смекалку скажешь - почитайте книгу. Она нахрен не имеет никакого отношения к задаче. Или предложите решение, или вообще нахрен ничего не отписывайте в тему и не позорьтесь. Шо доктор включил дурачка "реши сдвигами" шо майтон включил дурачка "читай книжку". Если есть красивый алгоритм - пишите. Нет - ну так окончательно не показывайте свою тупосць. Ну емае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:44 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Вот малохольный! Такое ощущение будто новый год не отметил! Ну ладно. Код: sql 1. 2. 3. 4. В этом кейсе такой должен быть ответ? Код: sql 1. 2. Верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 20:55 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Акей. Прикину на глаз. И сделаю общую постановку для любого массива. Дано массив 32-х битных целых (Ai). Надо найти минимальный и макс бит (позиции). 1) Для массива из 1 числа выдаём пустое множество. 2) Для двух чисел A(0) и A(1) разница - это A(0) XOR A(1). 3) Для произвольного N чисел - заводим два доп регистра. Amax=0xFFFFFFFF и Amin=0x00000000. В цикле для всех A(N) сбрасываем биты Amax и устанавливаем биты Amin. В конце сравниваем Amax и Amin. И выдаём расстояние Хемминга H(Amax,Amin). Для H(..) вычисляем ненулевой левый и правый бит. Готово. Сложность - O(n). P.S. Вообще Баз ты по сабжу наглец! Ты краудсорсингом собираешь из нас солюшены а потом имплементируешь и выдаёшь за свои. Гарантирую что ты эти задачки специально придумал. Не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 21:16 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Поправка. Без Хэмминга. Просто посчитаем что H(Amin,Amax)=xor(Amin,Amax) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 21:17 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Давай на Си код, сколько операций будет для 4х чисел ? Все ищут более менее не комбинаторное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 21:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Почему для 4-х чисел? Я не согласен с такой постановкой. Ты меня искусственно ограничил. Объясни зачем 4 числа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 23:16 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
И при чем здесь комбинаторное? Я-же написал O(n). Линейное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2013, 23:26 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonИ при чем здесь комбинаторное? Я-же написал O(n). Линейное. По-поводу моей задачи, можно сделать оптимальней чем линейное, сделать рекурсивный спуск (но это прикидка). В любом случае - приведи хотябы псевдо код своего решения. Кстате не нужно забывать что могут быть контр примеры. Например лучший блок может быть и таким. 0000 1101 0111 0010 010 1 0010 0101 1101 0000 1101 0111 0010 010 1 0110 0101 1101 0000 1101 0111 0010 011 1 0010 0101 1101 0000 1101 0111 0010 110 1 0010 0101 1101 По всем остальным блокам, совпадений больше двух. Поэтому нужно вернуть лучший из найденых блоков. По-поводу твоей задачи, пришла в голову мысль на счет сжатия. Если все даты рождений отсортировать по возрастанию, то получится между соседними датами небольшая разница. Ну допустим от 0 до 15 минут. Вот через дельту и можно кодировать каждое следующее число. Наилучшее сжатие тут может быть в 32 раза ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:34 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonАкей. Прикину на глаз. И сделаю общую постановку для любого массива. Дано массив 32-х битных целых (Ai). Надо найти минимальный и макс бит (позиции). 1) Для массива из 1 числа выдаём пустое множество. 2) Для двух чисел A(0) и A(1) разница - это A(0) XOR A(1). 3) Для произвольного N чисел - заводим два доп регистра. Amax=0xFFFFFFFF и Amin=0x00000000. В цикле для всех A(N) сбрасываем биты Amax и устанавливаем биты Amin. В конце сравниваем Amax и Amin. И выдаём расстояние Хемминга H(Amax,Amin). Для H(..) вычисляем ненулевой левый и правый бит. Готово. Сложность - O(n). P.S. Вообще Баз ты по сабжу наглец! Ты краудсорсингом собираешь из нас солюшены а потом имплементируешь и выдаёшь за свои. Гарантирую что ты эти задачки специально придумал. Не так ли? Я думал о похожем решении вчера но Баз расставил точки над Ё авторМинимальный три, потому что для трех бит на этой позиции действует условие: 110 != 100 != 111 != 001 Еслиб условие не действовало, тогда бы пришлось захватить еще один бит ( как вариант ). То есть должна соблюдаться уникальность . Так , баз ? В примере есть другой блок из 2 бит , но там уникальности нет, в 2 строках одинаковые последовательности бит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:41 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTПо-поводу твоей задачи, пришла в голову мысль на счет сжатия. Если все даты рождений отсортировать по возрастанию, то получится между соседними датами небольшая разница. Ну допустим от 0 до 15 минут. Вот через дельту и можно кодировать каждое следующее число. Наилучшее сжатие тут может быть в 32 раза ... Там нету кодирования минут. Только целые дни. Первоисточник по формату ИНН здесь http://zliypes.com.ua/blog/2007/10/29/ukrainian-pti/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:43 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРавторМинимальный три, потому что для трех бит на этой позиции действует условие: 110 != 100 != 111 != 001 Еслиб условие не действовало, тогда бы пришлось захватить еще один бит ( как вариант ). То есть должна соблюдаться уникальность . Так , баз ? В примере есть другой блок из 2 бит , но там уникальности нет, в 2 строках одинаковые последовательности бит. Нужно вернуть лучший найденый блок минимальной длины. В примере выше блок из трех бит, и все четыре числа по этому блоку не совпадают. В контр примере нет четырех блоков отличающихся друг от друга, тогда нужно вернуть наилучшее решение, в данном случае где три блока отличаются между собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:45 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonИ при чем здесь комбинаторное? Я-же написал O(n). Линейное. По-поводу моей задачи, можно сделать оптимальней чем линейное, сделать рекурсивный спуск (но это прикидка). В любом случае - приведи хотябы псевдо код своего решения. Кстате не нужно забывать что могут быть контр примеры. Например лучший блок может быть и таким. 0000 1101 0111 0010 010 1 0010 0101 1101 0000 1101 0111 0010 010 1 0110 0101 1101 0000 1101 0111 0010 011 1 0010 0101 1101 0000 1101 0111 0010 110 1 0010 0101 1101 По всем остальным блокам, совпадений больше двух. Поэтому нужно вернуть лучший из найденых блоков. По-поводу твоей задачи, пришла в голову мысль на счет сжатия. Если все даты рождений отсортировать по возрастанию, то получится между соседними датами небольшая разница. Ну допустим от 0 до 15 минут. Вот через дельту и можно кодировать каждое следующее число. Наилучшее сжатие тут может быть в 32 раза ... Баз ты вобще сам то знаешь что те нужно Чем это решение из вчерашнего примера непоходит ? 00 00 1101 0111 0010 0101 0010 0101 1101 00 11 1101 0111 0010 0101 0101 0101 1001 00 00 1101 0100 0010 0101 0010 0101 1111 00 10 1101 0101 0010 0101 0010 0101 0010 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:47 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTПо-поводу твоей задачи, пришла в голову мысль на счет сжатия. Если все даты рождений отсортировать по возрастанию, то получится между соседними датами небольшая разница. Ну допустим от 0 до 15 минут. Вот через дельту и можно кодировать каждое следующее число. Наилучшее сжатие тут может быть в 32 раза ... Там нету кодирования минут. Только целые дни. Первоисточник по формату ИНН здесь http://zliypes.com.ua/blog/2007/10/29/ukrainian-pti/ тогда точно сжатие может составить 32 раза. Каждый день ктото рождался и дату рождения каждого следующего ребенка кодируй 0, если его дата не отличается от преведущей даты рождения, и 1 если отличается на один день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:47 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... По-поводу моей задачи, можно сделать оптимальней чем линейное, сделать рекурсивный спуск (но это прикидка). В любом случае - приведи хотябы псевдо код своего решения. Кстате не нужно забывать что могут быть контр примеры. Например лучший блок может быть и таким. 0000 1101 0111 0010 010 1 0010 0101 1101 0000 1101 0111 0010 010 1 0110 0101 1101 0000 1101 0111 0010 011 1 0010 0101 1101 0000 1101 0111 0010 110 1 0010 0101 1101 По всем остальным блокам, совпадений больше двух. Поэтому нужно вернуть лучший из найденых блоков. По-поводу твоей задачи, пришла в голову мысль на счет сжатия. Если все даты рождений отсортировать по возрастанию, то получится между соседними датами небольшая разница. Ну допустим от 0 до 15 минут. Вот через дельту и можно кодировать каждое следующее число. Наилучшее сжатие тут может быть в 32 раза ... Баз ты вобще сам то знаешь что те нужно Чем это решение из вчерашнего примера непоходит ? 00 00 1101 0111 0010 0101 0010 0101 1101 00 11 1101 0111 0010 0101 0101 0101 1001 00 00 1101 0100 0010 0101 0010 0101 1111 00 10 1101 0101 0010 0101 0010 0101 0010 тем что здесь совпадают два числа. А алгоритм такой - самое лучшее решение, где все четыре блока минимальной длины не совпадают между собой. Если такого не найдено, вернуть решение где хотябы три блока не совпадают. Если такого не найдено, хотябы два блока не совпадают. Если не найдено, то феил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:49 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTПо-поводу моей задачи, можно сделать оптимальней чем линейное, сделать рекурсивный спуск (но это прикидка). В любом случае - приведи хотябы псевдо код своего решения. Кстате не нужно забывать что могут быть контр примеры. Например лучший блок может быть и таким. Псевдокод. Общий случай. A(i) - произвольные. Нет монтонной последовательности. Нет кода Грея. Нет энтропиии. Абсолютные шумящие случайные. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:50 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Инкремент в цикл вставить забыл. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:51 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTПо-поводу моей задачи, можно сделать оптимальней чем линейное, сделать рекурсивный спуск (но это прикидка). В любом случае - приведи хотябы псевдо код своего решения. Кстате не нужно забывать что могут быть контр примеры. Например лучший блок может быть и таким. Псевдокод. Общий случай. A(i) - произвольные. Нет монтонной последовательности. Нет кода Грея. Нет энтропиии. Абсолютные шумящие случайные. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 1. Где приращение "i" ? 2. Программа должна выводить два числа. Смещение слева и размер блока бит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:52 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST 0000 1101 0111 0010 010 1 0010 0101 1101 0000 1101 0111 0010 010 1 0110 0101 1101 0000 1101 0111 0010 011 1 0010 0101 1101 0000 1101 0111 0010 110 1 0010 0101 1101 ДохтаРпропущено... Баз ты вобще сам то знаешь что те нужно Чем это решение из вчерашнего примера непоходит ? 00 00 1101 0111 0010 0101 0010 0101 1101 00 11 1101 0111 0010 0101 0101 0101 1001 00 00 1101 0100 0010 0101 0010 0101 1111 00 10 1101 0101 0010 0101 0010 0101 0010 тем что здесь совпадают два числа. А алгоритм такой - самое лучшее решение, где все четыре блока минимальной длины не совпадают между собой. Если такого не найдено, вернуть решение где хотябы три блока не совпадают. Если такого не найдено, хотябы два блока не совпадают. Если не найдено, то феил. Так какое лучше ? 2 битный блоки с 3 уникальными знасениями, или 2 битные с 3 уникальными значениями ? Баз , а вчера где ты был , почему про условия лучшести блоков не рассказал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:57 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРпропущено... Баз ты вобще сам то знаешь что те нужно Чем это решение из вчерашнего примера непоходит ? 00 00 1101 0111 0010 0101 0010 0101 1101 00 11 1101 0111 0010 0101 0101 0101 1001 00 00 1101 0100 0010 0101 0010 0101 1111 00 10 1101 0101 0010 0101 0010 0101 0010 тем что здесь совпадают два числа. А алгоритм такой - самое лучшее решение, где все четыре блока минимальной длины не совпадают между собой. Если такого не найдено, вернуть решение где хотябы три блока не совпадают. Если такого не найдено, хотябы два блока не совпадают. Если не найдено, то феил. Что приоретенее длина блока или количество повторений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:58 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаР2 битный блоки с 3 уникальными значениями, или 2 битные с 3 уникальными значениями ? Наверное ты имел ввиду 2 битные блоки с 3 мя уникальными значениями. Или 3х битные с 4мя уникальными. Тут правило простое, приоритет имеет тот блок у которого больше всего уникальных значений. Потом идет размер блока. Чем меньше, тем лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 00:59 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonпропущено... Там нету кодирования минут. Только целые дни. Первоисточник по формату ИНН здесь http://zliypes.com.ua/blog/2007/10/29/ukrainian-pti/ тогда точно сжатие может составить 32 раза. Каждый день ктото рождался и дату рождения каждого следующего ребенка кодируй 0, если его дата не отличается от преведущей даты рождения, и 1 если отличаеатся на один день. Акей. Мне нужна числовая оценка. Сколько КБ/Мb будет занимать структура данных (хеш-тейбла, tree-мапа или еще хер знаеть какая биткарта). Мне нужно знать укладывается ли она в память мобильного приложения и в память JavaScript-машины браузера. Сейчас ползаю по сайту http://www.ukrstat.gov.ua/ но там только общая статистика. А мне нужна рождаемость по дням. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:00 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаР2 битный блоки с 3 уникальными значениями, или 2 битные с 3 уникальными значениями ? Наверное ты имел ввиду 2 битные блоки с 3 мя уникальными значениями. Или 3х битные с 4мя уникальными. Тут правило простое, приоритет имеет тот блок у которого больше всего уникальных значений. Потом идет размер блока. Чем меньше, тем лучше. я имел ввиду 2 битные с 3-мя уникальными, и 3 бинтые с 3-мя уникальными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:02 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST1. Где приращение "i" ? 2. Программа должна выводить два числа. Смещение слева и размер блока бит. Ну вот зачем придираешся? Идея то ведь внутри цикла уже развернута. Что там еще добавить єто уже мелочи. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Тестируй и говори где какие баги и тайминги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:04 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTпропущено... тогда точно сжатие может составить 32 раза. Каждый день ктото рождался и дату рождения каждого следующего ребенка кодируй 0, если его дата не отличается от преведущей даты рождения, и 1 если отличаеатся на один день. Акей. Мне нужна числовая оценка. Сколько КБ/Мb будет занимать структура данных (хеш-тейбла, tree-мапа или еще хер знаеть какая биткарта). Мне нужно знать укладывается ли она в память мобильного приложения и в память JavaScript-машины браузера. Сейчас ползаю по сайту http://www.ukrstat.gov.ua/ но там только общая статистика. А мне нужна рождаемость по дням. Очевидно что так сжать удасться только первые 5 цифер ИНН, где дата рождения. Очевидно также что не о какой хештейбле и три мапе речь не идет, поскольку это фактически заархивированая твоя последовательность. Единственый поиск по такой последовательности - фулскан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:04 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlST1. Где приращение "i" ? 2. Программа должна выводить два числа. Смещение слева и размер блока бит. Ну вот зачем придираешся? Идея то ведь внутри цикла уже развернута. Что там еще добавить єто уже мелочи. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Тестируй и говори где какие баги и тайминги. Что делают эти функции, покажи на нескольких примерах ? _offset(Axor),_length(Axor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:05 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... Наверное ты имел ввиду 2 битные блоки с 3 мя уникальными значениями. Или 3х битные с 4мя уникальными. Тут правило простое, приоритет имеет тот блок у которого больше всего уникальных значений. Потом идет размер блока. Чем меньше, тем лучше. я имел ввиду 2 битные с 3-мя уникальными, и 3 бинтые с 3-мя уникальными. тогда двух битные имеют приоритет, поскольку они короче чем трехбитные блоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:21 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTОчевидно что так сжать удасться только первые 5 цифер ИНН, где дата рождения. Очевидно также что не о какой хештейбле и три мапе речь не идет, поскольку это фактически заархивированая твоя последовательность. Единственый поиск по такой последовательности - фулскан. Почему фуллскан? Выше мне предложили RadixTree насколько я понял. Это тоже решение. Я его буду рассматривать. Давай так. Чтобы не было кривотолков. Делаем сразу 10% населения в базу. По данным Держ.стат. Украины: На 2012р. чоловіки - 20976,7 тис осіб. жінки - 24476,6 тис осіб. Итого - 45453,3 тим осіб. Розподіл постійного населення за окремими віковими групами - ( 6531,5 + 6993,1 ) это дети до 16 лет. Не клиенты банка. Их надо убрать из общего населения. Всё оставшееся * на 10% получим клиентов. Их распределим от 16 лет до самых старых 65 лет равномерно от 2012 года и получим генерацию дат рождения. Всё. Итак. от рожденных с (2012-65) года до (2012-16) года идут в качестве диапазона случайных дат. Все остальные поля ИНН неважны и их можно заполнять случайными числами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:23 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTЧто делают эти функции, покажи на нескольких примерах ? _offset(Axor),_length(Axor) Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:25 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
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 млн + Выделение памяти варьируется в зависимости от количества пользователей - Поиск фулскан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:41 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTЧто делают эти функции, покажи на нескольких примерах ? _offset(Axor),_length(Axor) Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе. что внутри этих функций ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:41 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonпропущено... Фуххх... ну они вернут тебе 28 и 3 как в тесткейсе. что внутри этих функций ? Как это что :) Сдвиг в цикле для вычисления смещения ( позиции ) внутри слова :) И сдвиг для определения длины блока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 01:49 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTпропущено... что внутри этих функций ? Как это что :) Сдвиг в цикле для вычисления смещения ( позиции ) внутри слова :) И сдвиг для определения длины блока. Короче, я взял четыре числа отсюда 13720397 Переписал псевдокод майтона на Си Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. и получил в результате 11 0000 0011 0000 0000 0111 0000 1111 Какие операции нужно провести с этим числом в функциях оффсет и дистанц чтобы получить искомый результат ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Я воще ниразу не понял как этот говнокод с ксор должен работать, хотябы в простейшем случае. Пишите код - тестируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:12 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTСам смотри. RadixTree тебе не даст большого сжатия. Первый уровень (2012-1900)*4байт = 448 байт Второй уровень займет (2012-1900)*12*4 байт = 5376 байт Третий уровень займет (2012-1900)*12*31*4 байт = 166 656 байт Ниче не понял. Как ты это прикидывал да вычислял?. Дерево в общем случае будет иметь не 3 а реально 8 или даже 10 уровней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:14 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTЯ воще ниразу не понял как этот говнокод с ксор должен работать, хотябы в простейшем случае. Пишите код - тестируйте. Чувак. У меня там не XOR а AND. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:16 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
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. Короче, не отнимай время. Вот тебе уже есть болванка на Си, скопируй, протестируй и присылай работающий код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:21 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTСам смотри. RadixTree тебе не даст большого сжатия. Первый уровень (2012-1900)*4байт = 448 байт Второй уровень займет (2012-1900)*12*4 байт = 5376 байт Третий уровень займет (2012-1900)*12*31*4 байт = 166 656 байт Ниче не понял. Как ты это прикидывал да вычислял?. Дерево в общем случае будет иметь не 3 а реально 8 или даже 10 уровней. Первый уровень год, второй месяц, третий день. Откуда десять ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:22 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А лучше выделить вообще в твоей задаче один уровень, массив на 65лет*12мес*31день = 24 180 ячеек. В каждой ячейке будет список людей которые родились в один день :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:31 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Короче третий вариант самый оптимальный, без РадиксТри, просто через массив ) индекс в массиве = номер дня, когда родился после даты ХХХХ =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:34 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Здесь Amin должно получиться такое Код: sql 1. 2. 3. 4. 5. 6. Amax соответсвтенно (середину считать неинтересно. не влияет на результат) Код: sql 1. Складываем по модулю 2. Получаем Код: sql 1. Различающиеся биты слева - 29-й, справа 0-й ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:36 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
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. Короче, не отнимай время. Вот тебе уже есть болванка на Си, скопируй, протестируй и присылай работающий код. Вот самые лучшие блоки выбирай на любой вкус и цвет, майтон не знал о лучшести на момент решения. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 02:37 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Не могу я циклиться на такой синтетической постановке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 12:15 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST, Кстате эти 15-20% еще под вопросом, просто алгоритм принципиально не менялся настолько давно, с времен ММ3А Лопушек, что я решил поэксперементировать с рабочим ходом поршня внутри движка VХ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 13:37 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
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 мм. Наиболее весомым является зависимость ускорения поршня от длины шатуна. Большие значения ускорения положительно влияют на наполнение цилиндров на малых оборотах, что ведет к «тяговитости» двигателя в следствии лучшего наполнения. Но на высоких оборотах из-за инерционности потока во впускной трубе происходит эффект запирания на впускном клапане (т.е объем цилиндра над поршнем растет быстрее, чем может заполняться через клапанную щель, что ведет к ухудшению наполнения и мощностных характеристик на высоких оборотах). В случае длинного шатуна на малых оборотах происходит обратный выброс смеси, но на высоких нет явления запирания. Еще не стоит забывать, что увеличенные хода коленвала компенсируются уменьшением компрессионной высоты поршня (смещением поршневого пальца вверх) или увеличением высоты блока цилиндров. Т.к. компрессионную высоту поршня можно уменьшать до определенного предела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 13:57 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаР, Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно. Ошибались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:01 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаР, Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно. Ошибались. За последние 100 лет ДВС принципиально не изменился. Горение топливной смеси. И поршни. И еще через 300 лет всё будет так-же. Пока не вся нефть не будет OVER. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:06 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTДохтаР, Во времена Форда инженеры думали что 4 цилиндра в одном корпусе собрать невозможно. Ошибались. За последние 100 лет ДВС принципиально не изменился. Горение топливной смеси. И поршни. И еще через 300 лет всё будет так-же. Пока не вся нефть не будет OVER. Ну какже, а роторный двигатель ё-мобиля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А турбины в двигателях, а компрессия ? Что с 1,4 литра снимают по 150 лошадей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTА турбины в двигателях, а компрессия ? Что с 1,4 литра снимают по 150 лошадей. Ну поставь трубину, сделай себе компрессию , покупай топливо по 80 грн литр. Получишь ты 2 секунды разгона до сотни и ..... ? через 10 тыс км будешь капиталить движок ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:18 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
При чём здесь турбины и роторы? Мы-же говорим об автомобилях. В классе авто-двигателей ничего не могут нового придумать. И КПД не могут увеличить. И от бензина не могут отказаться. И от массовой субкультуры muscle-cars не собираются отказываться на уровне головного мозга ибо круть несусветная да и на посёлке все поцоны завидуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:25 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonПри чём здесь турбины и роторы? Мы-же говорим об автомобилях. В классе авто-двигателей ничего не могут нового придумать. И КПД не могут увеличить. И от бензина не могут отказаться. И от массовой субкультуры muscle-cars не собираются отказываться на уровне головного мозга ибо круть несусветная да и на посёлке все поцоны завидуют. Какже не придумали если придумали. Таже турбина, это отдельный агрегат который работает в связке с двигателем для увеличения его мощности. Искуственное нагнетание компрессии в цилиндры. Поэтому если сравнить например Октавию 2000 го года, жрет 8 литров, выдает мощность 105лошадей. И Октавию 2010 года, жрет 8 литров выдает мощность 150 лошадей. Щас вот Ети при обьеме двигателя 1,2 литра выдает свыше ста лошадей. И ничего там капиталить через 10 тыс ненада. 50 лет назад у машин под капотом было по 50 лошадей, а жрали по 30 литров. А так конечно ничего нового в ДВС не придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:36 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
mayton И КПД не могут увеличить. КПД как раз увеличивают и выбросы СО2 постоянно снижают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:38 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmaytonПри чём здесь турбины и роторы? Мы-же говорим об автомобилях. В классе авто-двигателей ничего не могут нового придумать. И КПД не могут увеличить. И от бензина не могут отказаться. И от массовой субкультуры muscle-cars не собираются отказываться на уровне головного мозга ибо круть несусветная да и на посёлке все поцоны завидуют. Какже не придумали если придумали. Таже турбина, это отдельный агрегат который работает в связке с двигателем для увеличения его мощности. Искуственное нагнетание компрессии в цилиндры. Поэтому если сравнить например Октавию 2000 го года, жрет 8 литров, выдает мощность 105лошадей. И Октавию 2010 года, жрет 8 литров выдает мощность 150 лошадей. Щас вот Ети при обьеме двигателя 1,2 литра выдает свыше ста лошадей. И ничего там капиталить через 10 тыс ненада. 50 лет назад у машин под капотом было по 50 лошадей, а жрали по 30 литров. А так конечно ничего нового в ДВС не придумали И какое отношение это имеет к эксперементам с ходом поршня ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:52 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРBAZlSTА турбины в двигателях, а компрессия ? Что с 1,4 литра снимают по 150 лошадей. Ну поставь трубину, сделай себе компрессию , покупай топливо по 80 грн литр. Получишь ты 2 секунды разгона до сотни и ..... ? через 10 тыс км будешь капиталить движок ) Зачем ставить турбину, делать компрессию ? Щас все это барахло уже идет в стоковом варианте мидл сегмента авторынка, вот например http://praga-auto.com.ua/skoda_yeti/prices/ Yeti, 1.2TFSI мотор, 105 лошадей, расход 6 литров, ценник от 192 тыс грн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:53 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРИ какое отношение это имеет к эксперементам с ходом поршня ? Прямое, двигатели постоянно меняются. Везде эксперементируют, с коленвалами, с поршнями, с обьемами, с компрессией ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 14:55 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРИ какое отношение это имеет к эксперементам с ходом поршня ? Прямое, двигатели постоянно меняются. Везде эксперементируют, с коленвалами, с поршнями, с обьемами, с компрессией ... В автостроении , в отличие от тебя пальцем в небо никто не тыкает. Ходы поршня, обьемы, компрессию, распредвалы , турбины , геометрию впуска и выпуска итд считают по формулам, делают и получают расчетные результаты без эксперементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:06 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
ДохтаРВ автостроении , в отличие от тебя пальцем в небо никто не тыкает. Ходы поршня, обьемы, компрессию, распредвалы , турбины , геометрию впуска и выпуска итд считают по формулам, делают и получают расчетные результаты без эксперементов. угу, в маткаде прям все и считают. А чо 50 лет назад сразу не сделали 1,2 обьем с 105 лошадьми, маткада небыло ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:08 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTmayton И КПД не могут увеличить. КПД как раз увеличивают и выбросы СО2 постоянно снижают Баз. Друг. Ты не поверишь. КПД современного ДВС составляет 20-30%. У дизелей - чуть побольше. Но ты вдумайся в эти цифры1!! Это эпик фейл!! Чувак! Мы более 100 лет обогреваем атмосферу! Равносильно тому что ездим на паровозах! И это не смотря на комьютерное моделирование взрывов камеры, новые идеи в механике поршней роторы, цилиндры и прочие двигатели Ванкеля! Ничего! Полный нуль! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:18 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTДохтаРВ автостроении , в отличие от тебя пальцем в небо никто не тыкает. Ходы поршня, обьемы, компрессию, распредвалы , турбины , геометрию впуска и выпуска итд считают по формулам, делают и получают расчетные результаты без эксперементов. угу, в маткаде прям все и считают. А чо 50 лет назад сразу не сделали 1,2 обьем с 105 лошадьми, маткада небыло ? Дурачог, во fluent'e нестационарные газодинамические процессы считают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTпропущено... КПД как раз увеличивают и выбросы СО2 постоянно снижают Баз. Друг. Ты не поверишь. КПД современного ДВС составляет 20-30%. У дизелей - чуть побольше. Но ты вдумайся в эти цифры1!! Это эпик фейл!! Чувак! Мы более 100 лет обогреваем атмосферу! Равносильно тому что ездим на паровозах! И это не смотря на комьютерное моделирование взрывов камеры, новые идеи в механике поршней роторы, цилиндры и прочие двигатели Ванкеля! Ничего! Полный нуль! Читай http://www.motorpage.ru/discussion/JEvoljucija_DVS/JEvoljucija_DVS_dostigla_pika.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:24 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Так считается, что КПД классического автомобильного бензинового двигателя с принудительным искровым зажиганием составляет от 20 до 30% , дизельный двигатель может обеспечить 35-40%. В первой половине XX века это были выдающиеся характеристики на фоне пресловутого «КПД паровоза», который, как все мы помним из школьного курса физики, составлял 5-10%. уже в 1920 – 1940 годы для этого были разработаны практически все основные принципы, как то турбонаддув, прямой впрыск и т.д. К 1970 годам началась настоящая погоня за повышением эффективности, продолжающаяся по сей день. Были разработаны такие элементы как охлаждение рабочей смеси, изменение фаз газораспределения, поэтапный впрыск… Сегодня некоторые автопроизводители утверждают, что в современном бензиновом ДВС удается добиться общего КПД в 35-38% . Однако вопрос об эффективности усовершенствования старых технологий остается открытым. В России компания «Ё-авто» занимается разработкой роторно-лопастного двигателя, в котором к минимуму сведены потери на трение. Разработчики этой конструкции уже заявляли, что КПД нового двигателя должен составить 42-45% , что весьма неплохо для бензинового агрегата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTЧитай http://www.motorpage.ru/discussion/JEvoljucija_DVS/JEvoljucija_DVS_dostigla_pika.html Не верю я в эти Ё-мобили и в 45%. Здесь какой-то фундаментальный подвох. Если они принципиально меняют ДВС на ротор то это уже другой класс авто. Со всеми вытекающими вопросами. Как оно заводится? Как охлаждается? Как его можно обслуживать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:28 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonBAZlSTЧитай http://www.motorpage.ru/discussion/JEvoljucija_DVS/JEvoljucija_DVS_dostigla_pika.html Не верю я в эти Ё-мобили и в 45%. Здесь какой-то фундаментальный подвох. Если они принципиально меняют ДВС на ротор то это уже другой класс авто. Со всеми вытекающими вопросами. Как оно заводится? Как охлаждается? Как его можно обслуживать? Прогресс строится на тех кто верит , а не на тех кто не верит. Еслиб мы сидели и зачитывались книжками предшественников, так бы и сидели на паровой тяге по сегоднешний день ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTПрогресс строится на тех кто верит , а не на тех кто не верит. Еслиб мы сидели и зачитывались книжками предшественников, так бы и сидели на паровой тяге по сегоднешний день Пфф... прогресс. А я когда в школе учился, наивный верил что у машин КПД - 90-95%. Не разбивай мои детские идеалы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:32 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Получит ли модифицированная версия движка VX адаптируемый вариатор подбирающий размеры блоков ? Кстате недавно выяснялась одна проблемка в движке Barbaris Compressor V32, которую пронаследовал движок VX. Проблемка была найдена чисто теоритически, как исчезающе маленькая вероятность получить коррумпированные данные. Поэтому спустя десятки тестирований, перезаполнениями десятками миллионов рандом ключей и перетестирование всей таблицы после каждого добавленого ключа, на предмет что все ключи все еще на месте. Но вот при очередном перетестировании, двигатель который икор7 гонял на десятках миллионов ключей 1,5 часа, эта теоретическая проблемка в модуле распознования свой/чужой проявилась . Решение пока что не найдено, так что пришлось сделать небольшую заплатку, увеличив размер кода с 8 до 16 бит, по моим расчетам проблемка может проявится при заполнении таблицы сотнями миллиардов ключей, или больше. Так что пока скажу просто "похуй" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 15:46 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Кхе... вобщем так. В продолжение банковских налоговых номеров. Уточню постановку. Это embedded db, которая должна подняться на мобильном устройстве. В условиях ограниченнной памяти. Или даже не embedded db а скорее витрина доступа к данным которые были выгружены из продакшен ДБ. Основная цель - выбрать методы упаковки 1 таблицы с небольшим числом колонок. В данном случае - 1 колонка. На глаз, ничего не меряя составил список тестов алгоритмов которые надо будет прогнать. Всё пока приблизительно +- 20% погрешности допускаю. AlgorithmTable SizeCompressed ratioCreation timeRandom access time Iterator supportOrdered iterationUpdate/deleteFlat Table(CSV)33M 1.0++-Gzipped flat table10M 0.33++(forward)-Bitmap4M?+++Gzipped differencial numbers(LZW)??++(forward)-Ariphmetic differencial numbers??++(forward)-RadixTree??+?+(возможно)Bloom Filter(adaptive accuaracy)??---Bloom Filter(with exception table)??--- Тестовые данные были получены как генерация случайных ИНН в диапазоне от 1947 до 1996 года рождения физ.лиц с пропорциональной гистограммой распределения групп в количестве 10% трудоспособного населения страны. Это прибл. 3.2 млн rows. В формате CSV - это 33М. Что еще не учтено? Не учтена гистограмма регистраций в налоговой. Она нелинейна по годам. И не учтен метод генерации трехзначного серийного сомера. Я брал просто последовательность от 0 до 999. Не учтено существование "битых" ИНН с неровной CRC. Фактически они существуют в небольшом количестве но я на них пока забил. По поводу алгоритмов. Gzipped differencial numbers - пока не знаю как пред-обработать. Подавать на вход текстом - как-то некошерно. Это лишняя трансформация. Нужен более нативный подход. Ariphmetic differencial numbers - у меня реально нету. Где его взять имплементацию в Java да еще и со свободной лицензией - пока не представляю. Но это была бы конфетка. На последние два я делаю ставку. Они должны выехать в первое место после битмапы по степени сжатия. С точки зрения удобства транзакций Блум представляет собой самый тяжелый случай. Итератора нет. И принципиально (!) невозможно сделать delete. Можно грохнуть всё и прогрузить заново но меня это вобщем-то устраивает т.к. embedded DB будет read only. Есть также эффект стохастичных ложных срабатываний на большом количестве ключей но я буду с этим бороться пользуясь тем что множество ИНН - счётное а не бесконечное и я могу прогнать тест по всем номерам и выявить ложные и внести их в exceptions либо просто подрегулировать коэффициент размера и количества ключей. Вот вобщем-то и всё. Почему я взял ИНН ? Пох. Я мог брать любые базы которые могут быть востребованы (в планах поддержать DB Maxmind, DB Vendors hardware address, DB префисов мобильной и городской телефонии а также (няшечка!) БД Российских налоговых номеров. У них там немножко хитрее и разрядность повыше. Ukranian ИНН просто попались под руку первые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:16 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTА лучше выделить вообще в твоей задаче один уровень, массив на 65лет*12мес*31день = 24 180 ячеек. В каждой ячейке будет список людей которые родились в один день :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:26 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Мне нужна числовая оценка. Что за ячейки? Сколько каждая из них займет? Сколько будет в сумме с учётом всяких эффектов экстента и служебных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:32 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Каждая ячейка это указатель (4 байта) на список пользователей ровшихся в этот (номер) дня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:44 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Хм.. всё равно не могу прикинуть размер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:49 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Дни рождений займут 88 кб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 00:54 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Я не вижу особого резона бить по дням. Например ты группируешь Код: sql 1. 2. 3. 4. 5. 6. По дням. 29347 *** * * 29348 *** * * Но я с таким-же успехом могу групиировать по десятку дней. 2934* *** * * И получу тоже какой-то бенефит. Весь спор в том кто выгадает больше. RadixTree это всё обобщает до невообразимых высот. Правда у меня к сожалению нет его имлементации которая сериализирует дерево на диск. Без этого оценить трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:01 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
По поводу Serial. Забудь что я говорил про sequence. Никакой последовательности там нет. В силу неразберихи и бардака в налоговых службах. Скорее всего Киев делегировал областям поддиапазоны (пример Харьков [200..250], Днепропетровск [250...310] e.t.c). И вводили как бог даст. Централизованной БД не было. Я помню тот день когда я пришёл в обл. исполком. и какая-то тётка вбивала в ДБФ-аля-Турбо-Вижн налоговые анкеты. И никаким модемом с сеткой и близко не пахло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:07 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Это фейспалм какойто Вот тебе код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Доступ PersonList persons = day[номер дня рождения]; Что тут еще не понятного ? Серализация - сброс массива на диск Доступ - взятие по индексу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:21 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Хм.. 3.2 млн * 3 * 4 байта = 38M. Многовато для мобильного девайса. Да и в память прогружать нет особого смысла. Я ведь не гонюсь за наносекундами. Мне хоть клиент будет ждать 3-5 сек. пофиг. А если ему крутящуюся анимацию рисовать то и вообще согласен минуту терпеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:27 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
как бы сказал Дивижин, блджад. maytonБаз. Давай задачу подкину. Сколько нужно памяти чтобы быстро отделять клиентов бан ка от не-клиентов? 1) Для простоты считаем что клиенты идентифицируются Украинскими ИНН. Это целые вида: [0000000000...9999999999] Первые 5 цифр - это дата рождения клиента в виде количества дней с 1900 года (плюс минус 1 день не помню точно). Клиентом может быть чел достигший 16 лет и (хе-хе) желательно не старше 100 лет ибо нефих. Клиенты - обычное не все люди а какой-то процент от всех налогоплательщиков к примеру (1-5%). Но система должна иметь возможность зарегистрировать и всё 100% населения если возникнет необходимость (банк стал гос-банком). Население Украины составляет 45 633 600 чел за 2012 год по данным wiki. 2) Предусмотреть расширение структуры для случая с Гос-Банком. Вот так вот. Первые 5 цифр сжимаются константно до 80 килобайт (показал как!) Остаются еще 5 цифр. 5 цифр кодируются 17ти битами. Итого: 80 кб + 3.2 * 17 / 8 = 7.6 мб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:50 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
7.6 Мб. Это твоё "заднее" слово? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 01:59 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
mayton7.6 Мб. Это твоё "заднее" слово? Если база ридонли, могу пожать задачу ММ 3Б Лопушком. В мегабайт вложимся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:04 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Cool... А есть Java-имплементация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:05 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
по дефолту, методами которые лежат "на поверхности", 7.6 мегабайт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:05 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
maytonCool... А есть Java-имплементация? нет, и некогда делать. Короче делай сам, реально задача ОЧЕНЬ простая. Вырожденное в массив РадиксТри. К 7.6 мегабайт жмется легко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:08 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
RadixTree традиционно используется для умных Combo-Boxes при наборе префиксов. Те имплементации что я смотрел просто прогружают справочники из БД целиком в оперативку и испольуют. А у меня интерес - сериализовать их оптимально. Такую реализацию я еще не находил. Пару дней потрачу на поиск - потом плюну и поломаю исходники http://www.badgenow.com/p/radixtree/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:11 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
Я тут немножко поправил цифры. Забыл что я сливал в файл несортированные INN. После ранжирования и gzip как-то лучше сработал. AlgorithmTable SizeCompressed ratioCreation timeRandom access time Iterator supportOrdered iterationUpdate/deleteFlat Table(CSV)33M 1.0++-Gzipped flat table6.5M0.19++(forward)- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
А что ты будешь делать с этими ИННами ? Будешь просто определять есть в списке, нет в списке при вводе пользователем ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:29 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
В изначальной постановке - определения клиентов банка - это так. Но даже в такой постановке (фильтр свой-чужой, файрвол, база угнанных авто, краденые паспорта) реализация может быть полезной. Хотя-бы как одна из фаз поисковой операции. Или как проксирование поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 02:35 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlSTЧестно гря, с формулой сразу сообразить тяжело. На практике: Вероятность ~0.05832, или примерно один к двадцати. Вообще-то от распределения случайной величины зависит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 09:12 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
MasterZivBAZlSTЧестно гря, с формулой сразу сообразить тяжело. На практике: Вероятность ~0.05832, или примерно один к двадцати. Вообще-то от распределения случайной величины зависит... формулы есть, генераторы псевдослучайных тоже их подтверждают с небольшой погрешностью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 15:10 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
BAZlST, есть относительная частота и вероятность. Это вобщем-то не совсем одинаковы вещи. Вобщем Теорема Бернулли тебе в помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 17:38 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
FVMas 3.1.0 выпусе 2 - лучшая СУБД в мире! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2013, 18:20 |
|
||
|
Лучшие задачи проекта
|
|||
|---|---|---|---|
|
#18+
[quot mayton] AlgorithmTable SizeCompressed ratioCreation timeRandom access time Iterator supportOrdered iterationUpdate/deleteFlat Table(CSV)33M 1.0++-Bitmap??+++ Здесь я гоню. И никто за руку не схватил. Для битмапы размер считается по свободным слотам. Хехе... 1 0 000 000 000 / 8 = 1 250 000 000 bytes = 1G ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2013, 12:54 |
|
||
|
|

start [/forum/topic.php?all=1&fid=56&tid=2015281]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
162ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 496ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...