Problem L. Graph Theory Homework

http://acm.hdu.edu.cn/showproblem.php?pid=6343

容易证明 ⌊a⌋+⌊b⌋≥⌊a+b⌋\lfloor \sqrt{a} \rfloor + \lfloor \sqrt{b} \rfloor \ge \lfloor \sqrt{a + b} \rfloor⌊√​a​​​⌋+⌊√​b​​​⌋≥⌊√​a+b​​​⌋,进而可以证明边权满足三角不等式,故直接从 111 走到 nnn 就是最优的。

#include<bits\stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    int  t,n,a[100005],i,ans,tmp;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
        ans=abs(a[n]-a[1]);
        tmp=sqrt(ans);
        printf("%d\n",tmp);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37891604/article/details/81348545