給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...