А я так и не понял логики ответа, почему поездов должно быть именно в 2 раза больше чем станций. Почему не может быть дополнительных поездов на длинных перегонах, или один поезд на два коротких. По-моему считать следовало бы по длине линий, средней скорости движения и интервалу времени между поездами. Иначе получается, что число электричек тоже зависит от числа платформ, а число автобусов — от количества остановок. Или я что-то упускаю?
Думаю ничего страшного не случится. Сначала компилятор поругается ворнингом на неиспользуемую переменную, потом сильно поругается на код, который к этому полю обращается (не просто же так это поле было добавлено), ибо такого поля не окажется.
Конечно можно, но целью было оставить одно единственное место, куда нужно добавлять новый элемент перечисления, в приведённом коде их по-прежнему два (одно в enum, второе в typelist).
Удобно — не то слово, ещё и безопасно. Описанная в начале ситуация с забыванием добавить работу с полем в одном из мест — это не для красного словца, а несколько раз со мной случалась. Так что речь не столько об удобстве, сколько о желании избежать таких проблем в дальнейшем.
В статье много спорных моментов, но основной темой проходит цель обучения в ВУЗ-е.
Есть две крайности — чрезмерное обобщение (учить учиться), и чрезмерное сужение (учить профессии). По-моему, истина где-то посередине.
Университет должен в первую очередь связать все разрозненые знания человека воедино. Базовые знания, которые даёт университет не самоцель, а средство (клей, заполняющий лакуны). Технологиям тоже нужно учить (и обычно им учат на старших курсах), но это тоже не цель, а средство получения опыта.
Трудно спорить, что образование в последнее время находится в плачевном состоянии, монетизация растлевает его экономически, военный призыв — психологически, а ещё подливает масла в огонь демографический провал. Но всё, как обычно, зависит не только от системы, но и от людей.
Кто хочет взять что-то полезное от образования — тот возьмёт.
Занятно, что примерно то же самое, мне говорили на зачёте студенты, не знающие ответ на вопрос. В этом случае я давал им книжку, и говорил — почитайте. Результат был удручающий, ведь в книжка — это не список вопросов и ответов.
Разобраться с чем-то не имея некоторой базы знаний и опыта — очень трудно, примерно как пристроить кусочек паззла не зная общей картины.
Думаю, что топик не о том, что не нужно пользоваться готовыми библиотеками/фреймворками (в аналогии — гвоздями с молотком), а о том, что нужно ещё знать как они устроены и уметь, при необходимости, написать свои (устройство гвоздя и молотка, полагаю, известны всем).
Например, если я напишу, что нужно знать ассемблер, меня забросают гнилыми помидорами, мол есть же оптимизирующие компиляторы, кому это ассемблер упёрся. Зато, когда приходит дапм от пользователя, и мне приходится разбираться с кодом, который этот компилятор сделал, знание ассемблера здорово помогает.
Ошибка, это, когда валялся процессинг, её трудно не признать. А то, что они не могут найти её причину — это признание не ошибки, а своей беспомощности.
Показ рекламы алкоголя детям конечно нужно закрыть, об этом я писал в исходном комментарии. Показ рекламы алкоголя взрослым — не нужно, взрослые потому и называются взрослыми, что могут принимать решения сами. Запрет подобной рекламы на улице и телевидении понятен — технически невозможно оградить от неё только детей. В интернет такая техническая возможность (оградить не всех, а именно детей) есть, об этом и речь.
Эта ветка началась с вопроса «Какие способом родители могут контролировать где там в интернете его чадо?», если родителям это неинтересно (они ленивы или заняты) — то и говорить не о чем, а для глупых есть спецы (которые продали им компьютер, поставили на него софт), они (т.е. мы) и настроят.
Офтопну. Прорисовывается тенденция видеть в государственной власти этакого строгого отца, а в гражданах — детей неразумных. Когда государство должно во всём контролировать своих граждан, а те не должны принимать никаких мало мальски важных решений. Если смотреть сквозь такую призму на те законы, которые принимаются в стране — появляется логика.
Мне кажется, что неплохо бы гражданам начать отвечать за себя и своих детей, а государству — немного отпустить поводок.
Думаю, спрашивать на улицах нет смысла, речь ведь о фильтрации ресурсов интернет, а не о цензуре на уличных баннерах. Спрашивать нужно на сайтах. Если вернуться к топику — Яндекс поменял свой логотип, он меняет его довольно часто по разным более-менее значимым поводам, также делают и другие порталы. Возможно, поменяй они на денёк логотип на что-то вроде «защитим детей от педофилов» со ссылкой на страницу с описанием фильтра и процесса его установки, и значительная часть родителей станет осведомлена о такой возможности.
Да я, вроде, написал — фильтрация на уровне ОС/браузера. Чадо там, куда этот фильтр пустил.
Если речь о продвинутых чадах, которые способны обойти этот фильтр — так любой фильтр при желании обходится, а хостинг переносится.
Согласен. Если б тот же чёрный список сайтов блокировал сайты не на уровне хостера/провайдера, а на уровне ОС или браузера пользователя, и родители могли легко установить софт для такой фильтрации — никто бы и слова не сказал против такой инициативы. И в список этот тогда можно было бы включать не только детскую, но и прочую порнографию, не только сайты, пропагандирующие наркотики, но и табак с алкоголем тоже.
Думаю, описанное решение задачи о принце слишком сложное. Проще поддерживать набор интервалов коридора, где может находиться принц в определённый момент времени.
Структура данных — массив, в котором хранятся интервалы (начало и конец x1, x2), и ловушки. На ловушку отводится два элемента один на начало, другой на конец, у обоих x1=x2, плюс в элементе должен быть номер ловушки, чтобы отличить ловушку от интервала, для интервала он будет невалидный, например -1.
Элементы в массиве не пересекаются и отсортированы по возрастанию x.
В момент времени t=0 в массиве один интервал x1=x2=0. Далее обрабатываются моменты времени появления и исчезания ловушек.
За прошедшее с последнего момента время каждый интервал увеличивается влево и вправо на это время, если упираются в границы ловушек (предыдущий и следующий элементы массива), то ограничивается ими, если пересекается с другим интервалом — объединяется с ним. При этом, если конечная точка попадает в интервал — то решение найдено, нужно только рассчитать время, по верхней границе интервала.
При появлении ловушки в массив добавляются две её границы, при этом какие-то один или два интервала обрезаются ей, или какой-то один может поделиться на две части, те, что попадут в неё полностью — удаляются.
При исчезании ловушки из массива удаляются две ещё границы (по её номеру).
Если к моменту, когда исчезла последняя ловушка, цель так и не достигнута, то время её достижения можно рассчитать по верхней границе последнего интервала.
Если в какой-то момент в массиве не оказалось ни одного интервала — значит цель недостижима.
Верхняя оценка времени работы алгоритма — квадрат от количества ловушек N. Для 2N моментов времени (появление и исчезание ловушки) нужно обработать массив с O(N) элементами — максимум 2N элементов для ловушек и максимум N+1 для интервалов.
Честно говоря, не понял, зачем спрашивать у консультантов то, что можно найти в интернете (все эти 9 пунктов характеристик). Мой алгоритм покупок прост — ищу в интернете то, что меня устраивает по характеристикам, иду в магазин чтобы посмотреть на это, и если вблизи это тоже не вызывает претензий — заказываю, опять же через интернет.
Когда у меня пару лет назад возникла похожая задача — изменить шейдер ландшафта, жутко мешала необходимость заменять стандартные шейдеры в Hidden/TerrainEngine/..., т.е. то, что шейдер нельзя заменить динамически (на одной сцене мой, на другой — стандартный). По сути, это какой-то недокументированный хак. Это по прежнему так и работает или в последних версиях Unity что-то изменили?
Есть две крайности — чрезмерное обобщение (учить учиться), и чрезмерное сужение (учить профессии). По-моему, истина где-то посередине.
Университет должен в первую очередь связать все разрозненые знания человека воедино. Базовые знания, которые даёт университет не самоцель, а средство (клей, заполняющий лакуны). Технологиям тоже нужно учить (и обычно им учат на старших курсах), но это тоже не цель, а средство получения опыта.
Трудно спорить, что образование в последнее время находится в плачевном состоянии, монетизация растлевает его экономически, военный призыв — психологически, а ещё подливает масла в огонь демографический провал. Но всё, как обычно, зависит не только от системы, но и от людей.
Кто хочет взять что-то полезное от образования — тот возьмёт.
Разобраться с чем-то не имея некоторой базы знаний и опыта — очень трудно, примерно как пристроить кусочек паззла не зная общей картины.
Например, если я напишу, что нужно знать ассемблер, меня забросают гнилыми помидорами, мол есть же оптимизирующие компиляторы, кому это ассемблер упёрся. Зато, когда приходит дапм от пользователя, и мне приходится разбираться с кодом, который этот компилятор сделал, знание ассемблера здорово помогает.
Мне кажется, что неплохо бы гражданам начать отвечать за себя и своих детей, а государству — немного отпустить поводок.
Если речь о продвинутых чадах, которые способны обойти этот фильтр — так любой фильтр при желании обходится, а хостинг переносится.
Структура данных — массив, в котором хранятся интервалы (начало и конец x1, x2), и ловушки. На ловушку отводится два элемента один на начало, другой на конец, у обоих x1=x2, плюс в элементе должен быть номер ловушки, чтобы отличить ловушку от интервала, для интервала он будет невалидный, например -1.
Элементы в массиве не пересекаются и отсортированы по возрастанию x.
В момент времени t=0 в массиве один интервал x1=x2=0. Далее обрабатываются моменты времени появления и исчезания ловушек.
За прошедшее с последнего момента время каждый интервал увеличивается влево и вправо на это время, если упираются в границы ловушек (предыдущий и следующий элементы массива), то ограничивается ими, если пересекается с другим интервалом — объединяется с ним. При этом, если конечная точка попадает в интервал — то решение найдено, нужно только рассчитать время, по верхней границе интервала.
При появлении ловушки в массив добавляются две её границы, при этом какие-то один или два интервала обрезаются ей, или какой-то один может поделиться на две части, те, что попадут в неё полностью — удаляются.
При исчезании ловушки из массива удаляются две ещё границы (по её номеру).
Если к моменту, когда исчезла последняя ловушка, цель так и не достигнута, то время её достижения можно рассчитать по верхней границе последнего интервала.
Если в какой-то момент в массиве не оказалось ни одного интервала — значит цель недостижима.
Верхняя оценка времени работы алгоритма — квадрат от количества ловушек N. Для 2N моментов времени (появление и исчезание ловушки) нужно обработать массив с O(N) элементами — максимум 2N элементов для ловушек и максимум N+1 для интервалов.