Probably BFS with states (bfs по состояниям) with great optimization ?
2 2012-07-31 13:12:57
Re: Вычислительная геометрия: генерация сфер (6 ответов, оставленных в Problems)
А если сортировать и бинпоиском искать как-то... для рандомных радиусов меньше какого-то значения. Повторить несколько раз, пока не получиться поставить сферу с центром в (x0, y0, z0). Или сделать просто 10 итераций. Вместо сортировки можно set<> использовать.
3 2012-07-31 11:18:01
Re: Вычислительная геометрия: генерация сфер (6 ответов, оставленных в Problems)
Можно сгенерировать рандомную точку (x0, y0, z0) внутри параллелепипеда. И взять минимальное расстояние от этой точки до шести граней параллелепипеда и отметить это как максимальный радиус. И теперь можно просто сгенерировать радиус меньший или равный найденного. А если есть и другие сферы, то их тоже надо учесть (как грани).
4 2011-09-28 06:34:03
Re: Максимальное число вложенных параллелепипедов (3 ответов, оставленных в Problems)
Я на код почти не смотрел. Но, насколько знаю, эта задача решается максимальным паросочетанием.
5 2011-09-14 16:51:33
Re: Поиск цикла (9 ответов, оставленных в Problems)
Можно ссылку на задачу?!
Компонентой сильной связности (strongly connected component) называется такое (максимальное по включению) подмножество вершин , что любые две вершины этого подмножества достижимы друг из друга.
То есть это и есть цикл.
И вообще можно оптимизировать вашу программу, заменив векторы на массивы, вроде.
6 2011-09-14 09:13:07
Re: Поиск цикла (9 ответов, оставленных в Problems)
еще можно использовать это http://e-maxx.ru/algo/strong_connected_components.
7 2011-08-24 19:17:10
Re: Дерево 2 (4 ответов, оставленных в Problems)
При этом сложность какой будет?
Там Q запросов, а каждый запрос за O(N). Значит в общей сложности O(QN) Q=5*10^4, N = 2*10^4 => 10^9 операций вроде выходит.
8 2011-08-23 15:55:35
Тема: Дерево 2 (4 ответов, оставленных в Problems)
Как можно решить эту задачу http://acm.timus.ru/problem.aspx?space=1&num=1752???
Пытался решить бинпоиском + LCA но WA. Как можно ее по другому решить?
спасибо
9 2011-08-01 20:18:41
Тема: Сумма степеней двойки (1 ответов, оставленных в Problems)
http://acmp.ru/index.asp?main=task&id_task=525
Какую тут динамику можно использовать и можно ли какую-ту формулу придумать?!
10 2011-08-01 20:17:34
Тема: Деревни (0 ответов, оставленных в Problems)
http://acmp.ru/index.asp?main=task&id_task=212
Как надо решать эту задачу?
11 2011-05-02 19:37:45
Re: Подскажите алгоритм (7 ответов, оставленных в Problems)
Я когда-то встречал такую задачу. Тогда мне в голову пришла идея использовать СНМ(Система непересекающ. множеств). Хотя тогда я не смог реализовать.
12 2011-04-05 19:32:50
Re: STL (7 ответов, оставленных в Problems)
a esli delat' tak:
#include <iostream>
#include <cstdio>
#include <map>
using namespace std;
int main()
{
map <long long, int> A;
int n , m;
scanf("%d%d", &n, &m);
for (int i=0; i<n; i++)
{
string s;
cin>>s;
long long hash = 0;
for (int j=0; j<s.size(); j++)
{
hash = hash * 31 + (s[j]-'a'+1);
A[hash]++;
}
}
for (int i=0; i<m; i++)
{
string s;
cin>>s;
long long hash = 0;
for (int j=0; j<s.size(); j++) hash = hash * 31 + (s[j]-'a'+1);
cout<<A[hash]<<"\n";
}
return 0;
}
U menya TL 72test
13 2011-03-25 11:19:12
Re: Количество разложений числа на множители N<=2*10^9 (5 ответов, оставленных в Problems)
В первую очередь надо разложить число на простые множители. Время за O(sqrt(N))
И получится что-то вот такое:
p1^a1 * p2^a2 * ... pk^ak, где pi - это i-тое простое число
Ответом будет (a1+1)*(a2+1)*...(ak+1)
Например, если N=100, то 100 = 2^2 * 5^2, и ответ = (2+1)*(2+1) = 3*3 = 9.
Вот и все
Можете http://acmp.ru/index.asp?main=solution&id_task=171 посмотреть
14 2011-03-13 11:21:33
Тема: Дерево Отрезков (1 ответов, оставленных в Problems)
Плз, помогите решить эту http://informatics.mccme.ru/moodle/mod/ … terid=1638 задачу
Спасибо
15 2011-02-21 18:52:59
Re: STL (7 ответов, оставленных в Problems)
Можете реализацию Рабина - Карпа отправить с модулем и т.д. Спасибо...
16 2011-02-20 18:12:22
Re: STL (7 ответов, оставленных в Problems)
А как можно хранить хэши?
надо вроде бы хранить массив power, где будут находиться степени какого-то р, но при длине,скажем, N<=100000, невозможно хранить такое большое число.
В целом где можно найти статью про хэши? в этом сайте дана статья про хэши с короткой длины
17 2011-02-11 23:17:12
Тема: STL (7 ответов, оставленных в Problems)
http://contests.snarknews.info/files/sn … s/day3.pdf
как можно решить эту задачу не используя бор. А именно есть ли в STL какая-та библиотека что-ли?
18 2011-02-10 20:46:58
Re: FERZI (2 ответов, оставленных в Problems)
Спасибо, но мне нужна реализация
19 2011-02-09 17:47:05
Тема: FERZI (2 ответов, оставленных в Problems)
http://informatics.mccme.ru/moodle/mod/ … hp?id=1975
Кто может решить эту задачу: именно нужен код, а то в книгах по методу отжига ничего не понятно, может быть по коду пойму. Какие-то температуры, энергии и т.д. Как их использовать можете написать. И вообще они часто встречаются в олимпиадах?
21 2011-01-20 15:25:45
Тема: Загадочное число (3 ответов, оставленных в Problems)
Задача C. Загадочное число
Имя входного файла: enigmatic.in
Имя выходного файла: enigmatic.out
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
{------------------------------------------------}
Толя — младший научный сотрудник в Отделе Изучения Смысла Жизни. Недавно он обнару-
жил, что в десятичной записи числа N скрыта важная истина, проливающая свет на некоторые
из вопросов жизни человечества. Однако по своей натуре Толя — человек эгоистичный и не хо-
чет с кем-либо делиться своим открытием. Поэтому он решил запомнить это число, а все записи,
связанные с ним, съесть.
К сожалению, Толя немного рассеян и забывчив, поэтому для запоминания числа N он выбрал
следующий путь. Есть некоторый набор из K чисел, так или иначе связанных с жизнью нашего
ученого, которые он помнит очень хорошо, даже лучше, чем дату своего рождения. Все эти числа
не более чем трехзначные.
Толя пытается представить число N в виде конкатенации чисел из этого набора (например,
конкатенация чисел 1 и 2 может дать 12 или 21, в зависимости от порядка). Никакое число нельзя
использовать дважды, с другой стороны все числа использовать необязательно. При этом Толя
хочет придумать (для упрощения запоминания) такое представление, в котором использовалось бы
как можно меньше чисел.
Напишите программу, которая будет находить такое представление.
Формат входного файла
Первая строка входного файла содержит число N (1 ? N < 10^45). Вторая строка содержит число
K — количество чисел в наборе (1 ? K ? 1000). Третья строка содержит K памятных Толе чисел
(0 ? ai < 1000). Все числа в наборе различны и не содержат ведущих нулей.
Гарантируется, что существует хотя бы одно требуемое представление числа N.
Формат выходного файла
В первой строке выходного файла выведите число M — количество чисел в искомом представ-
лении. В последующих M строках выведите числа в том порядке, в котором их необходимо кон-
катенировать для получения числа N. Если искомых представлений несколько, выведите любое из
них.
Примеры
enigmatic.in
123
4
1 3 12 23
enigmatic.out
2
12
3
enigmatic.in
123
4
1 2 3 123
enigmatic.out
1
123
22 2011-01-07 13:37:19
Тема: дерево отрезков (2 ответов, оставленных в Algo)
как можно с помощью дерева отрезков делать update(l,r,x) за O(logN)?
update(l, r, x) = обновить все элементы с l до r на x
23 2011-01-03 09:22:40
Тема: Циклы в графе (0 ответов, оставленных в Problems)
дано N вершин(пока ребер нет)
надо найти кол-во всевозможных графов, т.е. надо построить ребра так, чтобы:
1) был цикл, содержащий все вершины(можно обходить вершины несколько раз)
2) ребра ориентированные:
21) между u и v может быть:
i) from u to v
ii) from v to u
iii) no edge
у меня вроде получилось так: (n-1)!*3^(n*(n-3)/2)
но в данном случае, кажется, повторяются постройки ребер
Пример:
if n=3 then answer=2
24 2010-10-15 16:54:03
Re: Метод отжига (3 ответов, оставленных в Problems)
A imenno realizaciyu kto-nibud' mozhet napisat'?
25 2010-10-09 13:36:19
Тема: Метод отжига (3 ответов, оставленных в Problems)
Как с помощью метода отжига решить задачу о ферзях:
Дано N<=200, надо найти одно любое решение