Hdu 3255 Farming 長方形體積並

2021-07-22 14:45:01 字數 1551 閱讀 8816

傳送門:hdu 3255 farming

題意:有n塊農田,每塊農田中種一種作物,每種作物都有乙個**,當在同一區域內種植了兩種不同的作物時,作物**大的生存下來,作物**小的死亡。求最後的所有作物的能買的總錢數。

思路:將**轉化為長方形的高,利用長方形體積並

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define inf 0x3f3f3f3f

#define inf -0x3f3f3f3f

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define mem0(a) memset(a,0,sizeof(a))

#define mem1(a) memset(a,-1,sizeof(a))

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

typedef

long

long ll;

const

int maxn=50010;

struct nodea[2*maxn],b[2*maxn];

int sum[maxn*8],mark[maxn*8],t[maxn*2],price[maxn];

int read()

bool cmp1(node u,node v)

void update(int l,int r,int rt)

int m=(l+r)>>1;

if(l<=m)

update(lson);

if(r>m)

update(rson);

pushup(rt,l,r);

}bool cmp(int x,int y)

int main();

a[i*2]=(node);

t[i*2-1]=x1,t[i*2]=x2;

}sort(price+1,price+m+1,cmp);

sort(t+1,t+2*n+1);

int m=unique(t+1,t+2*n+1)-t-1;

long

long ans=0,pre=0;

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

ans+=(tmp-pre)*price[i];

pre=tmp;

}printf("case %d: %lld\n",case1,ans);

}return

0;}

最小長方形

題目 給定一系列2維平面點的座標 x,y 其中x和y均為整數,要求用乙個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y座標軸,點落在邊上也算是被框在內。輸入 測試輸入包含若干測試用例,每個測試用例由一系列座標組成,每對座標 x y 佔一行,其中 x 和 y 小於 1000 一對 0,0 ...

最小長方形

題目描述 給定一系列2維平面點的座標 x,y 其中x和y均為整數,要求用乙個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y座標軸,點落在邊上也算是被框在內。輸入 測試輸入包含若干測試用例,每個測試用例由一系列座標組成,每對座標佔一行,其中 x 和 y 小於 231 一對0 座標標誌著乙個...

最小長方形

果然,自己的 和別人的 的差別,就是這麼大!所以以後,還是要好好練習,自己寫 先寫自己的,再看別人的,因為差別太大了。看著別人的 根本就不動腦子了。連簡單的都寫不出來了!看看吧,這就是差別!include include int a 1005 b 1005 int main int amax 240...