• Как разрешить доступ Open Server'у к файлу hosts?

    moroz69off
    @moroz69off
    баннерМейкер№02
    Дима, тебе нужно сделать свою учётку владельцем файла, применить. Закрыть диалог. Потом снова Свойства - Безопасность - Изменить - Добавить свою учётку с полным доступом.
    Это если очень надо, чтобы openserver мог вносить изменения, а так, чтобы попроще - то решение Nik Gubin тоже подходит.
    5c51ca3944f41656292713.png
    Ответ написан
    Комментировать
  • С чего начать в 30 лет?

    @evgeniy_lm
    Вы просто не представляете сколько вопросов и какой сложности решают разработчики ПО в принципе и разработчики игр в частности. Для них вопрос
    Вот мне непонятно, с чего начать обучаться?
    вообще не вопрос.

    Я с детства мечтал заняться программированием
    Например, я в 12 лет узнал, что то чем я занимаюсь уже пару лет называется программированием. Не понятно что вам мешало заниматься программированием в детстве. И да, в моем детстве компьютеров не просто не было, тогда одна половина людей слово компьютер вообще не знали, а большинство других его не могли выговорить.

    и мне 30 лет.
    Я не знаю женаты вы или нет. Я женился поздно (после 30), но если бы в 30 я просиживал за компом выходные, а не уделял внимание своей девушке, то жены сейчас у меня бы не было. А если вы женаты, со скорее всего скоро станете холостяком.

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

    Напомню, вопрос именно в очередности изучения
    Непонятно изучение чего вас интересует. Без проблем вы можете изучить, например, сольфеджио, но если у вас нет слуха то музыкантом вы не станете. Так и в программировании, нет проблем прочитать пару книг типа "Пишем игру на Unity за 24 часа", но если у вас нет критического мышления программистом вы не станете
    Ответ написан
    Комментировать
  • Как сделать перебор всех значений строки определенной длины состоящей из цифр и букв?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Просто переводите числа от 0 до 366 в систему счисления с основанием 36.
    010 = 036
    ...
    910 = 936
    1010 = a36
    ...
    3510 = z36
    3610 = 1036
    ...
    217678233510 = zzzzzz36
    Ответ написан
    Комментировать
  • Как передать папку большого объема через windows по интернету?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Самый простой и быстрый вариант -
    https://www.resilio.com/individuals/
    Качаете бесплатную версию - для ваших целей она отлично подходит, возможности про вам не нужны.
    Добавляете папку с вашими данными, копируете ключ.

    На втором компьютере то же самое - установили программу, добавили ключ, указали куда скачивать.

    И все - синхронизация начнется автоматом, и будет идти пока все не перекачает.
    Никаких сложных настроек - интерфейс для домохозяек.
    Ответ написан
    1 комментарий
  • Как передать папку большого объема через windows по интернету?

    @unseriously
    Торрент
    Создаете торрент-файл, который указывает на вашу папку. Кидаете чуваку торрент-файл, который весит несколько килобайт - чувак через торрент качает папку - профит.
    Ответ написан
    6 комментариев
  • Какой алгоритм можно применить для задачи размещения числа в фиксированные контейнеры?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Ваша задача очень похожа на задачу о рюкзаке.

    Во первых, можно забыть про заглушки, если требовать собрать ровно от N до 1.25N секций.
    Т.е. в вашем примере вам можно собрать от 300 до 400 секций.

    Теперь ваша задача в точности становится задачей о рюкзаке, количество секций в контейнере - это "длина" вещи из задачи о рюкзаке, а длина - это "цена".

    И вам надо, как в задаче о рюкзаке, набрать каких-то "вещей", т.ч. рюкзак заполнен от 300 до 400 и суммарная "цена" минимальна.

    Если контейнеров не много (до 20-25), то можно решать полным перебором: рекурсивной функцией перебираете сколько контейнеров каждого типа вы берете в ответ. Если суммарное количество секций выше 1.25N, то останавливаетесь. В конце, когда перебрали все контейнеры, если набрали от N до 1.25N секций, то сравниваете текущую длину с оптимальным ответом и запоминаете, если длина меньше.

    Довольно быстрое решение - через динамическое программирование. Заведите массив от 0 до 1.25N. В нем будет хранится минимально возможная длина для набора контейнеров с заданным количеством секций. Изначально заполните его -1, а в индекс [0] положите 0.0.

    Теперь для каждого контейнера пройдитесь по массиву слева направо и, если текущая длина неотрицательна, то попробуйте приложить текущую секцию к набору, добавив количество секций к индексу, а длину к значению массива. Если по новому индексу лежит что-то хуже, чем то что вы насчитали, перезапишите это значение. Я php не знаю, вот вам решение на C++.

    // Container - структура содержащая длину length и количество секций sections.
    int maxn = n*5/4; // Округленное вниз целое число.
    vector<float> length(maxn+1, -1.0);
    length[0] = 0.0;
    vector<container> best(maxn+1);
    for (Container c: containers) {
      for(int i = 0; i < maxn; ++i) {
        if (length[i] < 0) continue;
        int j = i + с.sections;
        if (j <= maxn && (length[j] < 0 || length[j] > length[i] + c.length)) {
          length[j] = length[i] + c.length;
          best[j] = c;
        }
      }
    }
    int besti = -1;
    float bestlen = 100000000;
    for (int i = n; i <= maxn; ++i) {
      if (length[i] > 0 &&  length[i] < bestlen) {
        besti = i;
        bestlen = length[i];
      }
    }
    if (besti == -1) {
      cout << "Нет решения" << endl;
    } else {
      cout << "Минимально возможная длина: " << length[besti] << endl;
      cout << "Контейнеры:" << endl;
      while (besti > 0) {
        cout << best[besti].length << endl;
        besti -= best[besti].sections;
      }
    }


    Лучше, все-таки, если вы сможете задать длины целыми числами, например, в миллиметрах. Тогда не будет проблем с точностью. Это слегка адаптированный под вашу задачу стандартный алгоритм динамического программирования для задачи о рюкзаке. Погуглите, почитайте википедию. Там еще указаны различные аппроксимационные алгоритмы. Если у вас ОЧЕНЬ много секций (N>10^8) и данный алгоритм требует слишком много памяти, но вам пойдет и достаточно хорошее решение, пусть и не оптимальное, то используйте аппроксимационные алгоритмы.

    Если хотите изменить допустимые проценты заглушек - меняйте коэффициент 5/4 в коде.
    Важно: это решение предполагает, что все контейнеры допускают одинаковый процент заглушек.
    Решение уже ищет минимальное количество заглушек при минимально возможной общей длине.

    Edit: исправил код восстановления ответа - сначала забыл разобрать случай недостижимых состояний (-1 в массиве length)
    Ответ написан
    2 комментария
  • Как исправить скрипт, чтобы заработало в Firefox?

    @MrTimon
    Вы должны event передавать первым параметром в ф-цию move (а Вы как мне кажется передаете туда 0). В хроме работает так как e заменяется на window.event, тогда как в FF такого значение нету (Пример который вы предоставили в ссылке тоже выдает ошибку TypeError: e is undefined при наведении).

    Посмотрел код примера. Предлагаю так ф-цию over тоже добавить параметр e и потом его передавать в ф-цию move. как-то так:
    function over(e,tip)	//функция при наведении
    	{  
    		//обрабатываем массив с данными
    		data_color = '';
    		data = maparray[tip-1];
    		data = data.split(';');
    		name = 	data[0]
    		square = data[1]
    		desc = data[2]
    		//добавляем тултип
    		$('').appendTo('body').html(name+' '+square+'кв.м.'+desc);
    		move(e,0,0);
    	}


    потом удалить все инлайн вызовы ф-ции over и дописать следующий код в документ реди:

    $(document).ready(function(){
    		$('area').mouseover(function(e) {
                          over(e,$(this).index()+1);
                    });
    	});


    не проверял но должно работать нормально.
    Ответ написан
    1 комментарий
  • Как отключить Web Storage в Firefox и Chrome?

    khipster
    @khipster Автор вопроса
    ФФ
    about:config => dom.storage.enabled
    Хром
    Open “Options” and select “Under the Hood” Tab. Click on “Content settings…”, select “Cookies” and set “Block sites from setting any data”.
    Ответ написан
    2 комментария