zoukankan      html  css  js  c++  java
  • hdu 1598 find the most comfortable road

    hdu 1598
    find the most comfortable road
    题目的意思是很多连接的点中,问x到y点的最小差值。
    差值的计算是,在这条路径中的最大的值-最小的值。
    感觉像流的问题。
    却十分巧妙的用并查集来做。

    问题的关键还是在处理 最小差值。
    1贪心+并查。
    将排序(从小到大)后的进行判断,是否f[x]==f[y]来结束。
    那谁是起点??这也是个难点,任一点都可能是起点,我们只能通过for(i=1;i<=n;i++)来求取min。
    int pd(int x,int y,int m,int n)
    {
        int i,j,ans=10000003;
        for(i=1;i<=m;i++)
        {
            ini(n);
            for(j=i;j<=m;j++)
            {
                Union(a[j].q,a[j].z);
                if(find(x)==find(y))
                    break;
            }
            if(j>=m+1)break;
            if(a[j].info-a[i].info<ans)
                ans=a[j].info-a[i].info;
        }
        if(ans==10000003) return -1;
        else return ans;
    }

  • 相关阅读:
    17-7-20-electron中主进程和渲染进程区别与通信
    17-7-19-书写规范和任务的延续性
    17-7-19----起
    一年没回来了
    django-BBS(2)
    django-BBS(1)
    nmap使用教程
    利用谷歌黑客语法挖掘漏洞
    PHP代码审计之XSS操作
    PHP安装文件的审计
  • 原文地址:https://www.cnblogs.com/tom987690183/p/3158708.html
Copyright © 2011-2022 走看看