|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
andrey_anonymous Что-то я не видел. 22233043 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 00:57 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 02:25 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кажется, я уже решал обе такие задачки, сходу только вспомнить и найти не смог, но нашёл чуть более сложный вариант усложненной задачки: https://stackoverflow.com/questions/64137899/flatten-list-of-ranges-to-single-result-range-set ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 03:06 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
xtender, Мне эта видится проще,тут N слоев одиночных заплаток, перебор комбинаций меньше. Соответственно и решение короче. Но задачка тоже классная, я попробую решить не глядя в ссылку. А задачи про двухмерные заплатки никто не публиковал? Например: Каждая строка задаёт х1,х2,у1,у2 координаты покрашенного прямоугольника. Определить: - площадь покрашенной поверхности - максимальный полностью закрашенный прямоугольник - максимальное число слоев на поверхности - площадь поверхности содержащая ровно N слоев краски Для супер одаренных: - наибольший полностью закрашенный круг (центр и радиус) Это монохромная версия. Можно добавить цвета.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 03:42 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
xtender Кажется, я уже решал обе такие задачки, сходу только вспомнить и найти не смог, но нашёл чуть более сложный вариант усложненной задачки: https://stackoverflow.com/questions/64137899/flatten-list-of-ranges-to-single-result-range-set Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 04:03 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Почитал решения по ссылке, народ явно легких путей не ищет. "Simplicate, and add lightness" (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 04:07 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
НеофитSQL А задачи про двухмерные заплатки никто не публиковал? Например: Каждая строка задаёт х1,х2,у1,у2 координаты покрашенного прямоугольника. Определить: - площадь покрашенной поверхности - максимальный полностью закрашенный прямоугольник - максимальное число слоев на поверхности - площадь поверхности содержащая ровно N слоев краски Для супер одаренных: - наибольший полностью закрашенный круг (центр и радиус) Это монохромная версия. Можно добавить цвета.. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
С фотошопом я не дружу, поэтому иллюстрация в ASCII: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 04:56 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
НеофитSQL А задачи про двухмерные заплатки никто не публиковал? Приходилось как-то на проекте внедрения внезапно под вечер решать задачку вида "сделать из списка (с историей изменения) префиксов телефонных зон двумерную карту для быстрого определения корректной зоны вызова по параметрам (вызываемый номер, дата соединения)". Не rocket science, хотя пару-тройку часов из жизни выкинул. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 13:10 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
НеофитSQL Почитал решения по ссылке, народ явно легких путей не ищет. "Simplicate, and add lightness" (c) А ты подставь данные из ссылки и сравни результат, ты решал какую то другую задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 13:18 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
НеофитSQL Жаль, критерий трудно определить объективно. У меня получилось так. должно быть две строки? Код: plsql 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:09 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кобанчег Собственно мой вариант таков. Код: plsql 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.
MATCH RECOGNIZE SORT DETERMINISTIC FINITE AUTOMATON + WINDOW SORT + UNPIVOT При попытке решить однопроходно с match recognize упираешься в то, что "активный" цвет для текущей группы определяется по всему набору а match recognize не позволяет заглядывать в предыдущие группы. Код: plsql 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:30 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Stax должно быть две строки? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:31 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:35 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Stax должно быть две строки? Можешь использовать мой запрос, там верно возвращает. Я в его решении поправил один баг, получается есть еще (странно что это не всплыло в моём чудо тесте) Кобанчег Мелкий баг - decode(s,'-',t,s) может быть null если диапазоны начинаются с target. Fix Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:38 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
graycode, у НеофитSQL-а одна, косяк Ваш вариант не тестировал (что-то лень обьекты создавать) если дойдут руки, заменю pipe на dbms_output и мож потестю ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:40 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кобанчег странно что это не всплыло в моём чудо тесте Тестовые данные не покрывают много кейсов, а генератор на производительность вообще вырожденный и возможно это одна из причин удивительных результатов теста на производительность[/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:43 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:46 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
graycode возможно это одна из причин Я вчера уже поверил в твою адекватность когда ты признал что PL/SQL и SQL приверно одного уровня по производителности. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:49 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кобанчег Можешь использовать мой запрос, там верно возвращает. для unpivot + pivot + lead сдаюсь поспешил Код: plsql 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.
зі match_recognize с ошибкой зы ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:57 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кобанчег, Причина мне не совсем понятна, я убрал фактор сортировки, т.е. сортировок нет, просто прогоняется набор исходных данных через функцию, в функции только дерево условий, по идее должно быть быстрее, оно и быстрее но совсем незначительно, можешь объяснить причину? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 15:57 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
graycode Причина мне не совсем понятна, я убрал фактор сортировки, т.е. сортировок нет Код: plsql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 16:00 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Кобанчег, IOT, pk по всем полям начиная с x1)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 16:02 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
graycode, Ну тогда смотри куда уходит время в dbms_hprof + dbms_sqltune.report_sql_monitor Может что-то еще можно выжать из твоего подхода, но практической ценности для меня не несет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 16:07 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
Stax для unpivot + pivot + lead сдаюсь поспешил 22234679 В моём сортировку в аналитике надо сделать идентичной с MR. Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 16:19 |
|
Пятничная задача: Красное и черное
|
|||
---|---|---|---|
#18+
graycode Код: plsql 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2020, 16:22 |
|
|
start [/forum/topic.php?fid=52&msg=40019999&tid=1880676]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 265ms |
0 / 0 |