?

Log in

No account? Create an account
Не секрет, что некоторые телефоны Nokia, особенно "одноклассники", зачастую похожи друг на друга. Так, Nokia 6230 вызовет острое дежа-вю у тех, кто хоть раз держал в руках такие трубки, как Nokia 6610 или Nokia 6220. С другой стороны, зачем заново изобретать велосипед, тем более в консервативном бизнес-классе, где пользователю гораздо важнее функционал, нежели дизайнерские изыски. Об этом и не только расскажет тест МФ первого бизнес-аппарата финского производителя со съемной флеш-картой - Nokia 6230.
Флеш-карта - не единственное значимое отличие Nokia 6230 от предшественника - Nokia 6220. Стоит лишь взглянуть на дисплей новики, и сразу понимаешь: он радикально отличается от того, что было раньше в подобных трубках. Наконец-то Nokia смогла уйти от устаревших STN-дисплеев (4096 цветов) и оснастила 6230 TFT-матрицей на 65536 цветов. Особенно это сказалось на качестве видоискателя фотокамеры - изображение стало более сочное, живое. Но все по порядку.


Заря в поисках новичков

Основной состав луганской «Зари» выйдет из отпуска только в середине января, однако уже сейчас из расположения клуба начинают поступать неофициальные новости о возможных кадровых изменениях.

 Так, на тренировках с юношескими командами клуба были замечены экс-футболисты «Зари» Александр Волков и Игорь Сикорский. Оба игрока - воспитанники киевского футбола, передает Cxid.info.
 
 22-летний Александр Волков выступал в Луганске с ноября 2009 года по май 2011-го. За этот период нападающий провел за главную команду 5 матчей (голов не забивал), за молодежный состав - 34 матча (забил 10 мячей). Перед стартом нынешнего сезона Волков отправился в Донецк, выступая по арендному соглашению за «Олимпик», но в клубе первой лиге футболист не закрепился, проведя 18 матчей, но выходя преимущественно на замену и не забив ни одного гола.
 
 23-летний Игорь Сикорский выступал в Луганске с февраля 2008 года по май 2010-го. За это время фланговый полузащитник провел за главную команду 8 матчей, за молодежный состав - 64 матча (забил 14 голов). С июля 2010 года Сикорский играл за алчевскую «Сталь», имея регулярное место в основе и действуя на излюбленном левом фланге - и в полузащите, и в обороне.
 
 Не исключено, что оба футболиста останутся в расположении своих нынешних клубов, а в Луганске они тренируются только для поддержания формы, поскольку их команды сейчас в отпусках.

Главный тренер «Таврии» Семен Альтман прокомментировал выступление «Таврии» в первой части сезона, а также селекционную работу клуба.

— Удовлетворены ли вы выступлением команды в первой части сезона?
— Мне думается, что, работая в такой творческой области, как футбол, быть полностью удовлетворенным выступлением команды нельзя. Но и гневить Бога тоже не имеет смысла. В первой части чемпионата у нас было всё — и радость побед, и горечь поражений (особенно на последних минутах матчей), и радостные и досадные ничьи. В турнирной таблице мы занимаем седьмое место, которое открывает неплохие перспективы для хорошего завершения турнира.

Что касается содержания игры, то на базе анализа предыдущих выступлений команды и исходя из современных принципов ведения игры нами разработана вариативная тактическая модель, под которую подбирались соответствующие исполнители и которая наигрывалась в первой части сезона. В течение чемпионата нам иногда удавалось демонстрировать то, что мы наигрывали на тренировках, но над целостностью и законченностью нам еще предстоит кропотливо и неустанно работать. Главное в этой ситуации, что есть взаимопонимание с игроками и их желание совершенствоваться.

— Будете ли корректировать задачи, исходя из нынешнего турнирного положения?
— В целевой программе подготовки первостепенной задачей является создание боеспособной команды, которая могла бы конкурировать с ведущими клубами Украины. Наша турнирная задача — занять место, дающее право участвовать в Лиге Европы. Но практика предыдущих лет показывает — чтобы играть в еврокубках, к этому нужно быть подготовленным во всех аспектах ведения футбольного хозяйства: команда, инфраструктура (база, стадион, автобус и т.д.), наличие профессиональных клубных работников, соответствующие взаимоотношения внутри всего хозяйства, где каждый занимается своим делом. Чем, к сожалению, на сегодняшний день мы похвастаться не можем, хотя с приходом Дмитрия Селюка на должность вице-президента ведем неустанную работу в этом направлении. В этом плане примером может служить «Металлист», не говоря уже о «Динамо» и «Шахтере».

— Все ли задуманное удалось выполнить во время трансферного окна? Какие позиции планируете укрепить?
— Во время трансферного периода мы приобрели группу игроков, которые, считаю, усилили команду и достаточно хорошо провели эту часть чемпионата (Езерский, Калиниченко, Назаренко, Любичич, Путраш, Аделейе, Кейта, Алими). Исключение составил только Пищур, которому в силу определенных причин не удалось проявить себя в нашем клубе. На сегодняшний день мы укрепились квалифицированными футболистами — полузащитником Марко Нэ («Кубань», Краснодар), защитником Анисом Буссаиди («Ростов», Ростов-на-Дону), нападающим Фанендо Ади («Динамо», Киев), за которыми наблюдали длительное время, а также учитывали, что все эти исполнители адаптированы к нашим условиям жизни и к нашему чемпионату. На перспективу приобрели троих игроков юношеских сборных африканских стран.



Буквально неделю назад я загорелся идеей, максимально использовать для создания своих сайтов CSS3. И так как в последнее время меня мучает бессонница, я стал развивать эти навыки. Расслабляясь и смотря очередное видео, я пропитался новогодним настроением и решил сделать новогоднюю елку на CSS. Идея была в том, что все должно быть максимально простым, классическим и без использования картинок. В то время когда я делал елку, я решил сделать еще и таймер обратного отсчета к Новому году. На все это я потратил не очень много времени и масса удовольствия была мне обеспечена.

Итак, приступим.

HTML-код будет предельно простой:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>До Нового Року залишилось...</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="js/jquery-1.7.min.js" type="text/javascript"></script></script>
<script src="js/jquery.countdown.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var austDay = new Date(2011, 1, 1, 00, 00, 00) ;
austDay = new Date(austDay.getFullYear() + 1, 1 - 1, 1);
$('#defaultCountdown').countdown({until: austDay});
$('#year').text(austDay.getFullYear());
});
</script>
<script src="js/pseudocursor.js" type="text/javascript"></script>
</head>
<body>
<div class="fir-tree"><div class="stem"><div class="text">До
Нового Року
залишилось<span id="pseudoCursor">:</span></div></div>
<div class="conf-stem"></div>
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
<div class="d"></div>
<div class="e"></div>
<div class="f"></div>
<div class="g"></div>
<div class="h"></div>
<div class="i"></div>
<div class="j"></div>
<div class="k"></div>
<div class="l"></div>
<div class="timer">
<div id="defaultCountdown">
</div></div>
</body>
</html>


Пишем стили

Для начала мы создадим фон для нашей елки:
 body {
background: #E8E8E8;
}


Для создания елки я использовал легкую схему из двенадцати треугольников, ножки, и подставки — придавая им соответствующие стили.
Получилось следующее:
.fir-tree {
position: absolute;
top: 80%;
left: 45%;
width: 100px;
height: 30px;
background: #222222;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}

.fir-tree .conf-stem {
position: absolute;
top: 0%;
left: 10%;
width: 100px;
height: 30px;
background: #222222;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}

.fir-tree .stem {
position: absolute;
top: -120%;
left: 41%;
width: 30px;
height: 60px;
background: #222222;
}

.fir-tree .a {
position: inherit;
top: -430%;
left: -65%;
width:0;
height: 0;
border-left: 120px solid transparent;
border-right: 120px solid transparent;
border-bottom: 120px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .b {
position: inherit;
top: -485%;
left: -55%;
width:0;
height: 0;
border-left: 110px solid transparent;
border-right: 110px solid transparent;
border-bottom: 110px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .c {
position: inherit;
top: -535%;
left: -45%;
width:0;
height: 0;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
border-bottom: 100px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .d {
position: inherit;
top: -585%;
left: -35%;
width:0;
height: 0;
border-left: 90px solid transparent;
border-right: 90px solid transparent;
border-bottom: 90px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .e {
position: inherit;
top: -635%;
left: -25%;
width:0;
height: 0;
border-left: 80px solid transparent;
border-right: 80px solid transparent;
border-bottom: 80px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .f {
position: inherit;
top: -685%;
left: -15%;
width:0;
height: 0;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-bottom: 70px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .g {
position: inherit;
top: -725%;
left: -5%;
width:0;
height: 0;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
border-bottom: 60px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .h {
position: inherit;
top: -765%;
left: 5%;
width:0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .i {
position: inherit;
top: -805%;
left: 15%;
width:0;
height: 0;
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .j {
position: inherit;
top: -835%;
left: 25%;
width:0;
height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-bottom: 30px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .k {
position: inherit;
top: -855%;
left: 35%;
width:0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-bottom: 20px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}

.fir-tree .l {
position: inherit;
top: -872%;
left: 45%;
width:0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #222222;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}


Елка у нас уже есть и теперь нужно сделать таймер. Для его создания я выбрал плагин для JS под названием Countdown.
Что бы сделать обратный отсчет, я использовал такой шаблонный код:
$(function () {
var austDay = new Date(2011, 1, 1, 00, 00, 00) ;
austDay = new Date(austDay.getFullYear() + 1, 12 - 1, 32);
$('#defaultCountdown').countdown({until: austDay});
$('#year').text(austDay.getFullYear());
});


Для плагина конечно же можно добавить стили по вкусу, вот мои:
.countdown_show1 .countdown_section {
width: 200%;
}
.countdown_show2 .countdown_section {
width: 100%;
}
.countdown_show3 .countdown_section {
width: 100%;
}
.countdown_show4 .countdown_section {
width: 100%;
}
.countdown_show5 .countdown_section {
width: 100%;
}
.countdown_show6 .countdown_section {
width: 100%;
}
.countdown_show7 .countdown_section {
width: 60%;
}
.countdown_section {
display: block;
float: left;
font-size: 80%;
text-align: center;
}
.countdown_amount {
font-size: 200%;
}
.countdown_descr {
display: block;
width: 100%;
}


Полноценная елка у нас уже есть, осталось лишь сделать надпись. Для надписи можно использовать какой-нибудь красивый шрифт, но в данном примере я решил удержаться и следовать простоте.
.text {
position: absolute;
top: -800%;
left: -430%;
font-size: 40px;
color: #222222;
font-family: Verdana, Arial;
text-align: center;
font-weight:bold;
text-shadow: 4px 4px 7px rgba(0,0,0,0.2),
0px -6px 38px rgba(255,255,255,0.3);
}


И вот что у нас в результате получилось:

Демонстрация

Заключение

Итак, у нас получился красивый таймер в виде елки. Все довольно просто и красиво.
С наступающим!

Генеральный директор «Шахтера» Сергей Палкин рассказал о трансферных планах «горняков», судьбе футболистов, играющих в арендах в других клубах, и о переходе Морено в «Гремио».

— Сергей Анатольевич, команда давно уже в отпуске. У вас «зимние каникулы» будут?
— Вы что, шутите? Трансферная пора, контракты, работы достаточно.

— Луческу перед отпуском оставил пожелания по поводу приобретений футболистов на проблемные позиции?
— На сегодняшний день проблемных позиций в команде нет. Более того, на каждую есть конкуренция. Соответственно, особых пожеланий Луческу не оставлял. С другой стороны, для того чтобы покупать, нужно сначала продать. Если же постоянно покупать, то в такой ситуации приобретения могут дать обратный эффект — и деньги потратятся, и результат не будет достигнут. Поэтому в таких вопросах нужно быть аккуратными.

— Таргамадзе уже предпочел «Шахтеру» Москву?
— Согласен, что Давид — интересный и перспективный футболист. И я уже слышал, что он подписал предварительный контракт с нами. Но скажу, что ничего мы с ним не подписывали. И то, что футболист переходит в «Шахтер», вилами по воде писано.

— В Лондон на обследование поехал Чигринский. У него произошел рецидив старой травмы?
— Он проходил обследование за границей, и его результаты радуют. Надеюсь, с возобновлением чемпионата мы увидим Диму в строю.

— Бразильская пресса публикует интервью Жадсона, в которых футболист говорит о желании сменить обстановку. Пишут, что «Шахтер» готов продать игрока, но требует 10 млн евро. Что из этого правда?
— Я не могу отвечать за Жадсона. А в Интернете зачастую сложно понять, где правда, а где – додумывают. У клуба есть четка позиция: если наш футболист имеет желание попробовать свои силы в другом клубе (в случае с Жадсоном пишут о Бразилии), а по самому игроку будет предложение, которое удовлетворяет «Шахтер», мы готовы вести переговоры. Жадсон об этом тоже знает. Другое дело, что этот футболист нужен и нам самим, и мы не горим желанием расставаться с ним. Но на сегодня никаких предложений по Жадсону нет, поэтому и говорить не о чем.

— У Морено был разговор с Луческу перед тем, как игрока продали в «Гремио»?
— Мистер, естественно, знал об этом трансфере. Понятно, что каждый игрок перед покупкой или продажей имеет разговор с главным тренером команды, без этого невозможно. Мистер очень тщательно следит за такими моментами.

— «Шахтер» в итоге потерял деньги на футболисте?
— Условия сделки с «Гремио» достаточно сложные. Мы продали лишь 70% прав на футболиста, взамен получили долю прав на Дугласа Косту, доплачивалась еще определенная сумма. Но в целом трансфером мы полностью удовлетворены. А если и учесть полученные нами деньги за аренду Морено, а также молодой возраст игрока, который может еще поменять не один клуб в карьере, то в минусе мы точно не будем. Еще и заработаем где-то.

— Кто-то из игроков «Шахтера» в межсезонье уйдет в аренду?
— Сегодня еще рано говорить об этом. После первых сборов картина уже будет более ясна в этом плане.

— Правда, что «Шахтер» проявляет интерес к 19-летнему бразильцу Веллингтону из «Флуминенсе»?
— Честно говоря, не хотелось бы сегодня что-то комментировать, все равно это ни к чему не приведет. В Бразилии много футболистов хороших — кроме Веллингтона есть еще, скажем, Фернандо. Но другой вопрос, на каких условиях эти игроки будут приобретаться. Сегодня рано говорить еще о том, что кого-то покупаем или продаем.

— Федецкий, Кожанов, Бутко остаются в аренде или кто-то из них может поехать на сбор с главной командой?
— Федецкий однозначно остается до конца сезона в «Карпатах». То же касается и ребят в «Ильичевце». Но мы за ними пристально следим и посмотрим, что будет дальше.

— Где «Шахтер» планирует провести зимние сборы?
— Нас ждут два турнира — в ОАЭ и на Канарских островах. Турниры, которые были в прошлые годы, мы их, скажем так, повторяем, и соперники будут фактически те же.

есть описание множества интересных структур данных, таких как деревья отрезков, дуча и т.п. Если Вам интересны сложные структуры данных, то добро пожаловать под кат! В своем цикле статей я рассмотрю разные виды куч и способы их применения на практике:
1) Биномиальную кучу
2) Левую кучу
3) Фибоначчиеву кучу
4) Применение этих структур данных на практике

Постановка задачи:
Построить стуктуру данных, в которой будет храниться множество наших объектов (разных в зависимости от задачи), у каждого объекта будет поле ключ, по которому мы быстро сможем находить минимальный элемент. Для этой структуры должны бать возможны операции:
Make – создание новой пустой кучи,
Insert – вставка нового элемента в кучу,
Minimum – минимальный ключ,
ExtractMin – извлечение минимума,
Merge – слияние 2-х куч,
Decrease – уменьшение ключа,
Delete – удаление объекта.

Многие знакомы с простейшими способами реализации этий стуктуры, такими как массив :) и двоичная куча. На них я не буду подробно останавливаться ввиду их простоты и общеизвестности.

Как известно, для двоичной кучи асимптотика перечисленных выше операций такова:
Make – O(1)
Merge – O(N)
Insert – O(log N) – где N – количество элементов в куче.
Minimum – O(1)
ExtractMin – O(log N)
Decrease – O(log N)
Delete – O(log N)

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

Далее рассмотрим более интересную структуру данных, которая называется биномильная куча.

Биномиальная куча
Биномиальная куча – это множество биномиальных деревьев с некоторыми ограничениями. Мы их введем чуть позже.

Биномальное дерево – дерево, которое задается рекурентно:
Bi – это Bi – 1, в котором левым сыном корня сделали дерево Bi – 1.
B0 — это просто вершина.
Примеры для B0, B2, B3:
image

У биномиального деревева(Bk) есть ряд интересных свойств:
T.1. 2k вершин
T.2. Высота дерева k
T.3. Ci k вершин глубины i (вот почему они называются биномиальными: Ci k биномиальный коэффициент).
T.4. Дети корня – это B, Bk – 2, …, B0 – именно в этом порядке.
T.5. Максимальная высота вершины в биномиальном дереве O(log N)
Доказываются свойства по индукции. Предлагаю читателям самим провести доказательство, для лучшего понимания деревьев.

Итак, теперь вернемся к биномиальным кучам. Биномиальная куча – множество биномильных деревьев, со следующими ограничениями:
1) В каждом из биномиальных деревьев сохраняется свойство кучи.
2) Нет двух деревьев одинакового размера
3) Деревья упорядоченны по размеру.

Поговорим о том, как биномильная куча будет храниться в программе. Мы будем использовать метод “левый сын – правый брат”. Будем хранить корневой список(root_list, его длина root_list.length), в котором будут корни биномиальных деревьев, в порядке возрастания высоты. У каждой вершины будут следующие поля:
data – данные, которые храняться в вершине(по ним мы и находим минимум)
right – правый брат
child – левый сын
degree– степень вершины(очевидно деревья в биномиальной куче упорядоченны по этому полю)

Сразу же заметим:
Свойство H.1:
Длина root_list.length = O(log N), где N — количество элементов в куче.
Для доказательства достаточно заметить, что из-за T.1, наличие дерева Bk в двоичной записи числа.

Перейдем к описанию операций, которые можно проводить с биномиальными кучами:

Make
Задача: создать пустую кучу.
Алгоритм: создаем пустой список root_list.
Сложность: очевидно, время работы O(1).

Merge
Задача: объединить 2 кучи в 1.
Алгоритм: сначала объединим корневые списки куч в 1 корневой список, поддерживая упорядоченность по degree. Алгоритм аналогичен слиянию 2-х массивов в mergeSort:
Храним по указателю на начало списков и в результирующией список записываем минимальный из них, тот откуда только что записали сдвигаем на следующий. Далее проходимся от начала до конца нового полученного корневого списка и сливаем деревья одинакового размера в 1. Могут быть случаи:
1) Только 2 дерева одинакового размера. Тогда объединяем их.
2) 3 дерева одинакового размера. Объединяем 2 последних.
При объединении двух деревьев нужно лишь посмотреть в корне какого из них меньший ключ и сделать другое дерево левым сыном корня этого дерева.

Пример, того, что получается после объединения двух куч:
image

Сложность: Время работы O(root_list1.length) + O(root_list2.length) = (по свойству H.1) = O(log N).
За один проход (O(log N )) мы получим объединенное биномиальное дерево. Получаем, что общая сложность O(log N).

Insert
Задача: вставить новый элемент в кучу.
Алгоритм: Создаем кучу из одного элемента и объединяем с нашей кучей.
Сложность: O(1) + O(log(N)) = O(log(N)).

Minimum
Задача: найти минимум в куче.
Алгоритм: очевидно, минимум находится в корневом списке, то есть, чтобы его найти нужно пройтись по корневому списку.
Сложность: O(root_list.length) = O(log(N)).

ExtractMin
Задача: удалить минимальный элемент.
Алгоритм: находим его при помощи Minimum. Удаляем его из корневого списка. Из перевернутого списка его детей делаем root_list для новой кучи (H1) и объединяем исходную кучу с H1.
Сложность: так как каждая операция в извлечении минимума работает за O(log N): O(log N) + O(log N) + O(log N) = O(log N)

Decrease
Задача: уменьшить значение data в данной вершине.
Алгоритм: уменьшаем значение в вершине. Тогда свойство кучи будет возможно нарушено для нашей вершины и ее предка, тогда меняем их местами. Продолжаем процесс, пока наша вершина не “всплывет” на свое место. Алгоритм работает также, как аналогичный в двоичной куче.
Сложность: В худшем случае наша вершина будет всплывать до корня, то есть мы совершим O(log N ) действий (вершина на каждом шаге “всплывает” на уровень выше, а высота биномиального дерева по T.5 O(log N))

Delete
Задача: удалить произвольный элемент.
Алгоритм: сначала уменьшим при помощи Decrease значение в вершине до минимально возможного. А затем удалим минимальный в куче (ExtractMin).
Сложность: O(log N) + O(log N) = O(log N)

Заключение.
Мы рассмотрели структуру данных биномиальная куча и доказали ее асимптотику.
В следующей статье на основе биномиальной кучи мы построим чуть более сложную структуру данных, а именно Фибоначчиеву кучу.

Отказ на приказ

GoDaddy на этой неделе подвергся бойкоту со стороны интернет-сообщества за поддержку законопроекта SOPA. Владельцы сайтов в массовом порядке переводят домены к другим регистраторам.

По данным сервиса мониторинга DailyChanges, в последнюю неделю количество доменов на нейм-серверах GoDaddy (ns.domaincontrol.com) снижается каждый день на несколько тысяч. При общем количестве более 32 млн, это не очень несущественно, но руководство всё-таки встревожилось. Компания начала обзванивать клиентов, которые переводят домены к другим регистраторам — и пытаются выяснить, по какой причине они это делают. Имидж GoDaddy тоже пострадал. Чтобы как-то исправить ситуацию, пиар-отдел компании опубликовал заявление, что GoDaddy больше «не поддерживает SOPA».

Но вчера исполнительный директор компании, в интервью TechCrunch, будучи прижатым к стенке, был вынужден объяснить, что означает «отказ от поддержки SOPA». Он объяснил, что GoDaddy не исключается из списка, предъявленного в Палату представителей США, и он не согласен официально сообщить в парламенте о том, что компания сменила позицию. Мол, GoDaddy просто «отступает и даёт другим занять лидерские роли». По мнению интернет-сообщества, эта ситуация откровенно демонстрирует всю лживую сущность компании GoDaddy.

Напомним, что GoDaddy — одна из интернет-компаний, которая попала в пресловутый список организаций (PDF), официально выступивших в поддержку SOPA. Список содержит 142 компании и организации, главным образом — представителей видео- и звукозаписывающей индустрии, а также издательского бизнеса, плюс отдельные представители индустрии моды (Estée Lauder, L’Oreal, Tiffany & Co) и фармацевтической отрасли (Pfizer).

Бравый защитник

Многолетнему капитану «Черноморца» Вячеславу Лещуку сегодня, 24 декабря, исполняется 60

Время его как будто не изменяет. Все такой же подтянутый, доброжелательный, корректный, ироничный, улыбчивый, склонный к трезвому, спокойному анализу. Не случайно и в послефутбольной жизни он не пропал, как, увы, многие из его товарищей по команде... Плавал на судах ЧМП помощником капитана, занимал ответственный пост в зарубежной фирме. Но, конечно, главным делом жизни В. Лещука был футбол, а, если еще конкретнее, — «Черноморец».

Впервые воспитанник белгород-днестровского тренера Э. Штейнберга «засветился» в «дубле» популярнейшего в стране клуба в 1969 году. Но в основном составе вышел лишь в 1973-м, и продолжал играть в центре полузащиты и защиты до 1983 года. Всего сыграл за «Черноморец» 313 матчей, в которых забил 16 мячей. Выигрывал бронзовые медали чемпионата Советского Союза, в составе сборной Украины занял 3-е место на Спартакиаде народов СССР. Привлекался в национальную сборную, входил в состав 33 лучших футболистов страны.

Играл неброско, но крайне надежно. Таких ценят тренеры, таким доверяют партнеры. В центре обороны «Черноморца» всегда играли незаурядные личности, достаточно назвать Юрия Заболотного, Алексея Попичко, Виталия Фейдмана, Виктора Головина, Вадима Плоскину, Александра Скрипника, Игоря Соколовского и их более молодых коллег. Но даже на этом звездном поле Лещук — вне конкуренции. Потому-то и играл практически без замен, потому и носил бессменно капитанскую повязку.

А когда закончил играть (внезапно, как отрезал), заступил на пост начальника команды, будучи верным помощником Виктора Прокопенко. Он — первый президент ФК «Черноморец» в 1992 — 1995 годах. В новейшей истории команды один сезон работал спортивным директором.

В течение многих лет мне довелось общаться с Вячеславом. И каждый раз убеждался: вот человек, на которого всегда можно положиться. Оно и понятно: настоящий защитник!

Была ли случайной победа «АПОЭЛа» над «Зенитом» в первом туре? Могут ли киприоты сотворить ещё один подвиг? И на что способны «горняки» после поражения от «Порту»? Ответы на эти вопросы должна была дать встреча украинского и кипрского чемпионов на «Донбасс Арене».

Перед этим поединком главный вопрос для донецких болельщиков звучал так: что делать в обороне без удалённых в Португалии Ракицкого и Чигринского? Луческу ответил, выпустив в стартовом составе Чижова и Кучера. И тут, конечно, возникали некоторые опасения. Если Кучер иногда появляется в составе и даже имеет честь получать вызов в сборную, то насчёт Чижова… Конечно, я подозревал, что именно Александр займёт одно из мест в центре обороны. Но ведь практики-то у него в последнее время было маловато, а это в решающий момент могло сказаться… Дальнейшие перипетии поединка показали, что Чижов, несмотря на то, что проводил только второй свой поединок в еврокубках (и дебютный  - в Лиге чемпионов) свою задачу выполнил – не дал в большинстве эпизодов развернуться «наконечнику» атак «АПОЭЛа» Аилтону. И пропущенный «Шахтёром» гол – не совсем вина Александра. Впрочем, до этого эпизода мы ещё дойдём.

А пока вести из Питера подоспели – «Зенит» обыграл «Порту». При таком раскладе в случае победы «Шахтёра» все четыре команды имели бы после двух туров по три очка. Ну, а зная максимальные настроения «оранжево-чёрных», можно было предположить, что дончане сделают всё, чтобы забить «легендарным» как можно больше мячей и по разнице голов выйти на первое место (а чем чёрт не шутит?). Вот только матч показал, что сделать это будет ой как сложно. И тут следует отдать должное киприотам, которые, подобно герою древнегреческих мифов, совершали сразу все двенадцать подвигов в одном матче.

Сама игра для гостей началась очень неудачно. Мало того, что они уже в дебюте встречи лишились получившего повреждение Мандуку, так ещё позволили «Шахтёру» завладеть инициативой, не прибегая к разведке боем. Впрочем, для хозяев «Донбасс Арены» это – привычное явление. И уже по истечению первых пяти минут подопечные Мирчи Луческу должны были открывать счёт, однако Хиотис справился с опасным дальним ударом Виллиана. И почему-то этот удар бразильца долгое время оставался единственным, нанесённым в створ ворот «АПОЭЛа». Ведь было видно, что донецкая команда настроена на быстрый гол. Тем не менее, сами же «оранжево-чёрные» позволили немного выровнять игру. «АПОЭЛ» умело играл вторым номером, а «Шахтёр» же предпочитал больше контролировать мяч, изредка выдавая кинжальные выпады в сердце обороны «жёлто-синих». Правда, при этом дончане умудрились увлечься атакой и чуть не пропустили разящий контрвыпад гостей, в результате чего Чижову пришлось фолить на Аилтоне и зарабатывать «горчичник». К счастью для донецких болельщиков, Бонавентура не смог извлечь выгоду из потенциально опасного штрафного. Этот момент заставил футболистов «Шахтёра» задвигаться поактивнее и заставить оборону гостей работать в поте лица. И ближе к концу первого тайма давление на ворота «АПОЭЛа» усиливалось. Порой только счастье было на стороне подопечных Йовановича, которые могли не раз пропустить. Вспомнить хотя бы супермомент у Луиса Адриано, который с нескольких метров пробил «по воробьям». А удар Срны мимо дальнего угла… Гол назревал, однако «АПОЭЛ» в первой 45-минутке выстоял.

С самого начала второго тайма «Шахтёр» начал давить на ворота Хиотиса, поскольку становилось понятно, что забивать надо как можно быстрее, чтобы в дальнейшем сбросить с себя некоторый психологический груз. Один только Тейшейра мог два раза переправлять мяч в сетку, но ему фатально не везло. А вот «АПОЭЛу» повезло. Причём как повезло!!! Тричковски и Каламбидис неплохо обыгрались между собой, и Тричковски огорчил Рыбку – 0:1. Такого поворота событий мало кто ожидал. К чести «горняков», они не опустили руки из-за того, что пропустили вопреки логике. Наоборот – они сразу же отыгрались. Бразильские атакующие игроки «Шахтёра» наконец-то сказали своё веское слово. Виллиан, получив пас на правом фланге, прострелил в район вратарской. А там ой как некстати для «АПОЭЛа» неудачно сыграл Хиотис, который, играя на опережение, отбил мяч рукой прямо на Жадсона. А тому только это и надо было, чтобы забить. И в который раз донецкие болельщики должны говорить «спасибо» своей «восьмёрке» за этот спасительный гол. Стоит заметить, что до этого Жадсон на поле был не всегда заметен, а тут выстрелил в нужный момент.

К удивлению, киприоты, даже пропустив, не стали только отсиживаться в обороне. Они при первой же возможности старались опасно атаковать. Так, в одном из эпизодов Солари, выйдя на оперативный простор, мог делать счёт 2:1 в пользу гостей, однако на этот раз Рыбка не сплоховал. Хотя если бы Солари смог подсечь мяч над голкипером, то последствия для хозяев могли бы быть плачевными. А так – «Шахтёр» мог наказать за это небрежное отношение к своим моментам. И не раз мог. Но в эту ночь фортуна решила отвернуться от хозяев – то Хиотис выручал, то подводило завершение атак. Не помогли Луческу и сделанные замены. В итоге после того, как истекла третья добавленная минута второго тайма, арбитру матча ничего не оставалось, кроме как закончить игру, которая проходила при явном преимуществе «Шахтёра», но закончилась подписанием «мировой».

Вот вам и «АПОЭЛ»… В двух матчах против двух бывших обладателей Кубка УЕФА кипрская команда взяла три очка и, неожиданно для многих, стала лидером своей группы. И если «жёлто-синие» смогут отобрать очки у ещё одного коллектива, имеющего опыт завоевания Кубка УЕФА – «Порту» - то этому уже можно будет не удивляться. Что же касается «Шахтёра», то есть мнение, что в игре против «Зенита» ему с такой реализацией моментов будет очень туго. И, к тому же, в поединке против чемпионов России у нашего единственного полпреда в Лиге чемпионов уже не будет права на ошибку. Хотелось бы, конечно, чтобы матчи «Шахтёра» с «Зенитом», помимо всего прочего, не имели каких-то политических аспектов, но, наверное, этого избежать не удастся. И всё-таки, попробуем сосредоточиться только на футболе…

Приглашаются команды на футзальный турнир!

В начале будущего года стартует очередной, пятый по счету, розыгрыш престижного киевского футзального турнира СНВ-cup 2012!

Даты начала турнира - 14-15 января 2012. В турнире будет участвовать 16 команд, разбитых на 2 группы (по 8 команд в каждой). Все 8 участников группы проведут между собой по одному матчу (7 туров) и выйдут в следующий этап соревнований. С 1/8 финала команды будут играть по Олимпийской системе, на вылет. Таким образом, каждая команда проведет на турнире 8 гарантированных матчей.

Матчи турнира будут проходить по субботам и воскресеньям. Ориентировочное завершение турнира запланировано на 18-19 февраля, когда состоятся финальные игры. Все матчи пройдут в большом зале Спорткомплекса КПИ. Один матч будет состоять из двух таймов по 15 минут "грязного" времени. В составе команды - 4 полевых игрока и 1 вратарь.

Поединки СНВ-cup 2012 будут обслуживаться квалифицированными арбитрами Федерации футзала Киева. На матчах будет присутствовать врач. В распоряжении команд и болельщиков также будут раздевалки, душевые и трибуны.

Турнир будет освящаться на Интернет-ресурсах с большой посещаемостью - Sport.ua и Turnir.kiev.ua. В новом сезоне СНВ-cup на этих ресурсах будут появляться оперативные отчеты по матчам, а также фото-отчеты. Также возможно размещение Вашей рекламы на матчах и в отчетах турнира!

В конце турнира призеры СНВ-cup 2012 и его победитель получат ценные медали и кубки. Также свою награду получит лучший бомбардир турнира и лучший вратарь турнира. В заявке на турнир в составе каждой команды может присутствовать максимум 18 футболистов.

Заявки на участие в турнир принимаются до 26 декабря 2011 года. Жеребьевка турнира запланирована на 27 декабря 2011 года в офисе информационного агентства Sport.ua.

Для заявки команды на турнир Вы можете связаться с организатором СНВ-cup, Антоном Светличным по номеру телефона +38 (096) 675-9595 или по электронной почте

Profile

квартиры, Недвижимость, аренда, здания, дома
beauutiful
Новости В Мире, В России и Украине
Новости, Интересное, Мир вокруг нас, Жизнь

Latest Month

April 2012
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Tags

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Tiffany Chow