Олимпиадное программирование за 2 дня? Добрый день. Я школьник. Вроде связан с программирование давно, но этому занятию совсем безолаберно относился, а когда осознал стало поздно. Не в этом даже суть. Моя задача на текущий момент заработать себе диплом. Идеальная цель олимпиада ИТМО по информатике, но там тоже есть программирование хотя и совсем несложное. На одно ИТМО я боюсь полагаться, хочется попробовать взять Ломоносова, 2ой уровень, хотя бы чуток далек, как мне кажется, от серьезных олимпиадных контестов, куда мне дорога закрыта. Мои знания очень узкие: реализовать бин. поиск, qsort, слиянием, ДП, Длинная, простейшие структуры данных. Собственно скудный набор. Причем все это я пишу, решаю, реализовываю на очень медленной скорости, с ошибками, долго их пытаюсь от дебажить. Т.е. еще и код сам по себе выходит скверный, некачественный. Даже простые задачи иногда решаю очень громоздко, не эффективно. Я осознаю, что это все решается временем и тренировками. У меня его катастрофически мало. Я хотел бы у вас узнать, какие есть пособия, может советы, которые смогут мне помогут хотя бы ускорить процесс написания и дебага программ. Улучшить понимание выполнения, компиляции программ. Я в этом деле по сути профан, но попытаюсь аккуратно свои мысли донести до вас. Т.е. чтобы у меня не было ошибок связанных при работе с типами, т.е. когда идет преобразования short в int, при работе с числами с плавующей. И всякие такие моменты. Есть книга Таненбаума "Архитектура компьютера". Но она дико большая даже для свободного чтения в маршрутке, и там много лишнего, даже если и есть что-то полезное. И второй вопрос: есть ресурсы informatics.mccme.ru acmp.ru и книга competitive programming. Informatics - давно с ним работаю, решаю потихоньку задачки. На всякую динамику (Например, Расстояние по Левенштейну), на рекурсию раньше, задачки решал по нескольку дней. Очень долго, и когда на олимпиаде получаю задачи соответственно быстро не могу ничего решить. Как я понял по рассказу друга, он большинство задач тупо решал с другим условием, поэтому проблем особых не возникает узнать метод, а потом его реализовать. У меня проблема в этом всегда. Ну только если "Найдите максимум, посчитайте кол-во всех ..," я понимаю, что, вероятнее, динамика. acmp.ru - 0 теории, много задач, раньше пытался на нем решать, только после лекций преподавателя, толку 0. competitive programming - новая книга, вообще не представляю, что можно от нее ждать. Любезно поделился друг, сказал полезно будет. Но я думаю, что с ней нужно много работать, сейчас для меня не лучший вариант.Простите за кашу, за много лишних слов. Заранее большое спасибо. Думаю, по наводящим вопросам, я смогу потом сделать из этого трепа более менее конкретную проблему и вопрос. Главная все-таки цель: увеличить время написания и качество кода. Меньше времени на дебаг, меньше ошибок, меньше разбираться в треше, который я пишу, т.е. меньше всякий треш писать.
Привет! Похоже, что ты уже обладаешь базовыми знаниями программирования, но хочешь улучшить свои навыки и ускорить процесс написания и отладки кода. Вот несколько советов, которые могут помочь тебе достичь своей цели:
Попробуй решать задачи на платформах типа Codeforces, LeetCode, HackerRank и других. Это поможет тебе улучшить алгоритмическое мышление, научиться решать задачи быстрее и более эффективно.
Поставь перед собой конкретные цели и план действий. Разбей свое обучение на небольшие шаги и постепенно двигайся к своей цели.
Изучи основные структуры данных и алгоритмы, такие как деревья, графы, сортировки, поиск, динамическое программирование. Понимание этих концепций поможет тебе решать задачи более эффективно.
Постоянно практикуйся и учись на своих ошибках. Не бойся делать что-то не совсем правильно или медленно - важно постепенно улучшать свои навыки.
Общайся с другими программистами, участвуй в онлайн-курсах и лекциях, чтобы узнать новые подходы и методики работы.
И не забывай, что для достижения своей цели нужно много терпения, усилий и практики. Удачи в твоем обучении и на пути к получению диплома на олимпиаде!
Привет! Похоже, что ты уже обладаешь базовыми знаниями программирования, но хочешь улучшить свои навыки и ускорить процесс написания и отладки кода. Вот несколько советов, которые могут помочь тебе достичь своей цели:
Попробуй решать задачи на платформах типа Codeforces, LeetCode, HackerRank и других. Это поможет тебе улучшить алгоритмическое мышление, научиться решать задачи быстрее и более эффективно.
Поставь перед собой конкретные цели и план действий. Разбей свое обучение на небольшие шаги и постепенно двигайся к своей цели.
Изучи основные структуры данных и алгоритмы, такие как деревья, графы, сортировки, поиск, динамическое программирование. Понимание этих концепций поможет тебе решать задачи более эффективно.
Постоянно практикуйся и учись на своих ошибках. Не бойся делать что-то не совсем правильно или медленно - важно постепенно улучшать свои навыки.
Общайся с другими программистами, участвуй в онлайн-курсах и лекциях, чтобы узнать новые подходы и методики работы.
И не забывай, что для достижения своей цели нужно много терпения, усилий и практики. Удачи в твоем обучении и на пути к получению диплома на олимпиаде!