2019ジャムストレーニングDay7

    T1

  数学は、非常に困難で水ではありません

  アイデア:まず、我々は、加算2XYで和の残りが奇数でなければならないよりも、ことがわかりました

解、残りはケースではない場合、我々は、解rが偶数でない検索、およびr <= 4

に3+も、明らかに直接出力をすべてのケースを発現し、1(R-3)/ 2

  
1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  長い 長いR。
4  INT メイン(){
 5      のscanf(" %のLLD "、&R)。
6      もし(R%2 == 0 || R <= 5)のprintf(" NO " )。
7      他ののprintf(" 1%LLD "、(R- 3)/ 2 )。
8      リターン 0 ;
9 }
T1-サイン問題

    T2

  ゴミ問題、臭いタイトル、タイトルが間違った側を与えることができます!!!(Aまたは私は煙に上がるだろう)

  アイデア:ライン上の暴力シミュレーションの実行、注意を払う必要があり、どのような場合でもチームのリーダーの位置が0に行くことはありません

そのため、一度モニターは行くために0に1に変更されます。

  
1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  int型N、M、K、T、X、Y、L、R。
4  INT メイン(){
 5      のscanf(" %D%D%D%D "、&​​N、&M、&K&T)。
6      ため(登録INT i = 1 ; I <= T; iは++ ){
 7          のscanf(" %d個の%のD "、およびX&Y)。
8          もし(x == 0 ){
 9              であれば(Y <= M){
 10                  M- = Y。
11                 N- = Y。
12              }
 13              そう であれば(Y> M){
 14                  N - =(N Y)。
15              }
 16          }
 17          であれば(x == 1 ){
 18              であれば(Y <= M){
 19                  N ++、M ++ 20              }
 21              であれば(Y> M)N ++ 22          }
 23          であれば(M == 0)、M = 1 24          のprintf(" %D%D \ nは" 、N、M);
 25      }
 26      リターン 0 ;
 27 }
T2-パワー

    T3

  私たちは、時には暴力の問題を解決するために、簡単に暴力を必要とします

  アイデア:私たちは、水平方向と垂直方向が離れて良好に保たれ、暴力の実行はO(n ^ 3)前処理しました

あなたは二つの垂直側面を切ることができれば双方が横に、そして、垂直側の1、残りずつ横断すべて列挙

横方向縁部は、累積NUMに、それぞれ垂直面を仕上げる、ANS + = NUM​​×(NUM-1)/ 2とすることができます。

  
1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  構造体ノード{
 4      INT 湯、YD、X。
5 }シュウ[ 1010 ]。
6  構造体nodee {
 7      int型XL、XR、Y。
8 }恒[ 1010 ]。
9  int型彼、SH;
10  int型N、A、B、C、D、NUM。
11の 長い 長いANS;
12  INT メイン(){
 13      のscanf(" %d個"、&N)
14      のための(登録をint i = 1 ; iが<= N; iが++ ){
 15          のscanf(" %D%D%D%D "、&​​A、&B、&C&D)。
16          であれば(==のC){
 17              SH ++ 18              集[SH] .X = A。
19              集[SH] .yu = MAX(B、D)。
20              シュウ[用SH] .yd = 分(B、D)。
21              続け;
22          }
 23          彼は++します;
24          恒[彼] .Y = B。
25          ヘン[彼]の.Xr =MAX(、C);
26          ヘン[彼] .xl = 分(C)。
27      }
 28      のため(登録をint = I 1、I <=彼; iは++ ){
 29          (登録int型 jは= iは+ 1、J <=彼あり、j ++ ){
 30              NUM = 0 31              INTの EMM = MAX(ヘン[I] .Y、恒[jを] .Y)。
32              INT ERR = 分(ヘン[I] .Y、恒[jを] .Y)。
33              INT ESS = MAX(ヘン[I] .xl、恒[jを] .xl)。
図34は、             INT EPP = 分(ヘン[I]の.Xr、ヘン[J]の.Xr)。
35             もし(EPP <= ESS)続けます36              のために(登録int型のk = 1 <; = SH k個++ K {)
 37                  であれば(シュウ[K] .yu = EMM &&シュウ[K] .yd <= ERR &&シュウ[K] .X> = ESS &&シュウ[K] .X> <= EPP)NUM ++ 38              }
 39の              ANS + = NUM×(num- 1)/ 2 40          }
 41      }
 42      のprintf(" %のLLD " 、ANS)。
43      リターン 0 44 }
T3-矩形

 

  終わり;

おすすめ

転載: www.cnblogs.com/liuhailin/p/11291213.html