|
|
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Не. 400млн простейших битовых операций выполнится секунды за 2 максимум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 00:09:56 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#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. А вот, если в нем заменить сеты на битсеты? Может тогда он и уложится в тайм лимит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 09:31:20 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
> А вот, если в нем заменить сеты на битсеты? Может тогда он и уложится в тайм лимит. Протупил. Толку от этого будет 0 -- ведь в конце все равно придется собирать суммы по всем финальным битсетам, а это главный тормоз. Собственно главная часть кода работает 5с, а сбор сумм - 30с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 10:09:54 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#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. NO WARRANTY IMPLIED ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 13:00:55 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Народ! Помогите кто чем может! Как реализовать алгоритм поиска простых (НЕЭЙЛЕРОВЫХ И НЕГАМИЛЬТОНОВЫХ!)циклов в связном графе, состоящем из 1 компоненты связности? Или хотя бы как выглядит сам алгоритм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 15:01:51 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
*SLOW*Народ! Помогите кто чем может! Как реализовать алгоритм поиска простых (НЕЭЙЛЕРОВЫХ И НЕГАМИЛЬТОНОВЫХ!)циклов в связном графе, состоящем из 1 компоненты связности? Или хотя бы как выглядит сам алгоритм? Обожди час-полтора и я тебе накодю очень коротенький код, который будет выводить все циклы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 15:39:57 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#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. 88.txt Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 99.txt Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 17:00:39 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
v.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. Но теперь, за счет дублей, циклы плодятся как кролики: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 17:31:44 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Добавил через set< > пресечение вывода циклов-дубликатов: Код: 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. Вроде нормально: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2009, 18:15:07 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Неужели так лень проверить? int k = 1; int w = 0; int m[20000]; for (int i = 0; i < 20000; i++) { for (int j = 0; j < 20000; j++) { if (k & 1) { w += m[k]; } } } даже debug версия выполнит это за 2-3 сеунды. Откуда 30. RT183.1> А вот, если в нем заменить сеты на битсеты? Может тогда он и уложится в тайм лимит. Протупил. Толку от этого будет 0 -- ведь в конце все равно придется собирать суммы по всем финальным битсетам, а это главный тормоз. Собственно главная часть кода работает 5с, а сбор сумм - 30с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 12:58:24 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Несколько неравноценная проверка же. Доступ к биту идет через деление, вычисление остатка, смещение и битовую операцию. Но если самому реализовать битсет, то этот цикл можно очень сильно ускорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 13:07:19 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
> Неужели так лень проверить? Так сто раз уже проверял. Разве можно как-то ускорить 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. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. И вот такие времена: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 14:50:44 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
RT183.1Разве можно как-то ускорить 2-й блок кода? Свой битсет, думаю, может очень сильно ускорить выполнение; наверное, примерно до тех самых 2-4 секунд defrager'а. Одно дело 400 млн. раз обратиться к произвольному биту, и совершенно другое -- упорядоченно их перебрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 15:10:08 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Для споджа этого все равно будет недостаточно, даже если второе время сделать нулем У меня проц 1.6ГГц -- в 2 раза быстрее споджа + там 2 теста по 20000 вершин Т.е. все мои времена надо как минимум умножать на 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 15:15:23 |
|
||
|
Задача на графы
|
|||
|---|---|---|---|
|
#18+
Странно. Не ожидал такого от bitset. Вот кусок моего кода, который вручную биты проверяет в этой задаче Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2009, 16:31:26 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1344166]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
230ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 561ms |

| 0 / 0 |
