PKU Campus 2015

3587 ワード

初ACMライブ
その日ちょうど雨が降っていたのを覚えていて、試合の前に未名湖を見に行きました.
試合については、私はたぶんむやみにやった....
A
読み込み最適化書き込みが切れたようですか?でも何度も見てないからread()をcinに変えたらA
作死A了之后又wa一次,意外にもまだ罚の时、その上これが第1版に入っていないため森を开けません...
B
シミュレーション問題のように見えますが、サンプルが何なのか分かりません.
C
方向図がなくて、毎回1種の色の辺を削除して、連通のブロックの個数を求めます
时间によって+を分治してセットを调べます.....
その時別の問題に答えてみたところ,意外にもそれはなかった.
D
3つの円を与えて、公共の外接円を求めます
できない...
試合中に誰かがこの問題を見た.
公式が出たと言って見てみました
うん....たぶんスクリーンいっぱいの公式が読めない
最後に彼らは精度の問題で233333を過ぎなかった.
E
極座標系の下で面積を求める
极座標系はできませんが、円心の公式は半日も出ていません...療法を捨てる...
F
この問題は1,1,2,2...n,nは配列を構成する
iとiの間の距離をiとする
唯一のsilver ballon好開森を手に入れた>w<
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int read(){int r=0,k=1;char c=getchar();
for(;c'9';c=getchar())if(c=='-')k=-1;
for(;c>='0'&&c<='9';c=getchar())r=r*10+c-'0';return r*k;}
#define rep(i,l,r) for(int i=(l),_=(r);i<=_;i++)
#define per(i,r,l) for(int i=(r),_=(l);i>=_;i--)
#define INE(i,u) for(int i=head[u];~i;i=e[i].next)
#define MS(arr,x) memset(arr,x,sizeof(arr))
#define LL long long
/
int n;
/

/
void input()
{
     scanf("%d",&n);
}
void solve()
{
     if(n<=2) puts("0");
     else if(n%4==3)
     {
         int m=(n+1)/4;
         for(int i=4*m-4;i>=2*m;i-=2) printf("%d ",i);
         printf("%d ",4*m-2);
         for(int i=2*m-3;i>=1;i-=2) printf("%d ",i);
         printf("%d ",4*m-1);
         for(int i=1;i<=2*m-3;i+=2) printf("%d ",i);
         for(int i=2*m;i<=4*m-4;i+=2) printf("%d ",i);
         printf("%d ",2*m-1);
         for(int i=4*m-3;i>=2*m+1;i-=2) printf("%d ",i);
         printf("%d ",4*m-2);
         for(int i=2*m-2;i>=2;i-=2) printf("%d ",i);
         printf("%d %d ",2*m-1,4*m-1);
         for(int i=2;i<=2*m-2;i+=2) printf("%d ",i);
         for(int i=2*m+1;i<=4*m-3;i+=2) printf("%d ",i);
         puts("");
     }
     else if(n%4==0)
     {
          int m=n/4;
          for(int i=4*m-4;i>=2*m;i-=2) printf("%d ",i);
          printf("%d ",4*m-2);
          for(int i=2*m-3;i>=1;i-=2) printf("%d ",i);
          printf("%d ",4*m-1);
          for(int i=1;i<=2*m-3;i+=2) printf("%d ",i);
          for(int i=2*m;i<=4*m-4;i+=2) printf("%d ",i);
          printf("%d ",4*m);
          for(int i=4*m-3;i>=2*m+1;i-=2) printf("%d ",i);
          printf("%d ",4*m-2);
          for(int i=2*m-2;i>=2;i-=2) printf("%d ",i);
          printf("%d %d ",2*m-1,4*m-1);
          for(int i=2;i<=2*m-2;i+=2) printf("%d ",i);
          for(int i=2*m+1;i<=4*m-3;i+=2) printf("%d ",i);
          printf("%d %d ",2*m-1,4*m);
          puts("");
     }
     else puts("0");
}
int main()
{
    int t;cin>>t;
    while(t--)
    input(),solve();
    return 0;
}

H
長さlの区間を1つずつ選択するシーケンスを指定します.
最大値に寄与Aがある
小さい値が存在して貢献するB
各数の平均的な貢献を求めます
うん....チームメイトはこの問題が神だと言って、私に治療を放棄させた.
そこで私は考えませんでした...結果tmはこんなに簡単なQwQ
I
sb問題、問題を読み終わって秒になって、方案の数の悪い評価を求めません
J
n個の点を与えて、4つの頂点が点セットに属する矩形の数を求めます
=w=チームメイトは問題が長すぎて翻訳したくないと言って問題を見なかった.
こんな経典の原題はどうして二人でAを落とすのか.
スキャンライン+sqrt分ケース暴力分分分分カット
試合が終わって雨が激しくて・・・