zoukankan      html  css  js  c++  java
  • 【2019.10.29】

    Problemset   Solution(chrome里只能复制链接后粘贴打开)

    最新学习状态&考试状态都不对,心态也有点不好,自己要去调节一下。 

    同时刷题速度还不够。这样是拿不到省一的。

    趁着最后的时间,拼命努力吧。

    T1.

    FLoyd很好想,但我卡数据卡太死了觉得会TLE就没写,同时也是没注意出题人写的时间可放宽到1.3倍。

    考虑用可以按特定顺序加点的Floyd注意这种要维护两个最大/最小的问题一般都是一个靠排序一个靠max/min(∵不能两个同时考虑,只能先类似于处理出一个)。

    注意排序只能保证点k值在路径中最大,两个端点点值可能比他大,所以要max这三个点的点值。

    我改的时候还搞错了它的数值大小,一个要开ll,一个必须要开int,两者做乘法才不会超大小。以后记得比较精准的估算一下数据大小

    #include<bits/stdc++.h>
    #define ri register int
    #define ll long long
    #define For(i,l,r) for(ri i=l;i<=r;i++)
    #define Dfor(i,r,l) for(ri i=r;i>=l;i--)
    using namespace std;
    const int M=450;
    ll ans;
    ll n,m,p[M],e[M][M],dis[M][M],v[M];
    inline ll read(){
        ll f=1,sum=0;
        char ch=getchar();
        while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
        while(isdigit(ch)){sum=(sum<<1)+(sum<<3)+(ch^48);ch=getchar();}
        return f*sum;
    }
    inline void write(ll x){
        if(x<0) putchar('-'),x=-x;
        if(x>9) write(x/10);
        putchar(x%10+'0');
    }
    inline bool cmp(int x,int y){return p[x]<p[y];}
    int main(){
        freopen("goaway.in","r",stdin);
        freopen("goaway.out","w",stdout);
        n=read(),m=read();
        For(i,1,n) v[i]=i,p[i]=read();
        sort(v+1,v+n+1,cmp);
        For(i,1,n){
            For(j,1,n){
                e[i][j]=1e9,dis[i][j]=1e18;
            }
        }
        For(i,1,m){
            ll u=read(),v=read(),w=read();
            e[u][v]=w;
        }
        For(k,1,n){
            For(i,1,n){
                For(j,1,n){
                    e[i][j]=min(max(e[i][v[k]],e[v[k]][j]),e[i][j]);
                    dis[i][j]=min(dis[i][j],1ll*e[i][j]*max(max(p[i],p[j]),p[v[k]]));
                }
            }
        }
        For(i,1,n){
            For(j,1,n){
                ans+=(i!=j)*dis[i][j];
            }
        }
        printf("%lld
    ",ans);
        return 0;
    }
    View Code

    T3.

  • 相关阅读:
    HDU 2899 Strange fuction
    HDU 2899 Strange fuction
    HDU 2199 Can you solve this equation?
    HDU 2199 Can you solve this equation?
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)
    Java实现 LeetCode 699 掉落的方块(线段树?)
    Java实现 LeetCode 699 掉落的方块(线段树?)
    Java实现 LeetCode 699 掉落的方块(线段树?)
  • 原文地址:https://www.cnblogs.com/jian-song/p/11759145.html
Copyright © 2011-2022 走看看