题目大意:给定平面上的n个黑点和n个白点,一个黑点只能和右下方的白点匹配,代价为曼哈顿距离,求最小权值完备匹配
STO OTZ
STO OTZ
STO OTZ
ans=Σ(y黑-y白+x白-x黑)
=Σy黑-Σy白+Σx白-Σx黑
然后。。。233333333333333333333
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int n;
long long ans;
int main()
{
int i,x,y;
cin>>n;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
ans-=x;ans+=y;
}
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
ans+=x;ans-=y;
}
cout<<ans<<endl;
return 0;
}