poj 1873 final 水題 位列舉凸包

2021-07-05 18:14:36 字數 917 閱讀 4609

題意:有n棵樹,每棵樹有座標,價值,和用作籬笆的長度,求選擇幾棵樹做籬笆後,圍住剩下的樹的總價值最高的方案,如果相同價值,就取用做籬笆的樹最少的一種

#include#include#include#include#include#include#include#includeusing namespace std;

#define rd(x) scanf("%d",&x)

#define rdd(x,y) scanf("%d%d",&x,&y)

#define rddd(x,y,z) scanf("%d%d%d",&x,&y,&z)

#define rdddd(x,y,z,w) scanf("%d%d%d%d",&x,&y,&z,&w)

#define rds(s) scanf("%s",s)

#define rep(i,n) for(int i=0;i0;

}}point p[20],convex[20];

double solve(point p,int n)

double ans=0;

if(top<=1) return 0;

else if(top==2) return dist(convex[0],convex[1]);

elseelse

}double len=solve(tp,sz);

int ret=sgn(use_len-len);

if(ret>=0){

int t=sgn(v-left_v);

if(t>0){

left_v=v;

use_num=cnt;

extra=use_len-len;

for(int j=0;jcnt){

use_num=cnt;

extra=use_len-len;

for(int j=0;j

POJ 水題若干

poj 3176 cow bowling 這道題可以算是dp入門吧。可以用乙個二維陣列從下向上來搜尋從而得到最大值。優化之後可以直接用一維陣列來存。ps 用一維的時候要好好想想具體應該怎麼存,還是有技巧的 include include include includeusing namespace ...

POJ 水題若干

poj 1013 counterfeit dollar 題意 有一打硬幣,其中有乙個是假幣,質量可能較輕,也可能較重。通過三次稱重將假幣找出。由於計算機很難模仿人的想法來實現問題。這道題我糾結了很久。最後我是通過一一枚舉的笨方法做的。就是從a硬幣開始到l硬幣結束,一一假設其為假幣,其中又分為輕和重。...

POJ水題初級

初期 一.基本演算法 1 列舉.poj1753,poj2965 2 貪心 poj1328,poj2109,poj2586 3 遞迴和分治法.4 遞推.5 構造法.poj3295 6 模擬法.poj1068,poj2632,poj1573,poj2993,poj2996 二.圖演算法 1 圖的深度優先...