Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Речь идёт о двоичном представлении числа. Классические реализации известны Код: plaintext 1. 2. 3. 4. 5. 6. или реализации основанные на принципе "разделяй и властвуй" описанные, например, в книге Генри Уоррена "Алгоритмические трюки для программиста" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и т.д. Прочитал что существуют методы в Си и С++ аналогичного назначения. И если объект bitset и метод count() я нашёл в стандарте С++, то функции __builtin_popcount в стандарте языка Си нет. Хотя может быть не в той документации искал. Пользовались ли вы такими функциями и правильно ли я понимаю, их вызов требует меньшего времени по сравнению с классическими реализациями показанными выше ? Интересно, существовали ли раньше методы шифрования использующие данную характеристику ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 07:03 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Возможно таблицами быстрее будет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 09:10 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
__builtin_popcount - это "встроенная функция" для GCC только под х86, генерирует соответствующую машинную команду popcnt . Непереносимо на другие архитектуры/компиляторы, есть аналог для msvc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 09:20 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Из набора SSE4 есть такая штука. Тут можно найти описание POPCNT. https://software.intel.com/sites/default/files/c8/ab/17971-intel_20sse4_20programming_20reference.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 13:44 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Спасибо! Скоро протестирую. Прошу прощение, уже 10 минут не могу понять почему строка выделенная желтым не работает корректно(отправляет на поток 0 к значению веса Хемминга). Подскажите пожалуйста в чём ошибка. Хотя скорее всего это не ошибка, а нормальная работа, и я что-то забыл Код: 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. Если поменять местами get_HW(x) и x то всё ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 03:37 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
а, long long x затирает память под get_HW(). Прошу прощение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 03:39 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Кстати. Почему данную характеристику иначе называют "population count" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 07:45 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Видимо, сколько битиков живут в слове. Что за формат такой %i ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 08:18 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Для x формат должен быть %ll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 08:23 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
MasterZivSashaMercury, Видимо, сколько битиков живут в слове. Что за формат такой %i ? ну может быть :) с форматом разобрался, спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 08:41 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
MasterZivЧто за формат такой %i ? Отвечу сам себе, посмотрев в документации: %i - полный аналог %d. Я этого не знал, всю жизнь использовал %d и не жужжал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 13:08 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
MasterZivMasterZivЧто за формат такой %i ? Отвечу сам себе, посмотрев в документации: %i - полный аналог %d. Я этого не знал, всю жизнь использовал %d и не жужжал. я подумал что это был риторический вопрос в контексте "что за i если должно быть lli" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 13:50 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. На прошлой неделе стал решать такую задачу . Вообще говоря, требуется найти m элемент такой последовательности . Приводится слабая оценка . Например при m= это приближение даёт 5120, а должно быть 5981. В целом, я представляю как решить эту задачу. Но данное решение требует предварительные вычисления(объём которых больше, чем мне хочется) и не кажется мне хорошим/красивым/правильным(с точки зрения как реализации, так и алгоритма). Может быть у кого-нибудь есть идеи как лучше подступиться к решению данной задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 08:04 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
вычисление 100000000 значений у меня занимает 0,7сек весь диапазон 2*10^9 делим на 20 частей и заранее вычисляем 20 значений ключа не очень красиво, но тест пройдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 08:49 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Slaвычисление 100000000 значений у меня занимает 0,7сек весь диапазон 2*10^9 делим на 20 частей и заранее вычисляем 20 значений ключа не очень красиво, но тест пройдет Если делить по 100 000 000 то потребуется порядка 300 участков. Собственно это и пришло в голову. Кроме того, возникнут нюансу связанные с тем, что первое число не всегда 1. Они конечно решаются, но слишком много предварительных вычислений в итоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 08:57 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
не подойдет вариант первое число может быть 4, его вообще в последовательности нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 09:05 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Slaне подойдет вариант первое число может быть 4, его вообще в последовательности нет это все решается. Хранятся промежуточные массивы которые принадлежат всем возможным последовательностям, т.е. каждый слой шириной 10^8 элементов хранится массив из 30 элементов с некоторыми характеристиками. Например так. Остальной ерунда, и дело техники. Но это очень некрасивый способ, и мне очень не хочется его использовать. Наверняка должно быть хорошее решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 09:10 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Кстати, __popcnt64 не работает в MVS Express 2013. Возможно из-за версии express, т.к.__popcnt и popcnt16 работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 04:47 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercury, __popcnt64 не работает на 32х битной платформе, только в х64. Не знаю как 2013, но раньше Express действительно не поддерживал компиляцию под 64 бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:18 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
вычислить значение ключа через 2 000 000 000 минут на С (mingw) считает за 20,2 сек на asm считает 4,2 сек Код: 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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:19 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Barlone, IDE такой функции не знает. У меня 64 битная платформа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:55 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Sla, а нужно за секунду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:57 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SSm_Sla, а нужно за секунду :) хотя наверняка можно быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:59 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
popcount2() из первого поста быстро работает Код: plaintext 1. 2. 3. 4. 5. результатx=2000000010 time: 620 ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:06 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Вариант m_Sla с таблицей 17785880 немного быстрее тест popcount3()x=2000000010 time: 460 ms popcount3() Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:21 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Dima T, у тебя цикл неправильный у правильного в конце х = 34179892637 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:27 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Это хорошо. Но даже если мы будем складывать 10^9 единиц в цикле, нам не хватит одной секунды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:28 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryBarlone, IDE такой функции не знает. У меня 64 битная платформа.не сильно большая проблема __popcnt64 = __popcnt32 + __popcnt32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:38 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_SlaSashaMercuryBarlone, IDE такой функции не знает. У меня 64 битная платформа.не сильно большая проблема __popcnt64 = __popcnt32 + __popcnt32 а аргумент у функций правой части какой ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:42 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_SlaDima T, у тебя цикл неправильный у правильного в конце х = 34179892637 Неправильно условия почитал, думал результат не более 2*10^9 Поправил цикл Код: plaintext 1. 2. 3. 4. Результатx=34179892637 time: 9053 ms В норматив по времени не укладывается :( popcount3(long long x) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:43 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercurym_Slaпропущено... не сильно большая проблема __popcnt64 = __popcnt32 + __popcnt32 а аргумент у функций правой части какой ?) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:50 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
ИМХУ невозможно за секунду посчитать 2 млрд. итераций: частота самого быстрого проца 4 ГГц, считаем что за один такт выполняется 1 команда, получается надо чтобы одна итерация была не более 2 команд. Надо либо параллелить (хз как), либо искать алгоритм который посчитает без перебора. Саша, зашли на проверку вариант с таблицей, может проскочит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:58 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Dima TИМХУ невозможно за секунду посчитать 2 млрд. итераций: частота самого быстрого проца 4 ГГц, считаем что за один такт выполняется 1 команда, получается надо чтобы одна итерация была не более 2 команд. Надо либо параллелить (хз как), либо искать алгоритм который посчитает без перебора. Саша, зашли на проверку вариант с таблицей, может проскочит :)Соглашусь. Или есть некая закономерность в ряду или использовать заранее просчитанные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:08 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Возможно этот теоретический порог можно поднять если заюзать архитектуру с MCMA . Но стоит ли так сильно оптимизировать? Кто в состоянии так быстро инициализировать такой объем? Не получим-ли мы очередной "Стебелёк" который внутри себя демострируют потрясающие индексы перформанса хотя практически непонятно как их с пользой применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:11 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Dima TИМХУ невозможно за секунду посчитать 2 млрд. итераций: частота самого быстрого проца 4 ГГц, считаем что за один такт выполняется 1 команда, получается надо чтобы одна итерация была не более 2 команд. Надо либо параллелить (хз как), либо искать алгоритм который посчитает без перебора. Саша, зашли на проверку вариант с таблицей, может проскочит :) Может быть. Сейчас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:37 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Дмитрий, на 13 тесте Time limit exceeded ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:47 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДмитрий, на 13 тесте Time limit exceeded Значит надо изобретать алгоритм без перебора. Искать какие-то зависимости у этой последовательности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:56 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
закономерность есть, похоже ряды от произвольных чисел вливаются в ряд от 1 ряд от 1 1, 2, 3, 5, 7, 10, 12, 14, 17, 19, 22, 25, 28, 31, 36, 38, 41, 44, 47, 52, 55, 60, 64, 65, 67, 70, 73, 76, 79, 84, 87, 92, 96, 98, 101, 105, 109, 114, 118, 123, 129, 131, 134, 137, 140, 143, 148, 151, 156, 160, 162, 165, 169, 173, 178, 182, 187, 193, 196, 199, 204 begin time key(time) 1 2000000000 34179892637 2 2000000000 34179892659 3 2000000000 34179892681 4 2000000000 34179892681 5 2000000000 34179892702 6 2000000000 34179892702 7 2000000000 34179892725 8 2000000000 34179892725 9 2000000000 34179892748 10 2000000000 34179892748 11 2000000000 34179892767 12 2000000000 34179892767 13 2000000000 34179892767 14 2000000000 34179892789 15 2000000000 34179892810 16 2000000000 34179892789 17 2000000000 34179892810 18 2000000000 34179892810 19 2000000000 34179892830 begin time key(time) 100 2000000000 34179893341 101 2000000000 34179893362 102 2000000000 34179893362 103 2000000000 34179893362 104 2000000000 34179893362 105 2000000000 34179893382 106 2000000000 34179893382 107 2000000000 34179893382 108 2000000000 34179893382 109 2000000000 34179893401 110 2000000000 34179893401 111 2000000000 34179893442 112 2000000000 34179893401 113 2000000000 34179893442 114 2000000000 34179893421 115 2000000000 34179893421 116 2000000000 34179893421 117 2000000000 34179893461 118 2000000000 34179893442 119 2000000000 34179893461 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 10:53 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Slaзакономерность есть, похоже ряды от произвольных чисел вливаются в ряд от 1 опередил :) я тоже самое заметил Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. результат... k=99799 x=100009 time: 6469 ms k=99800 x=100007 time: 6469 ms Дальше таблицу контрольных точек и по выходу на точку расчет по таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:22 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
с заранее рассчитанными значениями считает за 0,6-0,7 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 13:41 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Вы говорите, что начиная с какого-то шага h любая последовательность (n,k) будет совпадать с последовательностью (1, k+m). Всегда ли это будет так ? Я не был уверен, потому предлагал хранить слой точек через интервалы. Но допустим так. Допустимый интервал решений от 2 до 20*10^9. Пусть контрольные точки будут расположены каждые 10^8. Т.е. потребуется хранить 200 точек a[i],i=0..199. Пусть n находится в интервале (a[i],a[i+1]). Можно ли быть уверенным что (n,k) будет пересекаться с (1, k+m) в точке a[i+1]. Не обязательно. А с a[i+2] ? Тоже не обязательно. А с a[i+3] ? Метод с использованием слоёв более трудоёмок с точки зрения предварительных вычислений, но зато обоснован. Этот метод не представляется таким, тем не менее попробую его реализовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 02:32 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Число точек я завысил конечно. Программу написал, пока аналогично TLE. Сейчас ещё раз протестирую и выложу. Кстати, странно, но в этой функции Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 20000000000 нужно писать именно так, если я пишу 20*1000000000 то цикл не выполняется. Видимо переполнение. Позже разберусь, пока нужно понять почему TLE и сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 04:37 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
засчитали задачу быстродействие на грани фола первый раз отправил 1,184 сек - не приняли второй раз (ни чего не менял) 0,858 - приняли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 05:51 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Sla, шаг сетки 10^8 ^ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:02 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Slaзасчитали задачу быстродействие на грани фола первый раз отправил 1,184 сек - не приняли второй раз (ни чего не менял) 0,858 - приняли :) поздравляю C: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:02 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
вроде сдал, пять минут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:11 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
m_Sla, тоже сдал, но с шагом 5*10^7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:19 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:31 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:36 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Только заметил что popcount не совсем корректно написана. Исправил. Код: 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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 06:45 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
для mingw переписал popcount использует процессорную команду popcnt Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 07:49 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Угу, у меня также. Я вчера пробовал использовать эту функцию на том ресурсе. Несмотря на то, что формально мы сдали задачу, я не уверен что оно правильное. Мы не можем предсказать сколько времени будет выполняться данный цикл Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 09:16 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryМы не можем предсказать сколько времени будет выполняться данный цикл Можно взять генератор случайных чисел и запустить поиск максимума. Думаю максимум будет примерно STEP + 1-3%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 09:47 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Прикольнулся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 12:09 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
mayton Код: plaintext 1. Прикольнулся? Почему ?) Такая запись кажется мне более красивой, нежели Код: plaintext 1. Но если бы я знал наверняка, что второй вариант быстрее, то использовал бы только его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 03:32 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
Странно. Задачу мы сдали довольно легко (путь даже не так как я хотел). И сложность у этой задачи самая большая на том ресурсе. Помню мы как-то решали эту задачу . Тут мы её обсуждали .Сложность у неё в полтора раза меньше (судя по процентам на том сайте), но решение намного сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 03:41 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
SashaMercury, на самом деле я тоже не знаю во что конкретный компиллятор собирает выражение Код: plaintext 1. Но оно очень похоже на присвоение. Сторонний дев который не знает С++ при реверсе кода может решить что это хитрое присвоение минус 1. Или хитрая проверка. Недавно на Groovy/DSL семинарах мы рассмотрели такое выражение. Код: plaintext 1. 2. 3. Разработчики, незнающие С++/Java/Groovy делали для себя вывод что это цикл "пока икс стремится к нулю". Вобщем эдакий себе софизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 10:24 |
|
||
|
Вес Хэмминга: реализация и некоторые вопросы.
|
|||
|---|---|---|---|
|
#18+
В нашем городе нет семинаров по Си и программированию вообще (к сожалению), но рассмотренный пример для любого программиста (даже для меня) разве не тривиальный ? PS Марк, взял бы и выложил задачи что вы там разбирали в отдельном топике ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 01:44 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018938]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 443ms |

| 0 / 0 |
