Size: a a a

2021 June 10

AO

Andrew Ostrovskii in pro.algorithms
Ребят, такой вопрос! Решаю на литкоде вот эту задачу

https://leetcode.com/problems/network-delay-time/

Вроде бы всё понятно, но! Столкнулся с тесткейсом

[[1,2,1],[2,3,2],[1,3,4]]
3
1


В результате правильный ответ = 3, а мой ответ 4. Не совсем понимаю,почему так. Ведь если из условия мы должны посетить все вершины графа, а граф у нас направленный, то как минимум чтоб попасть в 3 из 1, нам нужно будет потрать 4 секунды. В общем, не только у меня такой вопрос возник

https://leetcode.com/problems/network-delay-time/discuss/595658/Wrong-scenarios-or-description

Вот тоже самое в топике, но там к сожалению нет ответов. Подскажите, плс, кто сталкивался
источник

AO

Andrew Ostrovskii in pro.algorithms
Вопрос отпал
источник

AO

Andrew Ostrovskii in pro.algorithms
Спасибо
источник
2021 June 11

MG

Matthew Good in pro.algorithms
thread A runs a billion times per second

thread B runs 60 times per second

callback swap() needs to inform thread B to inform thread A to swap the buffers and then wait until swap() is called again

how can i go about this in Java?
источник

MG

Matthew Good in pro.algorithms
or rather

thead B is GAURENTEED to be called 60 times per second by the framework

thread A is called a billion times per second

my callback needs to inform B that it should swap

would i do something like this?



final Object swapLock = new Object();
boolean shouldSwap;


void swapBuffers() {
   synchronized (swapLock) {
       if (!shouldSwap) {
           shouldSwap = true;
       }
   }
}


Choreographer choreographer = Choreographer.getInstance();

protected void init() {
   shouldSwap = false;
   
   // provides info for jni to java
   methods = new Methods();
   
   choreographer.postFrameCallback(
           new Choreographer.FrameCallback() {
               @Override
               public void doFrame(long frameTimeNanos) {
                   synchronized (swapLock) {
                       mGLThread.requestRender();
                       choreographer.postFrameCallback(this);
                   }
               }
           }
   );
}


class GLThread extends Thread {
   // ...
   @Override
   public void run() {
       setName("GLThread " + getId());
       // ...
       try {
           guardedRun();
       } catch (InterruptedException e) {
           // fall through and exit normally
       } finally {
           sGLThreadManager.threadExiting(this);
       }
   }

   private void guardedRun() throws InterruptedException {
       // ...
       try {
           // ...
           while (true) {
               // ...
               synchronized (swapLock) {
                   if (shouldSwap) {
                       int swapError = mEglHelper.swap();
                       shouldSwap = false;
                       // handle errors
                   }
               }
               // ...
           }
       } finally {
           // clean up
       }
   }
}
источник
2021 June 12

M

MPnoy in pro.algorithms
народ, может знает как можно такое сделать, пишу обработку коллизий, задача в следующем:
есть 2 простых фигуры (бокс/цилиндр/шар), одна из фигур неподвижна, у другой есть вектор направления, вдоль которого она движется. нужно расстояние от начального положения второй фигуры до момента их пересечения.
Первая фигура ориентирована параллельно осям (если это не шар), вторая как угодно
источник

M

MPnoy in pro.algorithms
источник

DP

Defragmented Panda in pro.algorithms
сначала пересечение луч-шар

диаметр шара = расстояние от центра до угла фиг1 + то же фиг2

это дает примерный результат. для случая если у тебя там тысячи таких штук в динамике

потом уже точным алгоритмом пересечения линия-линия для всех границ фигур
источник

DP

Defragmented Panda in pro.algorithms
источник

M

MPnoy in pro.algorithms
о, спасибо
источник
2021 June 13

V

Vladimir in pro.algorithms
Всем привет.
Решаю задачу https://leetcode.com/problems/minimum-cost-for-tickets/
и не могу понять почему для 1,4,6,7,8,20 результат 11, если 10.
Мы же можем просто покупать проездной каждые 2 дня, и в сумме мы потратим 10.
Или я как-то неправильно считаю?
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Не правильно считаешь.
Какой проездной ты хочешь покупать каждые два дня - есть варианты на 1, 7, 30 дней?
И их стоимости 2, 7, 15
источник

V

Vladimir in pro.algorithms
так получается 1 день это сегодня и завтра ибо я не понимаю почему он обновляет билет 3-го.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Один день это на сегодня, то есть без завтра.
Затем на 3 дне покупается на 7 дней, то есть на период [3, 3+7-1] ~ [3, 9].

Нужно покрыть не все дни билетами, а лишь те, на которых ты путешествуешь.
источник

V

Vladimir in pro.algorithms
я понял
источник

V

Vladimir in pro.algorithms
спасибо
источник
2021 June 15

MK

Matwey Kornilov in pro.algorithms
источник
2021 June 16

OR

Oleksandr Rudiuk in pro.algorithms
Всем добрый вечер, может быть у кого-то есть книга "алгоритмы для чайников" Джон Поль Мюллер в электронном варианте? Меня интересует в переводе а не оригинал
источник
2021 June 17

М

Манкурт Кобейн... in pro.algorithms
Пробовали на флибусте искать? Может там имеется
источник

АЛ

Артем Лазаренко... in pro.algorithms
ребятухи, вопрос. Как модифицировать расчет вероятности по Бернули таким образом, что бы считалась вероятность 1 и более (5 и более и т.п.).
т.е. классический бернули так рассчитывает:
при условии n = 40, Ak = 1, Ap = 0.04 ~= 30%
n = 40, Ak = 2, Ap = 0.04 ~=26%
n = 40, Ak = 3, Ap = 0.04 ~=13%

получается если мне нужно знать что из 40  испытаний хотя бы одно будет успешным это значит вероятность 96% (как-то много), а если продолжать увеличивать Ак то вообще стремиться будет к 100%
источник