题目链接点这里
最近真是很怠情啊,不想动手。。。
偶尔敲一题,,都是敲一个小时,,调试2个小时的状态,,,,心累,,
#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 0x3f3f3f3f #define INFLL 0x3f3f3f3f3f3f3f3f #define FIN freopen("input.txt","r",stdin) #define mem(x,y) memset(x,y,sizeof(x)) typedef unsigned long long ULL; typedef long long LL; #define fuck(x) cout<<"x"<,int> PIII; typedef pair PII; const double eps=1e-5; int n,k; const int M=2222,U=1000;//M为U-(y-x)取到的最大值; struct Point { int x,y,id; bool operator <(const Point a)const { if(x!=a.x)return xval) { tree[x].val=val; tree[x].id=id; } x+=-x&x; } } PII tree_query(int x) { int minn=INF,id=-1; while(x) { if(tree[x].val=0; i--) { PII u=tree_query(U-(w[i].y-w[i].x)); if(u.second!=-1) E[cnt++]=Edge(w[i].id,u.second,u.first-(w[i].x+w[i].y)); tree_add(U-(w[i].y-w[i].x),w[i].y+w[i].x,w[i].id); } } int bin[MX]; int Find(int x) { return x==bin[x]?x:bin[x]=Find(bin[x]); } int main() { FIN; while(cin>>n>>k) { for(int i=0; i