9.1 Решение задачи

T1

Что-то я не нашел закон природы или типа вызова, для любого человека, вы даете ему существующего кунжутного $ {\ раз} 2 $, то $ {\%} (п + т) $, это время, чтобы приспособиться после количества кунжута его собственного, чтобы думать о том, является ли он человек руками кунжутной относительно маленьким, должна быть правы, если он больше рук кунжут, что человек? Не позволяет, рука играть. ,

1 #include <iostream>
 2 #include <cstdio>
 3  #define INT долго долго
 4  #define maxn 100100000
 5 с  использованием  пространства имен станд;
6  INT п, т, к, по модулю, ми;
7  INT П.Д. [maxn], ЬН [maxn];
8  INT КСМ ( Int а, INT б)
 9  {
 10      INT ANS = 1 ;
11 ,      а (б)
 12      {
 13 ,          если (б & 1 ) ANS = (ANS * а)% по модулю;
14         B = B >> 1 ; а = (а * а)% по модулю;
15      }
 16      возврата ANS;
17  }
 18  основных ()
 19  {
 20      зсапЕ ( " % LLD% LLD% LLD " , & п, & м, & к);
21      мод = п + т; миль = КСМ ( 2 , к); п = (п * мили)% по модулю;
22      Е ( " % LLD \ п " , мин (п, mod - п));
23      возвращения  0 ;
24 }
Просмотр кода

T2

Эта проблема также уравнения, название не содержит необходимого юридический раздел $ х <у $ и $ A_x {\%} A_Y = K $ точек, то для любого $ J $, и он может найти от менее его последний соответствуют выше формулам $ I $, что все, что вы можете сделать по закону среднего диапазона, поэтому вопрос сейчас, чтобы найти $ I $

насилие

Первое перечисление $ J $, $ J $ стреловидности над от вперед, чтобы найти ближайший $ I $, расчета взносов, которые были в связи с необходимостью обеспечения того, чтобы мы не соответствуют указанным выше условиям на этой точке, так что каждый $ я найти $, то необходимо обновить $ J $ вперед развертки верхнего левого кругов, потому что для $ J $ $ $ я нашел, это должно быть все найденные ранее и $ I $ взять $ мин $ а, поэтому сложность $ O (N ^ 2) $, очевидно, вода не в прошлом, считают оптимизации

оптимизация

У нас нет никакого способа, чтобы найти каждый $ J $, соответствующий $ I $, без подметать его вперед? Рассмотрим формулу для преобразования выше, чтобы гарантировать, что $ х <у $

  $ A_x {\%} A_Y = к $

$ {\ Rightarrow} A_x-п {\} раз A_Y = к $

$ {\ Rightarrow} A_x-к = п {\} раз A_Y $

На этот раз мы обнаружили, что все $ A_Y $ $ A_x-к $ является фактором, то мы можем использовать $ O (\ SQRT {N}) $ сложность отсеивание всех множитель $ A_x-K $ посмотреть на это фактор в $ J $ впереди не там никогда не видели раньше, и максимальное положение, вы можете найти непосредственно то, что мы хотим $ I $

1  // J <я分解в [J] -k,找一个下标最小的я 
2 #include <iostream>
 3 #include <cstdio>
 4 #include <вектор>
 5  #define maxn 100100
 6  #define INT долго долго
 7 с  использованием  пространства имен STD;
8  INT п, к, ANS, хвост;
9  INT A [maxn], ЬН [maxn];
10  основных ()
 11  {
 12      зсапЕ ( " % LLD% LLD " , & п, & к); Хвост = п;
13      для ( INT I = 1 ; г <= п; ++ I) зсапЕ ( "% LLD " , & [I]);
 14      для ( INT I = п, я> = 1 ; - я) // 左端点
15      {
 16          INT  база = а [я] -k, вправо = хвост + 1 / * 右端点* / ;
 17 ,          если ( базовая < 0 )   продолжать ;
 18 ,          если ( база == 0 )
 19          {
 20              для ( INT J = I + 1 , J = <хвост; ++ J)
 21 ,                  если(а [J]> а [я]) {вправо = J;  перерыв ;}
 22          }
 23          для ( INT J = 1 , J * J <= база ; ++ , к)
 24          {
 25 ,              если ( базовая % J == 0 )
 26              {
 27 ,                  если (J> к && ЬН [J]> я) вправо = мин (справа, BH [J]);
28 ,                  если ( базовая / J> к && ЬН [ база / у]> я) вправо = мин (справа, BH [ основание / J]);
29              }
 30          }
 31 ,          если(! = правая хвост + 1 )
 32          {
 33              ANS + = (хвост-I + 1 ) * (хвост-я + 2 ) / 2 ;
34              ANS + = - (правая-я) * (правая-I + 1 ) / 2 - (хвост направо + 1 );
35          }
 36          хвоста = право- 1 ; BH [а [я]] = I;
37      }
 38      ANS + = хвост * (хвост + 1 ) / 2 ;
39      Е ( " % LLD \ п " , ANS);
40      возвращения  0 ;
41 }
Просмотр кода

T3

Время будет заполнены яма вечером, первые подушки

рекомендация

отwww.cnblogs.com/hzjuruo/p/11484211.html
9.1
9.1
9.1