NOIPシミュレーションは、13をテスト


T1:マトリックスのゲーム

  無知に見えるだけのタイトルを見て、私は少しは見当がつかない感じる......

  そして、対象を見て始めた、何かを隠して説明した問題を識別するためと思われますか?

  何かを示唆するかのように、アイドル、退屈狂った感じのトピックは、非常に単純なことを説明します!

  だから、入れタイトル方程式を書き留め - $(I-1)* M + J $

  示されるこの式に次に答え - $ \ sum_ {i = 1} ^ nR_i \ sum_ {J = 1} ^ mS_j [(I-1)* M + 1 J] $

  その後、$ I $で項目は$ O(n)は$行なわの外にリッピングすることができます

  

  そう、コード

1の#include <cstdioを>
 2の#include <iostreamの>
 3の#include <CStringの>
 4の#include <cmath>
 5の#include <アルゴリズム>
 6の#include <ベクトル>
 7  の#defineは長い長いっ
 8  使用 名前空間STDを、
9  のconst  int型 MAXN = 1000005、MAXK = 100005、D = 1E9 + 7 10  int型N、M、K。
11人の LL和、sumr、S [MAXN]、R [MAXN]、ANS、TMP、合計。
12  チャー OPT [ 5 ]。
13  INT メイン(){
14      のscanf(" %D%D%D "、&​​N、&M、およびK);
15      のためにint型 I = 1 ; I <= M; iが++)S [I] = 1 16      のためにint型 i = 1 ; iが<= N; iが++)R [I] = 1 17      のためにint型 i = 1 ; iが= Kを<; Iは++ ){
 18の         LLのX、Yと、
19          のscanf(" %sの%LLD%LLD "、オプト&X&Y)。
20          であれば(OPT [ 0 ] == ' R ')R [X] = R [X] *のy%のD。
21           S [X] = sで[X] *のy%のD。
22      }
 23      のためのint型 iは= 1和=(和+ S [i])と%の; I <= M iは++)D。
24      のためにint型 I = 1を TMP =(TMP + S [i]は* I)%の; I <= M Iは++)D。
25      のためには、int型 I = 1 ANS =(ANS +(TMP +(LL)(I-iは++; iがn = <)1)* M%Dが*合計)%のDの* rを[I]%のD)%のD。
26      のprintf(" %LLDする\ n "、(ANS%D + D)%のD)。
27      リターン 0 ;
28 }
t1のコード

 


 

T2:ホップスコッチ

   k個の行列乗算最初の思想の範囲を参照するが、N見て、Mまたは忘れ

  ほとんどの変更は唯一、前の操作を3ポイント、そうでも暴力的な側面の実行に影響を与えることがわかりました、

  また、グラフはn個の点を組み込み、Nエッジがグラフに向けられている場合、それは内側ツリーのリングでなければならないことがわかっ

  kの多くは、リングの周りに常にある時間を考えるのは簡単ですので、あなたは、リング型の長さにほとんどの複雑さをそれを取ることができます

  

 


 


 

T3:美しいシーケンス

 

 


 

おすすめ

転載: www.cnblogs.com/Gkeng/p/11302156.html