zoukankan      html  css  js  c++  java
  • [模拟赛]提高2019-03-19

    ......

    45+36+30=111(好不吉利的数字)

    鬼知道我做第一题的时候在想什么...懒得写

     

    第二题也很水啊...

    不过前几天刚有一道类似的题然后改了一点点就交了(其实完全是错的...不过思路确实差不多,不会的看这里吧,贴个代码不详细讲了)

    #pragma GCC optimize(3)
    #pragma GCC optimize("Ofast")
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    inline int read(){
        char chr=getchar();    int f=1,ans=0;
        while(!isdigit(chr)) {if(chr=='-') f=-1;chr=getchar();}
        while(isdigit(chr))  {ans=(ans<<3)+(ans<<1);ans+=chr-'0';chr=getchar();}
        return ans*f;
    }void write(int x){
        if(x>9) write(x/10),putchar(x%10+'0');
        else putchar(x+'0');
    }int n,m,d[505][505],cnt[505][505],f[505][505],now[505];
    #define F for(register int k(1);k<=n;++k)for(register int i(1);i<=n;++i)for(register int j(1);j<=n;++j)
    signed main(){//freopen("path.in","r",stdin);freopen("path.out","w",stdout);    
        n=read(),m=read();
        memset(d,0x3f,sizeof d);for(register int i(0);i<=n;++i) d[i][i]=0;
        for(register int i(1),x,y;i<=m;++i)x=read(),y=read(),d[x][y]=d[y][x]=read();
        memcpy(f,d,sizeof d);
        F if(f[i][j]>f[i][k]+f[k][j])    f[i][j]=f[i][k]+f[k][j];
        for(register int i(1);i<=n;++i){
            for(register int j(1);j<=n;++j) now[j]=0;
            for(register int j(1);j<=n;++j) 
                for(register int k(1);k<=n;++k) if(k!=j&&f[i][j]+d[j][k]==f[i][k]) ++now[k];
            for(register int j(1);j<=n;++j)
                for(register int k(1);k<=n;++k)
                    if(f[i][j]+f[j][k]==f[i][k]) cnt[i][k]+=now[j];
        }
        for(register int i(1);i<n;++i)
            for(register int j(i+1);j<=n;++j)
                if(f[i][j]==0x3f3f3f3f) putchar('0'),putchar(' ');else write(cnt[i][j]),putchar(' ');
        return 0;
    }

    第三题...

    代码可以很短...似乎确实也只用到了并查集,但确实有点难想,并且...我调了整整一节晚自习课(1.333个小时)...

    至于题解戳这里吧...

  • 相关阅读:
    Java线程中run和start方法的区别
    dwr+spring集成
    Lucene入门
    struts2之单个文件上传
    利用jQuery接受和处理xml数据
    struts2之多个文件上传
    Google开源项目二维码读取与生成工具ZXing
    C# Regex 深入正则表达式
    android多分辨率多密度下界面适配方案
    [转]C#.net编程创建 Access 文件和 Excel 文件
  • 原文地址:https://www.cnblogs.com/zhenglw/p/10568137.html
Copyright © 2011-2022 走看看