SOS - DP(ベーシック版)圧縮されていないスペース

  1つ の#define IOSはios_base :: sync_with_stdio(0)。cin.tie(0)。
  2の#include <cstdioを> // のsprintf islowerはisupper 
  3の#include <cstdlib> // のmalloc出口STRCATのitoaはシステム( "CLS")
  4の#include <入出力ストリーム> // 
  5の#include <fstreamの> // freopenは(「C :\\ユーザー\\ 13606 \\デスクトップ\\草稿.TXT」、 "R"、STDIN); 
  6の#include <ビットセット>
   7  // の#include <地図>
   8  // の#include <unordered_map> 
  9の#include <ベクトル>
 10の#include <積層>
12の#include < 文字列・H> // はstrstr SUBSTR 
13の#include < ストリング >
 14の#include <TIME.H> // にsrand(((符号なし)時間(NULL)))。シードN =ランド()%10から0〜9。
15の#include <cmath>
 16の#include <両端キュー>
 17の#include <キュー> // PRIORITY_QUEUE <整数、ベクトル<整数>、大きな<整数>> Q。// 以下
18の#include <ベクトル> // emplace_back
 19  // の#include <math.h>の
 20  // の#include <WINDOWS.H> // (+ LEN)逆。〜!〜!
21の#include <アルゴリズム> // ソート+ユニーク:SZ =一意(B + 1、B + N + 1) - (B + 1)+ nth_element(第一、第nは、最後に、比較)
22  使用 名前空間 STDを、// next_permutation(A + 1、A + 1個の+ N)。// prev_permutation
 23の // ****************** 
24の int型の ABS面(INT A)。
25  INT lowbit(INT N)。
26  INT Del_bit_1(int型N);
27  int型 MAXX(int型int型のB)。
28の int型のミネソタ州(int型int型のB)。
29  ダブル fabss(ダブルA)。
30  ボイド swapp(INT&A、INTB)。
31  clock_t __STRAT、__ END;
32  ダブル__TOTALTIME。
33  ボイド _MS(){__ STRAT = クロック();}
 34  空隙 _ME(){__ END =クロック(); __ TOTALTIME =(ダブル)(__ END -__ STRAT)/ CLOCKS_PER_SEC; COUT << " 時間:" << __ TOTALTIME << " S " << ENDL;}
 35  // ***********************
36  の#define RINTは整数レジスタ
 37  の#defineを foは(A、B、C)(RINTのA = B; <= C; ++ A)のための
 38  の#define FR(A、B、C)のための(RINTのA = B ;> = C; - A)
 39  の#define MEM(A、B)のmemset(A、B、はsizeof(A))
 40  の#define PRのprintf
 41回 の#define SCのscanf
 42回 の#defineのLS RT << 1
 43  #定義のRS RT << 1 | 1
 44 typedefの長い 長いLLを。
45  CONST  ダブル E = 2.718281828 46  のconst  ダブル PI = ACOS( - 1.0 )。
47  // CONST LL = INF(1LL << 60); 
48  のconst  int型 INF =(1 << 30 );
 49  CONSTは ダブル ESP = 1E9 ;
 50  のconst  int型 MOD =(INT)+ 1E9 7。 51で のconst  int型 N =(INT)6E6 + 10 ;
 52は 
53であり、 int型[N];
 54である INT DP [N] [ 40 ]; // iとビットの異なるサブセットのみマスク表し、
55  
56は 、INT ()主に
 57です {
58      int型のn;
59      SC(" %のD "、&N)
60      のためにint型 I = 1 ; ++; iが<= N I)
 61          SC(" %のD "、&​​[i])と、DP [i]が[ 0 ] = [I]。
62      のためには、int型 i = 0 ; iが=(< 1 << 21); ++ I)
 63      {
 64          のためのint型 J = 1 ; J <= 22 ; ++ j)は
 65         {
 66              int型の POS = J- 1 67              場合((I >> POS)&1)DPは、[I] [j]はDPを= [I]、[J- 1 ] + DP [I ^(1 << POS)] [J- 1 ]。
68              他の             DP [I] [J] = DP [i]は[J- 1 ]。
69          }
 70      }
 71      リターン 0 72  }
 73  
74  / * ******************************************** **************************************** * / 
75  
76  int型 MAXX(int型int型B)
 77  {
 78      リターン A> B?A:B;
79  }
 80  
81  ボイド swapp(INT&A、INTB)
 82  {
 83      ^ = B ^ = A ^ = B。
84  }
 85  
86  int型 lowbit(int型N)
 87  {
 88      リターン N&( - N)。
89  }
 90  
91  INT Del_bit_1(int型N)
 92  {
 93      リターン N・(N- 1);
94  }
 95の 
96  int型の ABS面(INT A)
 97  {
 98      リターン A> 0: - ? 99  }
 100  
101  ダブル fabss(ダブルA)
 102  {
 103      戻り A> 0: - ? 104  }
 105  
106  INTミネソタ州(INT A、INT B)
 107  {
 108      リターン <B?A:B;
109 }

 

おすすめ

転載: www.cnblogs.com/--HPY-7m/p/11614268.html