Обсуждение:Несогласованные поддеревья. Реализация массового обновления — различия между версиями
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | :{{tick}} интервики, нет ни одной внутренней ссылки на другие разделы про дерево отрезков. | + | :{{tick|ticked=1}} интервики, нет ни одной внутренней ссылки на другие разделы про дерево отрезков. |
− | :{{tick}} | + | :{{tick|ticked=1}} склоняем правильно: |
− | + | :: '''необходимо отвечать запросы''' | |
− | + | :: '''Так называемое "проталкиванием" ''' | |
− | :: | ||
− | :: | ||
:: блин, да ты во всем конспекте неправильно склоняешь «операции» | :: блин, да ты во всем конспекте неправильно склоняешь «операции» | ||
− | : | + | ::: '''Все еще не исправлено''' |
− | + | :{{tick|ticked=1}} псевдокод | |
− | :{{tick}} псевдокод | + | :: \subset должно быть \subseteq, кажется. |
:: выдели операторы (if, while) жирным. | :: выдели операторы (if, while) жирным. | ||
+ | ::: '''return тоже оператор''' | ||
+ | :: пробел перед открывающейся скобкой, в которой аргументы зачем-то | ||
:: почему int get_ans, и int val. Это должны быть какие-то абстрактные типы. | :: почему int get_ans, и int val. Это должны быть какие-то абстрактные типы. | ||
− | + | ::: '''Все еще есть int ans''' | |
− | :{{tick}} | + | ::: '''лучше использовать CamelCase в псевдокоде для именования типов (вроде MyType). А еще проще написать просто T value и т.д., это всем будет понятно'''. |
+ | ::: get_ans называется query. | ||
+ | :{{tick|ticked=1}} ans — сумма на отрезке по операции \oplus. Не сумма а просто результат. | ||
+ | :{{tick|ticked=1}} да, третье свойство дистрибутивности действительно кажется лишним. | ||
+ | :{{tick|ticked=1}} | ||
:: с несколькими подряд идущими элементами. --> «на отрезке» | :: с несколькими подряд идущими элементами. --> «на отрезке» | ||
:: «Для реализации вторая операция должна быть ассоциативной.» Вторая — это какая? | :: «Для реализации вторая операция должна быть ассоциативной.» Вторая — это какая? | ||
− | |||
: {{tick|ticked=1}} конспект начинается ВНЕЗАПНО, без какой-то мотивации введения несогласованных поддеревьев | : {{tick|ticked=1}} конспект начинается ВНЕЗАПНО, без какой-то мотивации введения несогласованных поддеревьев | ||
− | |||
− | |||
− | |||
: {{tick|ticked=1}} Псевдокод сделать попонятнее | : {{tick|ticked=1}} Псевдокод сделать попонятнее | ||
: {{tick|ticked=1}} СОбственно, написать про массовые операции вообще. | : {{tick|ticked=1}} СОбственно, написать про массовые операции вообще. | ||
: {{tick|ticked=1}} категории | : {{tick|ticked=1}} категории | ||
--[[Участник:Dgerasimov|Дмитрий Герасимов]] 20:54, 22 марта 2012 (GST) | --[[Участник:Dgerasimov|Дмитрий Герасимов]] 20:54, 22 марта 2012 (GST) | ||
+ | |||
+ | == TODO: Обобщить == | ||
+ | : {{tick}} собственно, привести пример какой-нибудь массовой опреации и сведения ее к соответствующей алгебраической структуре. | ||
+ | :: {{tick}} тут, видимо, нужно сказать что-то про кольцо (или полукольцо?). А распределительный закон обычно называют дистрибутивностью. | ||
+ | ::: пичалька, видимо, этого не было у вас в дз :( --[[Участник:Dgerasimov|Дмитрий Герасимов]] 16:58, 6 июня 2012 (GST) | ||
+ | :{{tick}} у вас в лабе было как минимум две массовые операции по изменению (присваивание и добавление), а запрос был на минимум. Так что надо как-то разобраться, какую комбинацию операций изменения можно использовать и как с этим работать (то есть нужно при реализации определять какой-то приоритет на них и все такое). | ||
+ | :: Все еще одна операция на изменение и одна на сумму. Кажется, чтобы это сделать, надо просто объединить присвоение и добавление в одну массовую операцию, если я не ошибаюсь. Тогда получится одна хитрая операция изменения и одна нормальная для запроса. | ||
+ | :::: '''Раз уж не было в дз всего этого, ладно уж. Оставим будующим поколениям задачу обобщить.''' --[[Участник:Dgerasimov|Дмитрий Герасимов]] 15:02, 10 июня 2012 (GST) |
Текущая версия на 14:02, 10 июня 2012
- ☑ интервики, нет ни одной внутренней ссылки на другие разделы про дерево отрезков.
- ☑ склоняем правильно:
- необходимо отвечать запросы
- Так называемое "проталкиванием"
- блин, да ты во всем конспекте неправильно склоняешь «операции»
- Все еще не исправлено
- ☑ псевдокод
- \subset должно быть \subseteq, кажется.
- выдели операторы (if, while) жирным.
- return тоже оператор
- пробел перед открывающейся скобкой, в которой аргументы зачем-то
- почему int get_ans, и int val. Это должны быть какие-то абстрактные типы.
- Все еще есть int ans
- лучше использовать CamelCase в псевдокоде для именования типов (вроде MyType). А еще проще написать просто T value и т.д., это всем будет понятно.
- get_ans называется query.
- ☑ ans — сумма на отрезке по операции \oplus. Не сумма а просто результат.
- ☑ да, третье свойство дистрибутивности действительно кажется лишним.
- ☑
- с несколькими подряд идущими элементами. --> «на отрезке»
- «Для реализации вторая операция должна быть ассоциативной.» Вторая — это какая?
- ☑ конспект начинается ВНЕЗАПНО, без какой-то мотивации введения несогласованных поддеревьев
- ☑ Псевдокод сделать попонятнее
- ☑ СОбственно, написать про массовые операции вообще.
- ☑ категории
--Дмитрий Герасимов 20:54, 22 марта 2012 (GST)
TODO: Обобщить
- ☐ собственно, привести пример какой-нибудь массовой опреации и сведения ее к соответствующей алгебраической структуре.
- ☐ тут, видимо, нужно сказать что-то про кольцо (или полукольцо?). А распределительный закон обычно называют дистрибутивностью.
- пичалька, видимо, этого не было у вас в дз :( --Дмитрий Герасимов 16:58, 6 июня 2012 (GST)
- ☐ тут, видимо, нужно сказать что-то про кольцо (или полукольцо?). А распределительный закон обычно называют дистрибутивностью.
- ☐ у вас в лабе было как минимум две массовые операции по изменению (присваивание и добавление), а запрос был на минимум. Так что надо как-то разобраться, какую комбинацию операций изменения можно использовать и как с этим работать (то есть нужно при реализации определять какой-то приоритет на них и все такое).
- Все еще одна операция на изменение и одна на сумму. Кажется, чтобы это сделать, надо просто объединить присвоение и добавление в одну массовую операцию, если я не ошибаюсь. Тогда получится одна хитрая операция изменения и одна нормальная для запроса.
- Раз уж не было в дз всего этого, ладно уж. Оставим будующим поколениям задачу обобщить. --Дмитрий Герасимов 15:02, 10 июня 2012 (GST)
- Все еще одна операция на изменение и одна на сумму. Кажется, чтобы это сделать, надо просто объединить присвоение и добавление в одну массовую операцию, если я не ошибаюсь. Тогда получится одна хитрая операция изменения и одна нормальная для запроса.