Удалите приложение из средства запуска программно в Android

Просто представьте числа в повторной базе 2: a Num имеет (возможно, пустой) список различных дочерних элементов x1,...,xp типа Num, так что Num([x1,...,xp]) == 2^x1 + ... + 2^xp.

Это определяет уникальный способ записи неотрицательного целого числа; не забудьте отсортировать показатели так, чтобы сравнение имело смысл. Равенства:

  • 2^x + 2^x == 2^(x+1) == Num([x+1])
  • 2^x + 2^y == Num([x,y]) при x != y
  • (2^2^x)^2^y == 2^2^(x+y) == Num([Num([x+y])])

наряду с ассоциативностью / Коммутативность сложения позволяет добавлять произвольные числа и вычислять x^y для чисел вида 2 ^ 2 ^ k; этот класс чисел содержит 2 (с k = 0) и закрыт согласно ^, так что это гарантирует, что все числа, которыми мы должны манипулировать, имеют такую ​​форму.

Кроме того, определенные выше равенства никогда не увеличивают количество узлов в дереве, поэтому все Num имеют размер O(n).

Таким образом, временная сложность фактически равна O(C * n^k), которая квазилинейна в C (C - это (n-1) -ое каталонское число).

17
задан Cœur 3 July 2017 в 18:09
поделиться

1 ответ

Вы можете отключить компонент с помощью PackageManager # setComponentEnabledSetting () , что приведет к его удалению из Launcher.

11
ответ дан 30 November 2019 в 14:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: