2019內蒙古大學生程式設計競賽J

2021-09-25 01:58:03 字數 1903 閱讀 2819

題目描述

平面上有 n 個點(任意兩點的橫座標與縱座標都不會相同),每個點向 x 軸 和 y 軸做垂線分別形成兩個交點,兩個交點和該點以及座標原點構成乙個矩形,並覆蓋矩形內的點(在邊緣上的點不算被覆蓋),請輸出平面上所有一次也沒有被覆蓋過的點。

輸入格式

第一行乙個正整數 t(t<=5),表示共有 t 組資料。

每組資料的第一行乙個正整數數 n(1<=n<= 200000),表示平面上有 n 個點。

接下來 n 行每行兩個正整數 x,y(1<=x,y<= 1e9)表示乙個點的橫縱座標。

輸出格式

按 x 軸座標從小到大輸出所有符合條件的點。

輸入樣例15

8 117 5

9 612 11

13 7

輸出樣例

12 11

13 7

17 5

ac**:

#include

#define inf 0x3f3f3f3f

#define endl '\n'

#define css(n) couttypedef

long

long ll;

const

int maxn=

200005

;int n,m;

int t;

double a,b;

struct node

dian[maxn]

;bool comp

(node a,node b)

intmain()

sort

(dian,dian+n,comp)

;for

(int i=

0;iif(flag==1)

}}return0;

}

洛谷題ac**:

#include

#define inf 0x3f3f3f3f

#define endl '\n'

#define pb push_back

#define css(n) cout<#define sd(a) scanf("%d",&a)

#define sld(a) scanf("%lld",&a)

#define m(a,b) memset(a,b,sizeof a)

#define p_queue priority_queue

using namespace std;

typedef

long

long ll;

const

int maxn=

100005

;int n,m;

int t;

double a,b;

int mxy;

//y的最大值,也是樹狀陣列的最大上限下標,記錄下可以優化點時間。

struct node

dian[maxn]

; bool comp

(node a,node b)

ll tre[maxn]

;int

lowbit

(int x)

void

add(

int pos,

int val)

}ll ask

(int pos)

return ans;

}int

main()

sort

(dian+

1,dian+

1+n,comp)

; ll fin=0;

for(

int i=

1;i<=n;i++

)printf

("%lld\n"

,fin)

;return0;

}

2019內蒙古大學生程式設計競賽E

題目描述 rabbit 得到了一張秘密紙條,上面是由密密麻麻的小寫字母組成的字串。已知,字元 c 與字元 z c a 是相反的。即 a 與 z b 與 y 現在規定對稱相反子串的定義為該子串從中間到兩邊對應位置的字元都是相反的。例如給定字串 azza 其對稱相反子串有 a z az azz zza ...

2019內蒙古大學生程式設計競賽L

題目描述 小明來到禮品店準備給女朋友挑選禮物。店員給小明展示了 n 個商品,這 n 個物品排成一排。並表示如果小明購買連續的 c 個商品會有特別大的優惠。小明接受了店員的提議,決定購買連續的 c 個商品。這 n 個商品每個都有乙個美觀度 ai。小明不希望自己送的禮品美觀度都太低,所以希望買到的 c ...

2019河北省大學生程式設計競賽

theme 給定q,n,p,1 n,q,p 10 9,求s i 1,n q i mod p solution 求q i很簡單,用快速冪就行,關鍵是n到10 9,切丁超時。開始是想求出等比數列的和,但要除以q 1,而q 1與p又不一定互質,所以也沒法用乘法逆元。可以看出完全沒必要乙個乙個地用快速冪算,...