Блог пользователя SyFy

Автор SyFy, 12 лет назад, По-русски

Частенько начал натыкаться на необходимость получать по нужному ключу соответствующее значение и наоборот. Для этого приходится использовать что-то вроде этого:

HashMap<String, Integer> hm1;
HashMap<Integer, String> hm2;

Такой вариант меня чаще всего не устраивает по затратам памяти и "лишней" возне с двумя таблицами.

А есть ли какая-то структура данных (встроенная в JAVA), которая позволяет производить такие запросы сохраняя сложность запроса O(1) ?

А если нет встроенной, то какие есть?

Благодарю.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +27
  • Проголосовать: не нравится

Автор SyFy, 13 лет назад, По-русски
  • Проголосовать: нравится
  • -24
  • Проголосовать: не нравится

Автор SyFy, 13 лет назад, По-английски

Problem 144D Codeforces Round #103 (Div. 2)


Here is my submission.

Rewrote Dijkstra already 3-4 times (not enough?)... but I think I am doing something wrong with SortedList.

Thx.

Полный текст и комментарии »

  • Проголосовать: нравится
  • -2
  • Проголосовать: не нравится

Автор SyFy, 13 лет назад, По-русски
Столкнулся с проблемой: не мог изменить стандартный template на С# (как впринципе и со всеми остальми).

В документации написано следующее:

Template Editor

This is the place to edit your code templates, which are parsed and expanded when you open a problem or hit "Generate Code".

The easiest way to get started is to click on "Open Default", and pick which template (.ket file) you want to edit. Change anything you want, and click save (or save as) and you'll be prompted where to save it. After saving, KawigiEdit will ask you if you want to set it as the default template for some language, and if you click yes, you're done! The Template Override should be filled in for that language on the Languages tab.

Но при выполнении данных шагов место, где теоретически должен был появиться шаблон оставалось пустым.
Никаких *.ket файлов я в директории Kawigi не нашел, но откуда-то он их брал?
Покопавшись в исходниках Kawigi, наконец-то нашел папку: ./KawigiEdit_2.1/rc/templates/ в которой собственно и храняться исходники templatов.

Вот как выглядит шаблон для C#:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Text.RegularExpressions;

public class <%:class-name%>
{
	public <%:return-type%> <%:method-name%>(<%:param-list%>)
	{
		<%:set-caret%>
	}

<%:testing-code%>
}
Подробнее:
<%class-name%> - название класса
<%return-type%> - тип возвращаемого значения
<%method-name%> - наименование основного метода
<%param-list%> - список параметров основного метода
<%set-caret%> - место установки каретки

Локально шаблон не компилировался из-за двух строк:
using System.Collections.Specialized;
и
using System.Text.RegularExpressions;

Моно упорно говорил, что такого не существует. (Может чего подключить надо? Mono 2.6 
и Mono .Net Runtime 2.10.5)

Описание тегов, которые я привёл выше не смог найти в документации вообще. Возникает вопрос,
почему они не документированы и есть ли еще другие полезные теги, о которых мы не знаем?

Благодарю за внимание.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

Автор SyFy, 13 лет назад, По-русски
Единственное, что более-менее в хорошем качестве нашел так это вот, но там нет примеров кода и на одних только "шаг 1", "шаг 2" достаточно сложно разобраться.

Подкиньте пожалуйста какую-то полезную доп инфу на данную тему, может визуализатор какой есть, а может и альтернативный алгоритм.

Спасибо.

Полный текст и комментарии »

  • Проголосовать: нравится
  • -3
  • Проголосовать: не нравится

Автор SyFy, 13 лет назад, По-русски

Начиналось всё с этого. До сих пор не могу редактировать, да и при создании блога вылезают ошибки... ну да ладно.


Просто вопрос, на которые хотелось бы получить ответы:
1. Будет ли добавлены в профиль пользователя: процент accepted отправок, процент фэйловых отправок, отношение процентов отправок, позицию пользователя по рейтингу и по вкладу, явно выделенные точки минимального и максимального рейтинга на графике и тд.
2. Будет ли для всех языков добавлена наконец-то константа ONLINE_JUDGE или (пример на Ruby) надо будет всегда писать что-то вроде этого:
(знак доллара)stdin = File.open("./input.txt", "r"); if ENV["LOGNAME"]!="yastukoyin"
3. Будет ли исправлен наконец-то поиск по тегам?
4. Буквально недавно появилась возможность (у меня) редактировать теги к задачам. От чего это зависит? От рейтинга? Вклада? Кол-ва уже решенных или всё вместе?
5. Смысл отображать куски (несколько строк) большого теста, если программа на нем завалилась, а понять скажем особенность теста по первым нескольким строкам мало вероятно?
6. Почему открывая страницы некоторых задач у меня не отображается блок "Отослать?", даже, если я и зарегистрирован на дорешивание?
7. Не добавить ли на страницу так же и ссылки на соответствующие официальные разборы/обсуждения контеста?
8. Почему бы не сделать live обновление стоимостей задач по время соревнования, дабы не обновлять страницу каждый раз желая узнать разбаловку текущую?
9. Почему бы не сделать отправку сообщения без редиректа на страницу с сообщениями и даже на странице сообщений с редиректом на неё же?
10. Будет ли исправлен поиск по хэндлам? Скажем вводим в строку "skyd" - молчит... а пользователь skydos есть. Или как варианта может поиск по regexp'у сделать?

UPD 1
11. Будет ли добавлена опция фильтрования в Архиве задач по дивизионам?
12. Так же хотелось бы иметь возможность перейти со страницы задачи к списку задач контеста, в котором данная задача была.
13. Иметь возможность в Анлгоязычном интерфейсе настроить в профиле отображение комментов на русском. (Полезно, если хочешь повысить скилы и навыки английского и так же видеть всю активность на сайте не только в виде англоязычных комментариев)
14. Почему бы не перенести коэффициенты на которые будет умножаться время выполнения программы с этого сайта для каждого языка?

UPD 2
15. Может, если человек подписан на ответы к своим комментариям по почте высылать ему не только ссылку и кто оставил комментарий, но и название треда и часть/всё сообщение?
16. Возможность вставлять в сообщения куски кода используя встроенную подсветку скажем через теги [code][/code]
17, Сделать возможность сохранять выбранные опции "Показывать только друзей" в списке людей решивших определенное кол-во задач.

UPD 3
18. Реквестирую обновление Ruby до 1.9.3, по причине того, что много исправлено и много чего добавлено и улучшего, скорость повысилась. Список улучшений.

Спасибо за внимание.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +31
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски

Почему бы не объединить две данные опции? 

На странице "Отослать решение" чуть ниже формы ввода кода (или чуть ниже опции "Выберите файл") добавить два поля, как это сделано на странице "Запуск" - "Ввод" и "Вывод", а рядом с кнопкой "Отослать" (страница "Отослать решение") добавить кнопку "Запустить".


Опция редактирования кода на сайте.

В предложении опять будет начало фразы "Почему бы не ... ?". Почему бы не добавить возможность редактировать код прямо на сайте. Предположим при отсылке задачи я обнаружил, что забыл добавить newline в конце какой-то строки: лезу в студию, исправляю, далее или копипаст кода в окно отсылок или отправка файла, а как было бы замечательно рядом с отправленным решением (задачей, кодом) иметь ссылку "Редактировать", после чего тебя переадресует на страницу "Отослать решение", с кодом в форме и соответствующе выбранной опцией подсветки синтаксиса (под язык).


Увеличение размера отображаемых "Выходных" данных.

"Только первые 255 байт" - огорчает... малова-то как-то, особенно, когда тестируешь программу (задачу), которая выводит строки.

"Не более 20 Кб " - радует.

Почему бы не ... сделать "Выход" == "Вход" ?


Четвертое "Почему бы не... ?" и последнее.

Сперва думал не писать об этом четвертом, но ... почему бы не к редактируемому коду добавлять (по желанию) генератор входных данных?

Думается мне, что минусов будет много у данного предложения, вернее не минусов, а сложностей с реализацией на стороне сервера, так как по сути-то генераторы пишут для больших тестов (крайние случаи можно и самому проверить), что будет сильно (достаточно сильно?) тормозить машину CF.


Спасибо за внимание.



PS

только что взглянул на теки (которых я еще не устанавливал), а там уже "cbr62", "beta round 62", "codeforces". Глюк или нет - решать вам :)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
  • Проголосовать: нравится
  • +32
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски

ВКонтакте данная опция реализована, уведомляет о пришедших сообщениях в личку и прочих событиях.

Удобно потому что не приходится часто заглядывать туда, чтобы проверить написали ли тебе что-то или нет.

Уведомления по почте частенько могут затеряться, можешь просто напросто забыть проверить почту, в то время, как мобильный телефон чаще всего под рукой ;)

Собственно интересно узнать насколько целесообразно введение данной опции, удобства, минусы.

Никто не говорит сразу о введении СМС для всех стран, сперва для России (как целевой аудитории), потом ближнее зарубежье и тд.... по мере удаления.

Спасибо за внимание.

Полный текст и комментарии »

  • Проголосовать: нравится
  • -5
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Будет ли будущее у такой программы? (Что-то вроде TopCoderовской Arenы)
Насколько больше будет преимуществ использования именно программы нежели сайта напрямую?

Полный текст и комментарии »

  • Проголосовать: нравится
  • -6
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
С недавних пор у меня Thunderbird трактует письма от CodeForces  как Junk (Спам) Mail и удаляет.
Собственно настройки не трогал, со спам фильтрами не играл, они вообще обновляются через инет, поэтому и копаться там смысла нет.
С чего вдруг такое счастье? У одного ли меня такое происходит?

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Была ли такая идея?
Если была, то почему не реализована или почему была отклонена?

Действительно очень удобно было бы просмотреть прямо в профиле пользователя его/ее отправки и исходные коды его/ее программ.

Что скажете?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Интересно узнать насколько тут разные по профилю люди :)
Я, например, только поступил во *********, на факультет "Биотехнические и медицинские аппараты и системы".

Полный текст и комментарии »

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Добрый день!
Недавно решил попрактиковаться на сайте https://www.spoj.pl и сразу столкнулся с проблемой, а она видимо там вечная - скорость чтения данных.
Ради интереса нашел вот эту задачу.
На КодФорсе читаю Console.ReadLine() и особо не заморачиваюсь, но на SPOJе видимо этого мало. Копал их форум, нашел только для ЯВЫ.

Самое интересное то, что вот у этой тройки результаты по времени очень хорошие я считаю.
Каким образом можно ускорить до такой степени чтение данных?
Буду благодарен за ссылки, отрывки кода и любую помощь!

Спасибо.

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Обфускация кода.
Можно ли правилами КодФорса?
Думаю, что нельзя, но в правилах (а их вообще я толком не нашел, нет нужного так всем FAQ) это не отмечено.

А в новом формате КодФорса, обфускация может спасти от взломов.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

Автор SyFy, 14 лет назад, По-русски
Что же здесь не так? http://paste.ubuntu.com/451985/
Переполнения нет, ничего лишнего не выводит, сверял ответы со взломами, уже сверял с кодом других участников... 2 тест не поддаётся покорению... в чем дело?
Спасибо!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +4
  • Проголосовать: не нравится

Автор SyFy, 15 лет назад, По-русски
  • Проголосовать: нравится
  • -3
  • Проголосовать: не нравится

Автор SyFy, 15 лет назад, По-русски
Использую Mono на Ubuntu.
Писал программу и подключал:
using Mono.Math; ( дополнительная информация )

У меня работает после подключения Mono.Security, здесь же выдает:
Can't compile program.cs:
program.cs(29,25): error CS0246: The type or namespace name `BigInteger' could not be found.
Are you missing a using directive or an assembly reference?

Вот отрывок кода: http://paste.ubuntu.com/426366/

Нельзя ли сделать так, чтобы и на сервере это работало?

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор SyFy, 15 лет назад, По-русски
1) Есть ли веские причины переходить на Шарп на контестах?
2) Ожидается ли на КодФорсе не Моно Шарп?

Спасибо за внимание и ответы.

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор SyFy, 15 лет назад, По-русски
При попытке добавить новую страну получаю такое окно.
После заполнения формы нажимаю "Сохранить", окошко исчезает и главная страница "замораживается" (кнопка "Сохранить изменения" блокируется и приходится перезагружать страницу, а изменения так и не сохраняются).

Может я что-то не так делаю или действительно глюк?
Спасибо за внимание.

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится