
Aldar
01.11.2016
19:33:30
я перепутал задачу
я просто бинарный поиск написал)

Vladislav
01.11.2016
19:35:03
Давайте в чат про алгоритмы, я расскажу там как писать бинарный поиск, не беспокоясь о corner case'ах и не думая, где надо и не надо прибавлять/вычитать 1

Aldar
01.11.2016
19:35:34
а в этой да, много корнер кейсов

Google

@CriOnsKry
01.11.2016
19:36:45

Aldar
01.11.2016
19:37:08
хотя в этой можно линейно найти границу между монотонными последовательностями
хотя не, зачем линейно
в общем ищем границу бинарным поиском, а потом число бинарным поиском
нужно просто немного порассуждать

Vladislav
01.11.2016
19:39:18
граница же дана, ровно посередине массива

Aldar
01.11.2016
19:39:34
хехе, точняк
тут же 2n элементов
тогда вообще просто

Alex Фэils?︙
01.11.2016
19:41:17

Aldar
01.11.2016
19:42:22
тогда мы знаем диапазон двух монотонных последовательностей
и если К попадает в диапазон, то ищем в этом подмассиве

Dumitru
01.11.2016
19:43:01
ой, я ошибся!

Google

Aldar
01.11.2016
19:43:09
бинарным поиском

Dumitru
01.11.2016
19:43:09
там граница может быть где угоднл
*угодно

Aldar
01.11.2016
19:43:31
кек
ну давай порассуждаем
[left ....mid ....right]
нужно взять производную в mid
если она положительна, то мид внутри правого подмассива
если отрицательна, то внутри левого
если имеет разрыв - то мид на границе)
как то так
еще надо учесть граничные условия
находим границу между подмассивами сначала, потом зная диапазоны ищем в подмассивах
что скажете?
насчет алгоритма, тут только проблема как не сделать сегфолт

Dumitru
01.11.2016
19:56:38

Aldar
01.11.2016
19:57:04
короче ставим сразу охранный кейс
If(right - left < 3) {...}
и внутри вручную перебираем
и потом можно смело обращаться к индексам mid - 1, mid, mid + 1

Google

Aldar
01.11.2016
20:00:20
лишь бы работало, ну а потом рефакторинг провести
если a[mid-1] > a[mid] > a[mid + 1] то мы внутри первого монотонного подмассива
если a[mid - 1]> a[mid] < a[mid + 1] то прямо на границе
если a[mid -1] < a[mid] < a[mid + 1] то внутри правого монотонного подмассива
что скажешь

Alex Фэils?︙
01.11.2016
20:04:09

Aldar
01.11.2016
20:06:19

Dumitru
01.11.2016
20:06:20
что скажешь
У меня 5 утра и не могу норм понять что к чему

Alex Фэils?︙
01.11.2016
20:06:28

Дед Пегас
01.11.2016
20:06:49
А миня?

Aldar
01.11.2016
20:06:49
а потом дело техники

Alex Фэils?︙
01.11.2016
20:06:57

mattata
01.11.2016
20:08:58
Hi, AppleDog!

TheRainwildsKeeper
01.11.2016
20:09:31

Alex Фэils?︙
01.11.2016
20:13:05

Ned Ogl
01.11.2016
21:59:00

Vladislav
01.11.2016
21:59:25

zk
01.11.2016
21:59:27
\n

Google

Vladislav
01.11.2016
21:59:36
endl flush'ит поток

Ned Ogl
01.11.2016
22:00:00

Vladislav
01.11.2016
22:00:34
сбрасывает все внутренние буферы
http://www.cplusplus.com/reference/ostream/basic_ostream/flush/

Ned Ogl
01.11.2016
22:06:23
так, а кто меня пулреквестами закидал, пока я спал?

Alex Фэils?︙
01.11.2016
22:08:04
Я не помню, слал ли

Ned Ogl
01.11.2016
22:09:02
его зовут VERBiSDiablo

zk
01.11.2016
22:11:25
Это мой акк

Admin
ERROR: S client not available

Ned Ogl
01.11.2016
22:14:46
ну во-первых. почему header governors а не прагма?
говорят, прагма работает умнее в наши дни

zk
01.11.2016
22:15:33
Не думаю что ее все поддерживают

Ned Ogl
01.11.2016
22:15:48
уж в наш-то век С++17 не все?

Vladislav
01.11.2016
22:15:53

zk
01.11.2016
22:16:19
Наверняка кто- то нет

Vladislav
01.11.2016
22:16:52
Prefer #pragma once; it is supported on all major vendors (gcc/clang/MSVC) and is least prone to typos/user errors. On mobile, using #pragma once is required.
из нашего codestyle

Fox
01.11.2016
22:17:28
А почему на мобильных обязательно?

zk
01.11.2016
22:17:30

Ned Ogl
01.11.2016
22:18:40
с прагмой компиляторы ебались в 2004 году. уже давно всё отремонтировано

Google

Ned Ogl
01.11.2016
22:18:46
тэкс

Vladislav
01.11.2016
22:19:14
https://en.wikipedia.org/wiki/Pragma_once#Portability

zk
01.11.2016
22:20:07
Я параноик - какой-нибудь stupidC++ не может сто пудов

Vladislav
01.11.2016
22:20:33

Ned Ogl
01.11.2016
22:25:14
кхм, печально об этом говорить, но я принял бы отсилы 2 коммита из трёх. но нельзя же принимать пулреквесты наполовину, так?
прагму я б оставил, чисто эстетически
исключения под вопросом. с одной стороны хотел реализовать их сам и поиграться в наследование, с другой, руки не доходят, а стд всяко лучше
тесты принимаю однозначно
по-хорошему, есть правило: одна фича(багфикс) - один ПР

Vladislav
01.11.2016
22:26:58

Ned Ogl
01.11.2016
22:27:02
как мне вот теперь принять две трети пулреквеста, если он из трёх коммитов?

zk
01.11.2016
22:27:36
Просто ты долго спал

Ned Ogl
01.11.2016
22:30:40
ну как долго. 8 часов
считай, что я в другом часовом поясе
у меня ночь - с 16.00 до полуночи. с полуночи до утра - рабочее время. с утра до обеда маловажные дела и покатушки по городу

Vladislav
01.11.2016
22:31:39

zk
01.11.2016
22:33:09
норм?

Ned Ogl
01.11.2016
22:35:07
мне иногда кажется что ты по калифорнийскому времени живешь)
ну просто смотри, в чем суть. когда я просыпаюсь, у меня лучшие когнитивные способности. сейчас я не учусь, ибо через неделю в армию, а тем временем езжу по городу дорешиваю дела, пока не ушёл. кататься по городу, пока котелок варит на полную - неприятно, тем более ноут умер, а прогать хочется. потому ночью я работаю, на остатках сил езжу по городу, заодно разминаюсь, а абсолютно бесполезные вечера отдаю под сон. это как сместиться в таймзону GMT-5


abiogenesis
01.11.2016
22:36:10
ну просто смотри, в чем суть. когда я просыпаюсь, у меня лучшие когнитивные способности. сейчас я не учусь, ибо через неделю в армию, а тем временем езжу по городу дорешиваю дела, пока не ушёл. кататься по городу, пока котелок варит на полную - неприятно, тем более ноут умер, а прогать хочется. потому ночью я работаю, на остатках сил езжу по городу, заодно разминаюсь, а абсолютно бесполезные вечера отдаю под сон. это как сместиться в таймзону GMT-5
Возьми с собой томик страуструпа
1300 страниц на год растянутся норм