czyz模擬賽 WM度假

2021-07-24 14:56:44 字數 821 閱讀 1514

給n(<=100000)個三元組(x,y,z),任意兩組之間的x/y/z不相同,求有多少三元組滿足沒有其它任何一組的x,y,z都比它小

一開始因為是在qzyz上看到的題目所以死活不打cdq,想了半個多小時的線性規劃終於怒打cdq,結果打完才發現就是一道簡單分治,感覺自己真是智障。。。

先以x為關鍵字排序,然後分治。每次分治用[l,mid]的組來判斷[mid+1,r]的組是否可取,先將l到r的組按y排序,然後掃一遍,如果屬於[l,mid]就更新min,否則如果mino(nlogn)

#include#includeusing namespace std;

const int n=1e6+1;

struct st a[n],b[n];

int n,ans,i,min;

bool u[n];

bool cmp1(st a,st b){return a.x>1,m=0;

cdq(l,mid);

cdq(mid+1,r);

m=0,min=1e9;

for (int i=l;i<=mid;i++) b[++m]=a[i],b[m].x=0;

for (int i=mid+1;i<=r;i++) b[++m]=a[i],b[m].x=1;

sort(b+1,b+m+1,cmp2);

for (int i=1;i<=m;i++)

if (!b[i].x) min=min(min,b[i].z);

else if (min

粵澳熱身賽 題目E 度假酒店

文神迎來了他第一次出門旅遊的機會,但是很不湊巧的是,他把小湊學姐和小q學弟一起帶上了,由於小湊學姐和小q學弟都是各種宅,文神每次只好自己下樓去吃飯。但是繼續很不湊巧,小湊和小q的惰性影響到了他,他也會經常忘記去吃飯,還好酒店裡有他的吃飯記錄,記錄文神在入住期間早餐 午餐 晚餐各吃了多少次。然而,文神...

《省賽模擬賽補》

c題 比賽的時候已經想到了統計最底層的每個序列的出現次數,但是一開始想的是建圖之後dfs處理,但是發現很難處理出來。其實正確的思路是拓撲排序去處理次數。我們在最後建圖完成之後,倒著從n回去拓撲即可。但是這裡有個坑點,就是一開始統計入度可能是不正確的。例如 3 1 2 4 1 2 3是1,2的父節點,...

日常模擬賽

none 100 100 10 210 不太會做.好像.是個sb題.嗯.div3t1難度 include include define int long long define gc getchar define pc putchar inline int read void print int x...