Как оптимизировать переключение контекста между процессами при следующей настройке?
Существует n сегментов, каждому сегменту назначается поток. Максимальный размер стека потока, назначенного i-му сегменту, обозначается threadSize для всех 1 ≤ i ≤ n.
Для любого высокоприоритетного процесса размеры стека некоторых сегменты необходимо увеличить. Сегмент i называется особенным, если threadSize < threadSize > threadSize[i + 1]. Однако сегменты на каждом конце не могут быть особенными.
Цель состоит в том, чтобы изменить размеры стека таким образом, чтобы максимально увеличить количество специальных сегментов. Вам разрешено выбрать любой сегмент и увеличить размер его стека на x. Более формально:
Выберите индекс i и целое число x, где 0 ≤ x ≤ 10^18.
< /li>
Увеличить размер стека i-го сегмента с threadSize до threadSize + x.
Как найти минимальное общее увеличение размера стека сегментов для достижения максимального количества специальных сегментов?
long findMinIncrease(vector размер нити) {
int n = threadSize.size();
long total = 0;
for (int i = n - 2; i >= 1; i--) {
if (threadSize[i] = threadSize[i - 1]) {
int increase = max(threadSize[i + 1], threadSize[i - 1]) - threadSize[i] + 1;
total += increase;
threadSize[i] += increase;
}
}
return total;
Как оптимизировать переключение контекста между процессами при следующей настройке? Существует n сегментов, каждому сегменту назначается поток. Максимальный размер стека потока, назначенного i-му сегменту, обозначается threadSize[i] для всех 1 ≤ i ≤ n. Для любого высокоприоритетного процесса размеры стека некоторых сегменты необходимо увеличить. Сегмент i называется особенным, если threadSize[i - 1] < threadSize[i] > threadSize[i + 1]. Однако сегменты на каждом конце не могут быть особенными. Цель состоит в том, чтобы изменить размеры стека таким образом, чтобы максимально увеличить количество специальных сегментов. Вам разрешено выбрать любой сегмент и увеличить размер его стека на x. Более формально: [list] [*]Выберите индекс i и целое число x, где 0 ≤ x ≤ 10^18. < /li> Увеличить размер стека i-го сегмента с threadSize[i] до threadSize[i] + x.
[/list] Как найти минимальное общее увеличение размера стека сегментов для достижения максимального количества специальных сегментов? long findMinIncrease(vector размер нити) { [code]int n = threadSize.size();
Мне нужно декодировать несколько больших строк base64 размером от нескольких сотен МБ до ~5 ГБ каждая.
Очевидное решение — один вызов до base64.b64decode ( эталонный вариант ).
Я пытаюсь ускорить процесс с помощью многопроцессорности, но, что...
Мне нужно декодировать несколько больших строк base64 размером от нескольких сотен МБ до ~5 ГБ каждая.
Очевидное решение — один вызов до base64.b64decode ( эталонный вариант ).
Я пытаюсь ускорить процесс с помощью многопроцессорности, но, что...
Мне нужно получить только общее возможное количество сегментов для агрегирования сегментов.
Я пытаюсь получить количество документов с повторяющимся значением для поля электронной почты. Я использовал следующий совокупный запрос, чтобы получить...
Я работаю с набором данных, в котором пользователи взаимодействуют через приложение или веб-сайт, и мне нужно определить оптимальную комбинацию переменных (x1, x2,... xn), которая позволит максимизировать количество пользователей классифицируются...