MBo
Jul 21 18:06
Удачи!
MBo
Jul 21 18:04
Ну хорошо, а то я опасался, что вам может понадобиться какое-нибудь распределение из теории очередей (я не спец в этом)
MBo
Jul 21 17:59
@rotabor Так в результате вы достигли, чего хотели?
MBo
Jul 21 17:59
@rotabor С сигмовидной функцией вы можете получить, что, например, при генерации в диапазоне 0..1 у вас будет поровну значений меньше 0.5 и больше 0.5, но они будут группироваться вблизи нуля и вблизи единицы.
MBo
Jul 21 17:59
@rotabor Возведение в степень (x^2, например) - выпуклая, у выпуклых функция вторая производная положительная, выпуклость вниз (да , в житейском смысле это необычно).
MBo
Jul 21 17:59
Если вы хотите получить конкретную функцию распределения, то есть метод обратного преобразования Смирнова. Для простого случая (значения поменьше-почаще) подойдёт возведение в степень как уже подсказали, или любая похоже выглядящая возрастающая выпуклая функция
 
MBo
May 26 08:57
@Vitalizzare Задачу распределения цветов по ячейкам. Подсчёт площади может быть выполнен в рамках этого же подхода (при небольших n)
MBo
May 26 08:57
@Vitalizzare Нет, никаких точек я не представляю. Они не нужны. И положение прямоугольника тоже не нужно.
MBo
May 26 08:57
@Solt Да, действительно (но это несколько нетрадиционно;))
MBo
May 26 08:57
@Vitalizzare Автор ответа показал, как найти цвет в каждой ячейке матрицы, и на основании нумерации с единицы (i + j) mod 3 для всех 1 ≤ i, j ≤ n. я считаю, что ответ верный, с двойкой в левом верхнем углу (за исключением того, что циклы не доходят до n). Вероятно, это поможет вопрошающему довести задачу до конца с условием вскрывшихся обстоятельств.
MBo
May 26 08:57
@Vitalizzare Нет, конечно. Матрица квадратная, её ячейка M[j,j] - прямоугольник со сторонами A[i] и B[j]. С учётом дополнения про площади их (площади) можно посчитать простым обходом либо хитрым способом при больших n
MBo
May 26 08:57
@Vitalizzare Так, как на втором рисунке. Прямоугольник - "Пересечение вертикальной полосы i и горизонтальной полосы j"
MBo
May 26 08:57
Влияет только номер полосы, а не ее позиция. Дополнение про площадь появилось уже только в комментарии к ответу
MBo
May 26 08:57
@Vitalizzare В вопросе ведь никак не оговаривалось, на что влияет ширина полос
 
MBo
Apr 7 22:27
справа остается 2*n-i позиций, на них будет op+(op+bal) скобок.
MBo
Apr 7 22:27
Да, именно так.
MBo
Apr 7 22:27
n-количество пар, bal - баланс, op - opening brackets, cl - closing ones. main начинается с n=15, def - определение функции, // - целочисленное деление, s[:i] - префикс(начало) строки из i символов
MBo
Apr 7 22:27
@gstackoverflow Там же описан алгоритм и есть ссылка (у меня периодически не работает). Собственно, в моем коде, кроме обратного цикла и генерации строки из одинаковых символов "("*op, специфики Питона нет.
 

 Stack Overflow на русском

Генерал Дис Куссий несёт возмездие во имя ru.stackoverflow.com
MBo
Jan 30 16:28
Что-то странное происходит, ru.stackoverflow.com/users/562052/amgarak в бешеном темпе стирает свои ответы
 
MBo
Jan 11 00:15
Наименьший делитель n^2+1 - простое число вида a^2+b^2 (или двойка+простые%4==1): 2, 5, 13, 17, 29, 37, 41, 53, 61, 73..., таких чисел 49012 в нужном диапазоне. Миллион проверок по такой (заранее сгенерированной) таблице - для Python долговато будет. Что-то ещё более хитрое требуется?
MBo
Jan 11 00:15
Однако вы приняли только один ответ на свои вопросы. Что помешало?
 
MBo
Dec 22, 2024 07:55
Хм... А прозрачность не хотите установить?
 
MBo
Nov 11, 2024 20:53
Если сумма невелика, а массив довольно длинный, то можно решать динамическим программированием, поиском subset sum с сохранением подмножеств. Если массив короткий, то можно отсортировать, и рекурсивно проверять возможность собрать сумму sum-a[i] из оставшихся элементов.
MBo
Nov 11, 2024 20:53
А какие ограничения есть на входные данные (длина массива, значение суммы) ?
MBo
Nov 11, 2024 20:53
Хотя, судя по "Убедитесь, что вы сохраняете только уникальные подмассивы" - могут повторяться...
MBo
Nov 11, 2024 20:53
И ещё вопрос к условию "множество (массив) " подразумевает, что элементы не повторяются?
MBo
Nov 11, 2024 20:53
Показывайте, что вы сами наработали, без этого никак. И подмассивами обычно называют непрерывные куски, а у вас подмножества.
 
MBo
Nov 1, 2024 14:30
Постарайтесь объяснить себе, что делает код, и чего в нем не хватает. Дело в элементарной логике.
MBo
Nov 1, 2024 14:30
Вас не смущает, что ваш код не сработает для примера из условия ?
 
MBo
Oct 16, 2024 20:04
на строке с маллоком переполнения быть не может. А вот то, что вы в константные строки пытаетесь писать - это беда. В прошлой теме же вам советовали, что делать - указатели переставлять, а не тела строк.
MBo
Oct 16, 2024 20:04
А вы смОтрите размер указателя, а не количество памяти, на которую он указывает. Это количество скрыто, но менеджер памяти его знает, и free передаст. Для строк - strlen (но оно проверяет позицию завершающего ноля, а не истинное количество выделенной памяти)
MBo
Oct 16, 2024 20:04
Под указатели вы выделили здесь c = malloc(sizeof(char*) * size);, а под тела строк нужно c[i] = malloc(1 + длинастроки );
MBo
Oct 16, 2024 20:04
P.S. А, всё, увидел. Нужно срочно читать про указатели и разбираться в этой теме. В c[] хранятся указатели, с[i] - указатель, а память выделяется под тело строки, на которую он будет указывать
MBo
Oct 16, 2024 20:04
И расскажите, почему у вас именно так для c[i] выделяется память, какие соображения имелись в виду.
 
MBo
Sep 3, 2024 17:04
@StanislavVolodarskiy Хм, похоже я действительно невнимательно посмотрел на картинку. Однако она мне непонятна ("нельзя его удлинять" на картинке нарушено?), я интерпретировал задачу так же, как CrazyElf. Хорошо бы увидеть истинное условие.
MBo
Sep 3, 2024 17:04
Проблемы текущего решения не в памяти - там просто хранятся входные данные, а в том, что оно квадратичное от размера массива. Однако можно решить за линейное время, например, с использованием монотонного стека ru.stackoverflow.com/a/1351146/291659. Дубликат не знаю- ставить, или нет, поскольку организация входных данных там чуть другая, но после предобработки получается то же самое
 
MBo
Aug 19, 2024 21:51
Если возник новый вопрос - задавайте, а не портите старый, который относится совершенно к другой теме.
 
MBo
Apr 25, 2024 18:10
@PRODIGY Понятно. Это линейный поиск, а не бинарный (бинарный применяется для поиска в сортированных данных). Получается для каждой строки - чтение всех данных от начала файла до неё.
MBo
Apr 25, 2024 18:10
@PRODIGY Поясните про бинарный поиск...
 
MBo
Feb 12, 2024 20:47
Зря вы изменили - a*c > int может быть
MBo
Feb 12, 2024 20:47
А точно ответ неверный, а не время превышено?
 
MBo
Dec 12, 2023 18:44
Когда C не коллинеарен N, то решений бесконечное число, если не делать дополнительных ограничений. Может, в этом дело?
MBo
Dec 12, 2023 18:44
На простых примерах проверяли? Сначала центр окружности в начале координат. Потом на оси OX, с нормалью (1,0,0). Для этих случаев легко вручную посчитать время. И, возможно, увидеть ошибки.
MBo
Dec 12, 2023 18:44
ОК, тогда понятно. V * t= np.linalg.norm(orbital_position) вам нужно решить. Или квадраты этих величин (V*t)^2= np.linalg.dot(orbital_position, orbital_position) -посмотрите, что для решателя лучше
MBo
Dec 12, 2023 18:44
центр окружности - не в начале координат? (судя по наличию C)
MBo
Dec 12, 2023 18:44
Нужно задать направление движения, вектор скорости. Я же не знаю, какое оно должно быть. Какая вообще логика предполагается?
MBo
Dec 12, 2023 18:44
Я не знаю, как у вас probe должно двигаться. Сейчас на каждом шаге вектор скорости меняется
MBo
Dec 12, 2023 18:44
Плохо. Для движения по прямой нужно использовать постоянный вектор. Если вы домножаете на вектор orbital_position, то у вас направление от времени мотыляется по конусу или ещё как. Второй объект начинает движение - вот это как происходит, как задаётся?
MBo
Dec 12, 2023 18:44
V ведь у вас вектор, не абсолютное значение скорости?