ACM2012長春賽區網路賽 1002

2021-06-09 05:54:03 字數 516 閱讀 5554

題目是說a有n張卡片,b有n張卡片,當且僅當a的某張卡片長和寬均不小於b某張卡片的長和寬時可以將其覆蓋,覆蓋與被覆蓋都只能是一次,問最多能有多少次覆蓋(長寬不能互換)

將這些卡片以長為第一關鍵字公升序排列,再以寬作為第二關鍵字公升序排列,都相同則將b的放在前面,a的放在後面,然後從頭到尾掃瞄,對於a的卡片,選擇可變動性最低的b卡片將其覆蓋,即寬小於等於當前卡片裡面寬最大的,並刪除這張卡片,將答案加1,最後掃完答案也就出來了

#include #include #include using namespace std;

struct point

f[201000];

int tree[201000],i,j,k,a,b,t,n,m;

bool cmp1(point a,point b)

return ans;

}int find(int k)

{ int now=0;

for(int i=25;i>=0;i--)

{now|=(1=k)now^=(1<

2012 ACM ICPC 長春賽區網路賽

1001 a problem with integers 題意 有兩種操作,一種是更新區間a b中a i b and i a k 0 的點加上c 一種是詢問aa 的value 思路 明顯的線段樹 但是依然跪倒啊 cnt i k c 代表當前區間i 每隔k個字元累加c,然後就是更新,如果存在要更新的區...

2012長春網路賽

acmicpc 解題報告彙總 1 線段樹 i a k 0 即i k a k 節點維護乙個二維陣列add,add a b c,表示該區間下標i a b的加c 那麼,update l,r,k,l k,v 這樣就可以分到子區間了 但是,這樣會爆記憶體,因為a b pragma warning disabl...

2012長春網路賽1011

hdu 4277 dfs hash三角形三邊判重 每一條邊可以由多條線段組成,判斷倆個三角形不同是至少有一條邊不等 include include include includeusing namespace std const int mm 55 const int mod 1000007 int...