傳送門: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...