呼和浩特网站seo,信创网站,wordpress带轮播企业站主题,wordpress首页不显示全文哇实验室里正在吵架#xff0c;爽死了#xff01; wf水题。显然二进制枚举#xff0c;注意剪枝#xff0c;valans的时候剪一下#xff0c;不然会tle。然后就没惹。 我老人家一开始写了个 感觉非常垃圾#xff0c;wa了一发又t了一发。 感觉自己可以退役了 1 #include … 哇实验室里正在吵架爽死了 wf水题。显然二进制枚举注意剪枝valans的时候剪一下不然会tle。然后就没惹。 我老人家一开始写了个 感觉非常垃圾wa了一发又t了一发。 感觉自己可以退役了 1 #include cstdio2 #include cstring3 #include cmath4 #include iostream5 #include iomanip6 #include algorithm7 #include vector8 typedef double db;9 #define pdd pairdb,db
10 const db eps 1e-6;
11 const db pi acos(-1);
12 using namespace std;
13 int sign(db k){
14 if (keps) return 1; else if (k-eps) return -1; return 0;
15 }
16 int cmp(db k1,db k2){return sign(k1-k2);}
17 struct point{
18 db x,y;
19 db v,l;
20 point operator (const point k1) const{return (point){k1.xx,k1.yy};}
21 point operator - (const point k1) const{return (point){x-k1.x,y-k1.y};}
22 point operator * (db k1) const{return (point){x*k1,y*k1};}
23 point operator / (db k1) const{return (point){x/k1,y/k1};}
24 bool operator (const point k1)const {
25 int ccmp(x,k1.x);
26 if(c)return c-1;
27 return cmp(y,k1.y)-1;
28 }
29 db abs(){ return sqrt(x*xy*y);}
30 db dis(point k1){return ((*this)-k1).abs();}
31 };
32 db cross(point k1,point k2){return k1.x*k2.y-k1.y*k2.x;}
33 db dot(point k1,point k2){return k1.x*k2.xk1.y*k2.y;}
34 vectorpoint convexHull(vectorpoint ps){
35 int n ps.size();if(n1)return ps;
36 sort(ps.begin(),ps.end());
37 vectorpoint qs(n*2);int k0;
38 for(int i0;in;qs[k]ps[i])
39 while (k1cross(qs[k-1]-qs[k-2],ps[i]-qs[k-2])0)--k;
40 for(int in-2,tk;i0;qs[k]ps[i--])
41 while (ktcross(qs[k-1]-qs[k-2],ps[i]-qs[k-2])0)--k;
42 qs.resize(k-1);
43 return qs;
44 }
45 int n;
46 point p[19];
47 vectorpoint v;
48 db res0,sum1e9;int ans-1;
49 void slove(int x){
50 v.clear();
51 db l10,val0;
52 for(int i0;in;i){
53 if(1(xi)){//砍了
54 l1p[i].l;
55 valp[i].v;
56 } else{
57 v.push_back(p[i]);
58 }
59 }
60 if(cmp(val,sum)0)
61 return;
62 vconvexHull(v);
63 db l20;
64 for(int i0;iv.size();i){
65 l2v[i].dis(v[(i1)%v.size()]);
66 }
67 if(v.size()1)l20;
68 if(cmp(l1,l2)0){//阔以
69 sumval;
70 resl1-l2;
71 ansx;
72 }
73 }
74 int main(){
75 int cas 0;
76 while (scanf(%d,n)n){
77 cas;
78 for(int i0;in;i){
79 scanf(%lf%lf%lf%lf,p[i].x,p[i].y,p[i].v,p[i].l);
80 }
81 for(int i1;i(1n)-1;i){
82 slove(i);
83 }
84 if(cas2)printf(\n);
85 printf(Forest %d\n,cas);
86 printf(Cut these trees:);
87 for(int i0;in;i){
88 if((ansi)1){
89 printf( %d,i1);
90 }
91 }
92 printf(\nExtra wood: %.2f\n,res);
93 res0,sum1e9;
94 }
95 } View Code 转载于:https://www.cnblogs.com/MXang/p/10446854.html