|
|
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. На выходных читал Stiven S. Skiena ADM, встретил несколько задач. Некоторые совершенно простые, но тем не менее попадались интересные. Например задача 2-45. Вероятно правильный ответ , получается как частичная сумма гармонического ряда (вероятностей того, что текущий элемент будет меньше уже пройденных), однако с другой стороны, если сравнивать текущий элемент только с текущим минимумом можно получить , что вероятно не верно. Однако почему оно не верно и как это объяснить языком теории вероятности я не знаю. Задача 2-43 интересная, но как решить её мне неизвестно. Вероятно нужно использовать некую функцию в которой присутствует n и k, хотя возникает вопрос, как при просмотре последнего элемента в исходном множестве, в том случае если в целевом множестве не будет хватать одного элемента вероятность может быть меньше 100%. Если у вас есть идеи по поводу этих задач, было бы интересно послушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 04:39 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Вообще для задачи 2-43 я бы использовал метод Монте-Карло, это был бы идеальный вариант, но вероятно предполагается последовательный перебор элементов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 04:41 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Что-то я 43 вообще не понял. Выбрать k элементов из множества в n элементов, чтобы вероятность выбора каждого была k/n? Так она и будет k/n, какие бы элементы мы ни выбрали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:03 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tanglirЧто-то я 43 вообще не понял. Выбрать k элементов из множества в n элементов, чтобы вероятность выбора каждого была k/n? Так она и будет k/n, какие бы элементы мы ни выбрали... Дано множество . Необходимо заполнить множество элементами из множества S. При этом вероятность того, что каждый элемент из S будет принадлежать подмножеству должна быть одинакова. Вы можете сделать только один проход по элементам множества S чтобы заполнить целевое подмножество. Должно быть примерно следующее Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:20 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Кроме того, скорее всего в так называемой probability function будет участвовать счётчик прохода и текущая наполненность множества S'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:22 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryесли сравнивать текущий элемент только с текущим минимумом можно получить это как? текущий минимум ведь зависит от предыдущих элементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:25 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryПри этом вероятность того, что каждый элемент из S будет принадлежать подмножеству должна быть одинакова.Что тут подразумевается под "вероятностью"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:28 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tanglirSashaMercuryесли сравнивать текущий элемент только с текущим минимумом можно получить это как? текущий минимум ведь зависит от предыдущих элементов. Понимаю что нужно выбирать из всех элементов до него. Потому и получается частичная сумма гармонического ряда, о чём я написал с самого начала. Но допустим я отброшу это, и скажу, что я просто буду сравнивать текущий минимум с текущим элементом, тогда вероятность будет 0.5. Если так делать нельзя, то как это объяснить нормальным языком теории вероятности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:45 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tanglirSashaMercuryПри этом вероятность того, что каждый элемент из S будет принадлежать подмножеству должна быть одинакова.Что тут подразумевается под "вероятностью"? что у каждого элемента одинаковые шансы попасть в спасительную шлюпку S' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 08:46 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
>тогда вероятность будет 0.5 В задаче же ни слова о динозаврах, да и вы, наверное, не блондинка - откуда же такие предположения? >Если так делать нельзя, то как это объяснить нормальным языком теории вероятности Зависимые/независимые события . SashaMercuryчто у каждого элемента одинаковые шансы попасть в спасительную шлюпку S'То есть вся соль в "n is unknown". Тогда да, интересная задачка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 10:15 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tanglir>тогда вероятность будет 0.5 В задаче же ни слова о динозаврах, да и вы, наверное, не блондинка - откуда же такие предположения? >Если так делать нельзя, то как это объяснить нормальным языком теории вероятности Зависимые/независимые события . SashaMercuryчто у каждого элемента одинаковые шансы попасть в спасительную шлюпку S'То есть вся соль в "n is unknown". Тогда да, интересная задачка. я не фанат теории вероятности, но знаю что над той блондинкой с динозавром смеяться не стоит. Это не предположения, а размышление об обосновании некорректности рассуждений, правильный ответ(на мой взгляд) я написал сразу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 10:25 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury, а если n известен ? Тут всё просто ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 10:26 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury, ну на объём используемой памяти ограничений же нет. Генерируем массив с нужным количеством различных случайных чисел (от 1 до n), потом в один проход... эээ... проходим по исходному множеству и выбираем элементы с соответствующими номерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 10:40 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tanglirSashaMercury, ну на объём используемой памяти ограничений же нет. Генерируем массив с нужным количеством различных случайных чисел (от 1 до n), потом в один проход... эээ... проходим по исходному множеству и выбираем элементы с соответствующими номерами. ну а если сгенерируются одинаковые случайные числа ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:08 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
'массив с нужным количеством различных случайных чисел ' Как такое сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:13 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryну а если сгенерируются одинаковые случайные числа ? игнорируй повторы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:18 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Перед добавлением числа в массив проверять наличие в нем оного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:19 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Поскольку официальный язык форума - русский я настоятельно рекомендую сейчас, и впредь использовать 2 варианта постановки задачи. А именно: 1) Оригинал на иностранном . 2) Русскоязычный перевод постановки топик-стартера приближённый к оригиналу настолько насколько это возможно. Игнорирование этого правила - я считаю лицемерием и попыткой показать своё умственное превосходство над остальными. Надеюсь мой посыл будет услышан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:20 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryну а если сгенерируются одинаковые случайные числа ? игнорируй повторы Тогда мне не нравится этот вариант. Какое-то 'грязное' решение. Неужели нет другого ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:27 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryТогда мне не нравится этот вариант. Какое-то 'грязное' решение. Неужели нет другого ? Насколько я знаю нет ГСЧ без повторов, рано или поздно повторы будут. Так что другого нет. Изобретай наиболее оптимальный способ отлова повторов: 1. Биткарта. Работает быстро, но при большом диапазоне займет много места. 2. Заполняешь, сортируешь, в один проход проверяешь на повторы, заменяя повторы на новые случайные, затем снова сортируешь, проверяешь и т.д. пока проверка не покажет что повторов нет. Лишнего места не займет, но будут затраты на сортировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:37 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryТогда мне не нравится этот вариант. Какое-то 'грязное' решение. Неужели нет другого ? Насколько я знаю нет ГСЧ без повторов, рано или поздно повторы будут. Так что другого нет. Изобретай наиболее оптимальный способ отлова повторов: 1. Биткарта. Работает быстро, но при большом диапазоне займет много места. 2. Заполняешь, сортируешь, в один проход проверяешь на повторы, заменяя повторы на новые случайные, затем снова сортируешь, проверяешь и т.д. пока проверка не покажет что повторов нет. Лишнего места не займет, но будут затраты на сортировку. проход только один. Предполагается именно цикл по элементам, и какая-то функция, сомневаюсь что корректное решение такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:41 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryпроход только один. Предполагается именно цикл по элементам, и какая-то функция, сомневаюсь что корректное решение такое С биткартой в один проход отработает. Если надо выбирать из исходного множества и оно после не нужно, то после выборки заменять исходное на недействительное значение, например -1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:46 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
maytonПоскольку официальный язык форума - русский я настоятельно рекомендую сейчас, и впредь использовать 2 варианта постановки задачи. А именно: 1) Оригинал на иностранном . 2) Русскоязычный перевод постановки топик-стартера приближённый к оригиналу настолько насколько это возможно. Игнорирование этого правила - я считаю лицемерием и попыткой показать своё умственное превосходство над остальными. Надеюсь мой посыл будет услышан. Аргументация тут следующая, 1) английский тут совершенно не сложный, 2) любой IT-специалист должен знать английский язык на таком уровне, 3) и я уже как-то говорил о том, чем москвич отличается от деревни(мне она больше нравится, кстати), он не стесняется спросить как пройти на какую-нибудь Волхонку 20 или куда-нибудь ещё. Ну и в конце концов, если непонятно кому-то, пусть человек попросит, переведут. У нас в Сообществе(CPP, конечно), целый топик, где я задаю вопросы о том как перевести те или иные вещи из стандарта. ... 'лицемерием и попыткой показать своё...' вы знаете что это не так, Марк. К следующим задачам(наиболее трудным для понимания) добавлю перевод, к этим смысла уже нет, одна совсем простая, а другую уже перевел выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 13:51 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
На том спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 14:01 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
maytonНа том спасибо. ну ладно вам. Лучше бы предложили какую идею :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 14:08 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Какую? Свою? У меня щас идея - как заставить миллиард китайцев вместо Captcha решать задачи области ИИ и краудсорсинга. И мне это во много раз интереснее чем академические задачки. Мир сложнен и многообразен. Как можно изучая Скиенну изучать It? Никак. It можно знать только приобщаясь к полезным стартапам и задачам нашего времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 14:12 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
mayton Как можно изучая Скиенну изучать It? Никак. SashaMercury - можно можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2015, 19:16 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Интересно получается, для поиска минимума или максимума необходимо перебрать n элементов, а обновлять значение переменной в которой этот минимум хранится потребуется на порядок раз меньше. Например для 1.000.000.000.000 элементов потребуется в среднем 28 обновлений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 01:47 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryИнтересно получается, для поиска минимума или максимума необходимо перебрать n элементов, а обновлять значение переменной в которой этот минимум хранится потребуется на порядок раз меньше. Например для 1.000.000.000.000 элементов потребуется в среднем 28 обновлений. Интересно в том контексте, что от этой избыточности(если это можно так назвать) было бы здорово избавиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 02:18 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryТогда мне не нравится этот вариант. Какое-то 'грязное' решение. Неужели нет другого ? Насколько я знаю нет ГСЧ без повторов, рано или поздно повторы будут. Так что другого нет. Изобретай наиболее оптимальный способ отлова повторов: 1. Биткарта. Работает быстро, но при большом диапазоне займет много места. 2. Заполняешь, сортируешь, в один проход проверяешь на повторы, заменяя повторы на новые случайные, затем снова сортируешь, проверяешь и т.д. пока проверка не покажет что повторов нет. Лишнего места не займет, но будут затраты на сортировку. Кстати, обладает ли такой алгоритм свойством конечность? Особенно при достаточно больших n и k ? Как долго он может выполняться ? Судя по всему я нашёл решение данной задачи. Например алгоритм R Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Добавлю свой перевод обоснования из w. Согласно алгоритму первоначально необходимо заполнить целевой массив R мощностью k первыми k элементами множества S. Следом необходимо перебрать оставшиеся в S элементы, до тех пор пока они не закончатся. На каждой итерации последнего перебора для каждого элемента s[i] алгоритм генерирует случайное число j из диапазона [1,i]. Если j<=k, то происходит присваивание r[j]<-s[i]. В действительности, на каждой итерации вероятность того, что будет выбран элемент для целевого множества (всего элементов i, хороших k, потому собственно и получаем, прим. пер.). Вероятность того что будет произведена перезапись конкретного элемента j из целевого множества R . Для того чтобы доказать что после окончания алгоритма каждый элемент S имел возможность попасть в целевое множество воспользуемся индукцией. После итерации i-1 вероятность того, что будет выбран элемент для целевого множества. Так как вероятность того что данный элемент будет перезаписан на следующей итерации , вероятность того что он не будет перезаписан на следующей итерации равна.Таким образом, вероятность того что любой элемент из множества S будет присутствовать в целевом множестве после итерации i определяется как произведение двух событий: элемент будет присутствовать в целевом множестве после предыдущей итерации, и не будет перезаписан (будет сохранён) на итерации i. Имеем . Значит результат справедлив для i, и следовательно справедлив по индукции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 06:41 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Вообще-то для большого, но известного n, выборка k значений (где k<<n) делается гораздо проще, без сортировки и за k итераций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 14:03 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВообще-то для большого, но известного n, выборка k значений (где k<<n) делается гораздо проще, без сортировки и за k итераций. Это совсем другая задача ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 15:16 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryDima T2. Заполняешь, сортируешь, в один проход проверяешь на повторы, заменяя повторы на новые случайные, затем снова сортируешь, проверяешь и т.д. пока проверка не покажет что повторов нет. Лишнего места не займет, но будут затраты на сортировку. Кстати, обладает ли такой алгоритм свойством конечность? Особенно при достаточно больших n и k ? Как долго он может выполняться ? Теорию вероятностей помню смутно, поэтому формулами не буду умничать, но при k значительно меньше n вероятность выпадения повтора небольшая, т.е. повторные проходы если и будут, то 1-3, не больше. Самая тяжелая сортировка - первая, т.к. последующие (если будут) сортируют почти отсортированный массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 15:26 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСудя по всему я нашёл решение данной задачи. Например алгоритм R Можно поправить алгоритм и будет работать с интервалом 1...n. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Только при k значительно меньше n мой велосипед может оказаться быстрее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2015, 15:33 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryпропущено... Кстати, обладает ли такой алгоритм свойством конечность? Особенно при достаточно больших n и k ? Как долго он может выполняться ? Теорию вероятностей помню смутно, поэтому формулами не буду умничать, но при k значительно меньше n вероятность выпадения повтора небольшая, т.е. повторные проходы если и будут, то 1-3, не больше. Самая тяжелая сортировка - первая, т.к. последующие (если будут) сортируют почти отсортированный массив. Допустим у нас 10 чисел, нам нужно выбрать три. Как долго мы будем случайно выбирать числа прежде чем у нас будет три уникальных ? А если числе 10^12 а уникальных нужно 10^12 - 1. Можем ли мы утверждать что если мы просто будем пропускать повторы мы за обозримый период времени получим множество уникальных чисел ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 06:20 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury Допустим у нас 10 чисел, нам нужно выбрать три. Как долго мы будем случайно выбирать числа прежде чем у нас будет три уникальных ? Исходим из того что ГСЧ выдает числа с равной вероятностью. Как с помощью теории вероятности посчитать не знаю, делаем проще. Тест Код: plaintext 1. Результат5,10,1,1,9,6,6,7,6,9,7,4,3,5,7,5,5,10,2,8,9,9,1,5,10,7,8,4,4,5 в худшем случае 3 прохода для последовательности 5,7,5,5,10 SashaMercuryА если числе 10^12 а уникальных нужно 10^12 - 1. Можем ли мы утверждать что если мы просто будем пропускать повторы мы за обозримый период времени получим множество уникальных чисел ? При 2k > n быстрее решать обратную задачу: выбрать лишние. Это решается в один проход: выбираем одно лишнее, оставшиеся 10^12 - 1 требуемый результат :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 07:57 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercury Допустим у нас 10 чисел, нам нужно выбрать три. Как долго мы будем случайно выбирать числа прежде чем у нас будет три уникальных ? Исходим из того что ГСЧ выдает числа с равной вероятностью. Как с помощью теории вероятности посчитать не знаю, делаем проще. Тест Код: plaintext 1. Результат5,10,1,1,9,6,6,7,6,9,7,4,3,5,7,5,5,10,2,8,9,9,1,5,10,7,8,4,4,5 в худшем случае 3 прохода для последовательности 5,7,5,5,10 где гарантия того что в следующий раз не потребуется 10 проходов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 08:14 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryгде гарантия того что в следующий раз не потребуется 10 проходов ? Нужны гарантии: берешь и гоняешь алгоритм в цикле, собирая статистику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 08:20 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryгде гарантия того что в следующий раз не потребуется 10 проходов ? Нужны гарантии: берешь и гоняешь алгоритм в цикле, собирая статистику. Тогда мы говорим о статистике. Ни о чём более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 10:07 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SS Судя по всему я нашёл решение данной задачи. Например алгоритм R Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Добавлю свой перевод обоснования из w. Согласно алгоритму первоначально необходимо заполнить целевой массив R мощностью k первыми k элементами множества S. Следом необходимо перебрать оставшиеся в S элементы, до тех пор пока они не закончатся. На каждой итерации последнего перебора для каждого элемента s[i] алгоритм генерирует случайное число j из диапазона [1,i]. Если j<=k, то происходит присваивание r[j]<-s[i]. В действительности, на каждой итерации вероятность того, что будет выбран элемент для целевого множества (всего элементов i, хороших k, потому собственно и получаем, прим. пер.). Вероятность того что будет произведена перезапись конкретного элемента j из целевого множества R . Для того чтобы доказать что после окончания алгоритма каждый элемент S имел возможность попасть в целевое множество воспользуемся индукцией. После итерации i-1 вероятность того, что будет выбран элемент для целевого множества. Так как вероятность того что данный элемент будет перезаписан на следующей итерации , вероятность того что он не будет перезаписан на следующей итерации равна.Таким образом, вероятность того что любой элемент из множества S будет присутствовать в целевом множестве после итерации i определяется как произведение двух событий: элемент будет присутствовать в целевом множестве после предыдущей итерации, и не будет перезаписан (будет сохранён) на итерации i. Имеем . Значит результат справедлив для i, и следовательно справедлив по индукции. Сразу не стал писать, но вот что меня смутило. В доказательстве чётко выделены события которые приведут к тому, что после i итерации элемент будет в целевом массив. Однако к таким событиям почему-то не отнесли вероятность того что конкретный элемент появится в целевом массиве именно на i итерации. Непонятно почему это не оговаривается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 04:58 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Решал на днях несколько задач. По трём из них у меня возникли некоторые вопросы. Возможно у кого-то будут соображения. Перевод. Первая задача не требует перевода, добавлю перевод 2 и 3: 4 -29 Некий Мистер Дал утверждает что разработал новую структуру данных типа очередь с приоритетом. Данная структура поддерживает операции Insert, Maximum, Extract Maximum, каждая из этих операций имеет асимптотику О(1). Докажите что он ошибается. (Подсказка: .... используйте тот факт что время исполнения сортировки 4 -30 БД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко. Предлагается два варианта организации БД: 1. Использовать одномерный массив и бинарный поиск 2. Создать два массива, в первом будет 60% записей(к ним обращение будет чаще всего), во втором остальные 40. Сначала ищем в первом, если не нашли, идём во второй. Бинарный поиск в каждом из массивов. Какой подход лучше? Какой подход лучше если в обоих случаях использовать неотсортированный массив и линейный поиск ? Мои соображения. По задаче 3-28 вопросов практически нет, её можно решить следующим образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Q1) Может быть есть опечатки, но тут всё понятно. Вопрос такой: можно ли решить данную задачу иначе за линейное время(без использования деления) ? Q2) Со второй задачей сложнее. Очевидным был бы следующий ответ: Так как Extract Maximum выполняется за O(1) то в таком случае сортировка возможна за O(n). Но 1. Зачем остальные части условия ? 2. Разве существует доказательство того что сортировка не может быть реализована за O(n) ? Следовательно рассуждаю я скорее всего неверно(при решении данной задачи). Есть ли у вас какие-то идеи ? Q3) Решение третьей задачи кажется совсем простым. В первом случае нужно задать такой вопрос, что лучше, log(n) или 2log(n) ? Конечно лучше хранить всё в одномерном упорядоченном массиве и использовать двоичный поиск. Теперь пусть массивы будут неупорядоченны, и поиск будет линейный. В таком случае лучше разделить массив на два массива, и сначала осуществить поиск в первом массиве, а затем во втором. Но дело в том, что все рассуждения выше, как вы понимаете, относятся только к операции Search. Как провести комплексное рассуждение и сравнение я не знаю. Подскажите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 07:58 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryМои соображения. По задаче 3-28 вопросов практически нет, её можно решить следующим образом:Да, мне с ходу тот-же самый алгоритм придумался. SashaMercuryQ1) Может быть есть опечатки, но тут всё понятно. Вопрос такой: можно ли решить данную задачу иначе за линейное время(без использования деления) ?А это ограничение я не понял. Какое такое деление автор задачи ожидает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 18:15 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryQ2) Со второй задачей сложнее. Очевидным был бы следующий ответ: Так как Extract Maximum выполняется за O(1) то в таком случае сортировка возможна за O(n). Но 1. Зачем остальные части условия ? 2. Разве существует доказательство того что сортировка не может быть реализована за O(n) ? Следовательно рассуждаю я скорее всего неверно(при решении данной задачи). Есть ли у вас какие-то идеи ?Тоже не понял, к чему там подсказка. Я рассуждаю так: а) Если в структуре данных хранится несколько элементов, то эта структура может рассматриваться как массив. В дальнейшем буду использовать это слово и сопутствующую терминологию. б) Чтобы операция Maximum выполнялась за O(1), надо чтобы в данном массиве данных максимальный элемент был всегда четко указан. Это можно сделать двумя способами, либо хранить дополнительно индекс максимального элемента, либо держать в массив в сортированном состоянии. в) Если массив изначально не сортирован, но мы имеем индекс на его максимальный элемент то чтобы выполнялась операция ExtractMaximum выполнялась за O(1) надо чтобы мы могли за O(1) найти новый максимальный элемент после экстракта предыдущего максимума. Значит нам нужно где-то хранить индекс предыдущего во величине элемента. Это проще всего сделать если хранить индекс предыдущего элемента вместе с самим элементами... Вывод - в случае хранения данных не в сортированном виде мы должны хранить его в связном списке. г) Но в случае связанного списка для вставки элемента в правильное место (что бы сохранить сортированность списка), нам понадобится это место найти, а это уже обязательно O(n). д) Если данные хранятся в виде сортированного индексированного массива, то для нахождения максимума достаточно взять его последний элемент, а для нахождения предыдущего максимально - предпоследний. Все просто и легко, Maximum и ExtractMaximum выполняются за O(1). е) А если у нас сортированный индексированный массив, то операция вставки потребует найти те два элемента между которыми надо вставлять новый, а это как минимум O(log n). А потом еще двигать хвост массива чтобы освободить место под новый элемент, а это еще O(n). Таким образом у нас и получается что структура данных у которой все три завяленные операции выполняются за O(1) не получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 18:16 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury 4 -30 БД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко.Не совсем. Там имеется 40% людей которые делают 60% запросов. Это значит что результат поиска "своей" записи надо умножить на частоту обращений. SashaMercuryQ3) Решение третьей задачи кажется совсем простым. В первом случае нужно задать такой вопрос, что лучше, log(n) или 2log(n) ? Конечно лучше хранить всё в одномерном упорядоченном массиве и использовать двоичный поиск. Не совсем... К тому же у нас заранее известен n. В случае одного общего массива мы имеем: 10000*log(10000)=132877.1238. А в случае двух массивов мы имеем: 6000*log(4000) + 4000*log(6000)=71794.7057 + 50202.9871 = 121997.6928 Итого, два массива при бинарном поиске получаются чуть-чуть получше, примерно на 8%. Аналогично для линейного: Общий массив: 10К * 10К = 100М Два массива: 6К*4К+4К*6К= 24К+24К = 48К Выигрыш получается еще больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 18:37 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White OwlSashaMercuryQ1) Может быть есть опечатки, но тут всё понятно. Вопрос такой: можно ли решить данную задачу иначе за линейное время(без использования деления) ?А это ограничение я не понял. Какое такое деление автор задачи ожидает? Самый простой и эффективный алгоритм: все перемножить, затем делить на каждый элемент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 18:52 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White OwlSashaMercury 4 -30 БД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко.Не совсем. Там имеется 40% людей которые делают 60% запросов. Неверный вывод. Сказано "часто", без конкретики, я так понимаю это точно не 60:40, может 100:1 или 1000:1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:00 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНекий Мистер Дал утверждает что разработал новую структуру данных типа очередь с приоритетом. Данная структура поддерживает операции Insert, Maximum, Extract Maximum, каждая из этих операций имеет асимптотику О(1). Докажите что он ошибается. (Подсказка: .... используйте тот факт что время исполнения сортировки Да. Мистер Дал имеет возможность создать такую структуру. Это может быть автомат (конечный?) который имеет входы INSERT, EXTRACT_MAXIMUM... и бесконечное число состояний которое моделирует различные варианты входов. Правда мистер Дал забыл сказать что ему возможно понадобится бесконечно большая память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 19:01 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TWhite Owlпропущено... А это ограничение я не понял. Какое такое деление автор задачи ожидает? Самый простой и эффективный алгоритм: все перемножить, затем делить на каждый элемент.А ну да. Самый простой. Однако не самый эффективный :) Все-таки O(n) против O(n^2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:02 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TWhite Owlпропущено... Не совсем. Там имеется 40% людей которые делают 60% запросов. Неверный вывод. Сказано "часто", без конкретики, я так понимаю это точно не 60:40, может 100:1 или 1000:1 Чего это вдруг неверный? "40% of whom known as good customers and who together account for 60% access to the database". Откуда ты взял вариативность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:05 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White OwlDima Tпропущено... Самый простой и эффективный алгоритм: все перемножить, затем делить на каждый элемент.А ну да. Самый простой. Однако не самый эффективный :) Все-таки O(n) против O(n^2) с чего вдруг O(n^2)? Два прохода: первый перемножить, второй получить результат. Два цикла против трех и никакого лишнего расхода памяти. White OwlDima Tпропущено... Неверный вывод. Сказано "часто", без конкретики, я так понимаю это точно не 60:40, может 100:1 или 1000:1 Чего это вдруг неверный? "40% of whom known as good customers and who together account for 60% access to the database". Откуда ты взял вариативность? Не буду спорить, оригинал не понимаю. Не силен в английском. Пользовался Сашиним переводом: SashaMercuryБД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:30 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TWhite Owlпропущено... А ну да. Самый простой. Однако не самый эффективный :) Все-таки O(n) против O(n^2) с чего вдруг O(n^2)? Два прохода: первый перемножить, второй получить результат. Два цикла против трех и никакого лишнего расхода памяти.О! Да, ты прав. Действительно Код: vbnet 1. 2. 3. 4. 5. 6. 7. Тогда будет \Theta(2n) против \Theta(3n) для варианта без деления. Dima TWhite OwlЧего это вдруг неверный? "40% of whom known as good customers and who together account for 60% access to the database". Откуда ты взял вариативность? Не буду спорить, оригинал не понимаю. Не силен в английском. Пользовался Сашиним переводом: SashaMercuryБД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко.Ну как же вы так? Ай-ай-ай! В нашей профессии английский надо знать как родной. "10К имен, из которых 40% известны как "хорошие клиенты" и кто совместно генерирует 60% запросов к базе" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 20:52 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White Owl SSБД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко. Ну как же вы так? Ай-ай-ай! В нашей профессии английский надо знать как родной. "10К имен, из которых 40% известны как "хорошие клиенты" и кто совместно генерирует 60% запросов к базе" Моё перевод упрощён, но корректен. Дословный перевод будет такой: База данных содержит 10^4 отсортированных имён. (Далее идём of whom, значит 'которых') 40% известны как хорошие клиенты(имена и клиенты в данном случае синонимы) и на них совместно приходится 60% запросов к базе данных. И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 02:03 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White OwlSashaMercury 4 -30 БД содержит 10^4 записей в отсортированном порядке. 60% записей используются часто, остальные 40% редко.Не совсем. Там имеется 40% людей которые делают 60% запросов. Это значит что результат поиска "своей" записи надо умножить на частоту обращений. SashaMercuryQ3) Решение третьей задачи кажется совсем простым. В первом случае нужно задать такой вопрос, что лучше, log(n) или 2log(n) ? Конечно лучше хранить всё в одномерном упорядоченном массиве и использовать двоичный поиск. Не совсем... К тому же у нас заранее известен n. В случае одного общего массива мы имеем: 10000*log(10000)=132877.1238. А в случае двух массивов мы имеем: 6000*log(4000) + 4000*log(6000)=71794.7057 + 50202.9871 = 121997.6928 Итого, два массива при бинарном поиске получаются чуть-чуть получше, примерно на 8%. Аналогично для линейного: Общий массив: 10К * 10К = 100М Два массива: 6К*4К+4К*6К= 24К+24К = 48К Выигрыш получается еще больше. Я выделил красным то место где вы опечатались(или ошиблись, но это повлияло на результат). 1. 1 Пусть у нас один упорядоченный массив из 10000, бинарный поиск даст нам высоту 14. Пусть мы имеем к запросов, итого 14k затрат. 1. 2. Пусть у нас два упорядоченных массива. Первый 4000 элементов, высота поиска 12, второй 6000 элементов, высота 13. Пусть у нас 0,6k запросов на первый массив, 0,4k запросов проходят через первый массив и переходят на второй. Имеем k*(0,6*12+0,4*(12+13))=17,2k затрат. Вывод: в данном конкретном случае, с точки зрения поиска, нет смысла разделять два упорядоченных массива. Но данный анализ неполный, ибо не учтены остальные аспекты, и я не знаю как правильно это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 02:38 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercury1. 2. Пусть у нас два упорядоченных массива. Первый 4000 элементов, высота поиска 12, второй 6000 элементов, высота 13. Пусть у нас 0,6k запросов на первый массив, 0,4k запросов проходят через первый массив и переходят на второй. Имеем k*(0,6*12+0,4*(12+13))=17,2k затрат.Да, так будет правильнее... SashaMercuryНо данный анализ неполный, ибо не учтены остальные аспекты, и я не знаю как правильно это сделать.Да нет. Этот анализ настолько полон насколько у нас есть иноформации о задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 06:13 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
White OwlSashaMercuryQ2) Со второй задачей сложнее. Очевидным был бы следующий ответ: Так как Extract Maximum выполняется за O(1) то в таком случае сортировка возможна за O(n). Но 1. Зачем остальные части условия ? 2. Разве существует доказательство того что сортировка не может быть реализована за O(n) ? Следовательно рассуждаю я скорее всего неверно(при решении данной задачи). Есть ли у вас какие-то идеи ?Тоже не понял, к чему там подсказка. Я рассуждаю так: а) Если в структуре данных хранится несколько элементов, то эта структура может рассматриваться как массив. В дальнейшем буду использовать это слово и сопутствующую терминологию. б) Чтобы операция Maximum выполнялась за O(1), надо чтобы в данном массиве данных максимальный элемент был всегда четко указан. Это можно сделать двумя способами, либо хранить дополнительно индекс максимального элемента, либо держать в массив в сортированном состоянии. в) Если массив изначально не сортирован, но мы имеем индекс на его максимальный элемент то чтобы выполнялась операция ExtractMaximum выполнялась за O(1) надо чтобы мы могли за O(1) найти новый максимальный элемент после экстракта предыдущего максимума. Значит нам нужно где-то хранить индекс предыдущего во величине элемента. Это проще всего сделать если хранить индекс предыдущего элемента вместе с самим элементами... Вывод - в случае хранения данных не в сортированном виде мы должны хранить его в связном списке. г) Но в случае связанного списка для вставки элемента в правильное место (что бы сохранить сортированность списка), нам понадобится это место найти, а это уже обязательно O(n). д) Если данные хранятся в виде сортированного индексированного массива, то для нахождения максимума достаточно взять его последний элемент, а для нахождения предыдущего максимально - предпоследний. Все просто и легко, Maximum и ExtractMaximum выполняются за O(1). е) А если у нас сортированный индексированный массив, то операция вставки потребует найти те два элемента между которыми надо вставлять новый, а это как минимум O(log n). А потом еще двигать хвост массива чтобы освободить место под новый элемент, а это еще O(n). Таким образом у нас и получается что структура данных у которой все три завяленные операции выполняются за O(1) не получается... Теперь я понял при чём тут вставка. Всё что вы рассказали выглядит логично. Однако это не доказывает того, что такое в принципе не возможно. И вообще, я не уверен в том, что существует полное и объективное доказательство такого факта. Вероятно автор имел ввиду рассуждение в вашем ключе. Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 08:30 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Dima TWhite Owlпропущено... Не совсем. Там имеется 40% людей которые делают 60% запросов. Неверный вывод. Сказано "часто", без конкретики, я так понимаю это точно не 60:40, может 100:1 или 1000:1 Дмитрий, тут я виноват, не до конца перевёл. Но связано это с тем, что частота запросов на мой взгляд не должна сильно влиять на базу данных. Если критерием сравнения будет вставка, то только при отношении около 17:3 преимущество будет у второго способа(2 бинарных поиска) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 08:39 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
на сфере (Web Mercator) длину градуса метрах получить легко Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 14:14 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tchingiz, в формуле для сферы попробуйте заменить большую полуось а, на сумму большой a и малой b полуосей эллипсоида делённых на два. a -> (a+b)/2. Вообще для таких вещей используют интегральное исчисление. Не знаю насколько вам это подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 02:56 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Нет, приближенная формула другая. У вас , далее посмотрите приближенные формулы для полупериметра. Либо, периметр можно найти как длину кривой, в вашем случае так: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 04:29 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
та, не интеграл там не очень нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 10:50 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
через день я уже нашел. Серапинас Математическая картография. - это оно, но без картинки, лично мне, не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 10:53 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Что значит радиус линии, подразумевается радиус кривой ? Вы использовали эту формулу, она вам подходит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 06:39 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЧто значит радиус линии, подразумевается радиус кривой ? ну, да. Любая линия на поверхности эллипсоида будет кривой в очевидном смысле. //Прямая, кстати (в неочевидном смысле), тоже кривая с бесконечным радиусом кривизны. SashaMercury Вы использовали эту формулу, она вам подходит ? да, вот тут а шо делать? Есть альтернатива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 00:44 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
как то первая задача решена не полностью. итак есть массив из 12 элементов... надо собрать подмножество из 10 элементов (k=10, n=12) шаг 1: выберем первых 10 элементов с вероятностью 1 шаг 2: генерим число от 1 до 11. вероятность замены каждого из 10 элементов 1/11. вероятность каждого элемента остаться 1-1/11=10/11. вероятность попадания 11-ого элемента в выборку 10/11. шаг 3: генерим число от 1 до 12. вероятность замены каждого элемента 1/12. Вероятность каждого из первых 11 элементов остаться в выборке = 10/11-1/12 = (120-11)/132 = 109/132 . Это не равно 10/12 - вероятность попадания в выборку 12-ого элемента представим что у нас n = не 12, а 13... тогда: шаг 4: генерим от 1 до 13. вероятность замены уже выбранного элемента 1/13. Вероятность каждого из первых 11 остаться в выборке 109/132-1/13 = (1417 - 132) / 1716 = 1285 / 1716. Вероятность 12-ого остаться 10/12-1/13=(130-12)/156 = 118/156 = 59/78. Вероятность 13-ого попасть в выборку 10/13 имеем уже 3 разные вероятности : 1285/1716, 59/78 и 10/13 1285/1716 = 0.7488 59/78 = 0.7564 10/13 = 0.7692 итак, всего на 4 шагах получили ошибку в 2% (это не мало :)) ). будет больше шагов, разница в вероятностях будет ещё больше. Если не прав - поправьте. Если нет, стоит искать другое решение, где вероятность выбора каждого элемента будет выражаться через k и n, но ни в коем случае не через i. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2016, 02:13 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
Програмёр, Проблема с шагом 3. Вероятность попадания нового элемента 10/12, остаться старому 10/11 * 11/12 = 10/12 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2016, 07:25 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
tchingiz, предлагал использовать интеграл, но это видимо не очень удобно. А зачем в вашем случае альтернатива, если вы уже всё сделали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2016, 07:28 |
|
||
|
SSS. Некоторые задачи
|
|||
|---|---|---|---|
|
#18+
SashaMercuryПрограмёр, Проблема с шагом 3. Вероятность попадания нового элемента 10/12, остаться старому 10/11 * 11/12 = 10/12 Ну да. Я ступил похоже )) чё меня минусовать дёрнуло... Поздно было )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2016, 08:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1340824]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
98ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 517ms |

| 0 / 0 |
