Size: a a a

2020 December 04

A

Aragaer in pro.algorithms
а можно поступить по-варварски и заставить компьютер перебирать все возможные последовательности операций
источник

АР

А Р in pro.algorithms
Да, такой вариант развития событий есть, но есть ли какое-то типовое решение, которым стоит пользоваться в таких случаях?
источник
2020 December 05

p

ptr in pro.algorithms
Такие задачи очень похожи на задачи со стеком
источник

IZ

Ilia Zviagin in pro.algorithms
А Р
Да, такой вариант развития событий есть, но есть ли какое-то типовое решение, которым стоит пользоваться в таких случаях?
Нет скорее всего.
источник

АР

А Р in pro.algorithms
ptr
Такие задачи очень похожи на задачи со стеком
Не могли бы вы рассказать чуть подробнее?
источник

p

ptr in pro.algorithms
А Р
Не могли бы вы рассказать чуть подробнее?
Это не совсем решение для всех задач, но часто в задачах, где массив разбит на отрезки и они как-то объединяются, эти отрезки можно хранить в стеке и объединять только два последних
источник

P

Pavel in pro.algorithms
Хм, я что-то совсем туплю, может вы подскажите куда копать
У меня есть два отрезка в двумерной системе координат, которые лежат на одной прямой и перекрывают друг-друга (неизвестно каким образом).
Мне нужно найти две точки - начало и конец отрезка который перекрывается

Пока что единственное что я придумал, это перебирать все возможные варианты которыми они могут перекрывать друг-друга.
Для этого возможно нужно переложить второй отрезок в систему координат, где первый отрезок является базисным вектором OX, у меня по сути получится два скаляра, относительных координат каждой точки второго отрезка относительно первого по оси X. Там уже можно будет перебрать варианты. Но как это провернуть с системой координат я пока ещё не разобрался.
Может я не вижу какой-то более очевидный способ..
источник

EZ

Evgenii Zheltonozhsk... in pro.algorithms
Pavel
Хм, я что-то совсем туплю, может вы подскажите куда копать
У меня есть два отрезка в двумерной системе координат, которые лежат на одной прямой и перекрывают друг-друга (неизвестно каким образом).
Мне нужно найти две точки - начало и конец отрезка который перекрывается

Пока что единственное что я придумал, это перебирать все возможные варианты которыми они могут перекрывать друг-друга.
Для этого возможно нужно переложить второй отрезок в систему координат, где первый отрезок является базисным вектором OX, у меня по сути получится два скаляра, относительных координат каждой точки второго отрезка относительно первого по оси X. Там уже можно будет перебрать варианты. Но как это провернуть с системой координат я пока ещё не разобрался.
Может я не вижу какой-то более очевидный способ..
Поменяй координаты так что одна ось параллельна отрезкам
источник

EZ

Evgenii Zheltonozhsk... in pro.algorithms
Просто домножить на матрицу где первый столбец это разность координат одного отрезка, а второй перпендикулярен ей
источник

P

Pavel in pro.algorithms
Evgenii Zheltonozhskii🇮🇱
Просто домножить на матрицу где первый столбец это разность координат одного отрезка, а второй перпендикулярен ей
попробую, спасибо!
источник
2020 December 06

NZ

Nazar Zakap in pro.algorithms
Ребята а в алгоритме Хаффмана кодирование выполняется таким образом?
АВССВ
Допустим А=00,В=101, С=001. Имеем:00101001001101 из этих битов нужно получить байты, разделим последовательность по 8 бит
00101001 = 41
00001101 = 13
Из 5 байтов сжали до 2 байт
источник

NZ

Nazar Zakap in pro.algorithms
То есть нужно последовательность битов разделять по 8 битов и получать байты ?
источник

ВВ

Вадим Великодный... in pro.algorithms
Nazar Zakap
Ребята а в алгоритме Хаффмана кодирование выполняется таким образом?
АВССВ
Допустим А=00,В=101, С=001. Имеем:00101001001101 из этих битов нужно получить байты, разделим последовательность по 8 бит
00101001 = 41
00001101 = 13
Из 5 байтов сжали до 2 байт
В данном случае, кстати, не код Хаффмана, так как код из примера не префиксный.
источник

ВВ

Вадим Великодный... in pro.algorithms
На байты нужно делить только для того, чтобы закодированные данные записать куда-то. При кодировании и декодировании работают с последовательностью битов.
источник

NZ

Nazar Zakap in pro.algorithms
Вадим Великодный
На байты нужно делить только для того, чтобы закодированные данные записать куда-то. При кодировании и декодировании работают с последовательностью битов.
Когда из текста я получил биты, допустим: 01100111000101. Эти биты нужно записать в файл, а не разбивать по 8 бит получая байты ?
источник

A

Aragaer in pro.algorithms
в файле всегда может быть только целое число байтов. Надо не "делить на байты", а сконструировать байты из этих бит
источник

A

Aragaer in pro.algorithms
то есть из первых 8 бит 01100111 надо сконструировать байт 0x67
источник

A

Aragaer in pro.algorithms
и вот его уже можно записывать
источник

NZ

Nazar Zakap in pro.algorithms
Вот допустим биты 0100011101010101 => 01000111| 01010101 - последовательность разбиваем по 8 бит. Из битов получаем 2 байта и записываем в файл
источник

NZ

Nazar Zakap in pro.algorithms
Так же ?
источник