Это зависит от конфигурации сервера. Если вы работаете с PHP под Linux или аналогичным, вы можете управлять им с помощью файла конфигурации .htaccess, например:
#set max post size
php_value post_max_size 20M
И, да, я лично могу подтвердить, что это работает: )
Если вы используете IIS, я не знаю, как вы установили это значение.
Предположим противное, что существует алгоритм, который запрашивает меньше, чем (n-2) / 2 ребер, и позволяет противнику отвечать на эти запросы произвольно. Согласно принципу голубятни существуют (по крайней мере) два узла v, w, которые не являются конечной точкой ни одного запрошенного ребра. Если алгоритм выводит v, то злоумышленник делает ошибку, вставляя каждое ребро со стоком w, и аналогично, если алгоритм выводит w.
Эта страница отвечает на ваш точный вопрос. Алгоритм линейного времени:
def find-possible-sink(vertices):
if there's only one vertex, return it
good-vertices := empty-set
pair vertices into at most n/2 pairs
add any left-over vertex to good-vertices
for each pair (v,w):
if v -> w:
add w to good-vertices
else:
add v to good-vertices
return find-possible-sink(good-vertices)
def find-sink(vertices):
v := find-possible-sink(vertices)
if v is actually a sink, return it
return "there is no spoon^H^H^H^Hink"
В случае общего ориентированного графа - нет, и я не думаю, что ему нужно формальное доказательство. В лучшем случае для обнаружения приемника необходимо либо идентифицировать узел, либо проверить, что у него нет исходящих ребер, или проверьте все остальные узлы и убедитесь, что ни один из них не имеет подключений к ним. На практике вы комбинируете эти два метода в алгоритме исключения, но здесь нет сокращенного пути.
Между прочим, существуют разногласия по поводу определения стока. Требовать, чтобы все остальные узлы подключались к приемнику, обычно не требуется, потому что у вас может быть несколько приемников. Например, нижняя строка на этой диаграмме - все приемники, а верхняя строка - все источники. Однако это позволяет снизить сложность до O (n). См. здесь для немного искаженного обсуждения.
Необычно требовать, чтобы все остальные узлы были подключены к приемнику, потому что у вас может быть несколько приемников. Например, нижняя строка на этой диаграмме - все приемники, а верхняя строка - все источники. Однако это позволяет снизить сложность до O (n). См. здесь для немного искаженного обсуждения. Необычно требовать, чтобы все остальные узлы были подключены к приемнику, потому что у вас может быть несколько приемников. Например, нижняя строка на этой диаграмме - все приемники, а верхняя строка - все источники. Однако это позволяет снизить сложность до O (n). См. здесь для немного искаженного обсуждения.