zoukankan      html  css  js  c++  java
  • 2017.2.9 考试总结

    果然考得奇萎……TMD竟然只有60分!!!!!!想揍自己啊啊啊啊啊!!!!!

    T1竟然把有依赖背包忘了……

    T2不会造树导致公式全错……

    T3竟然少打一句话爆零!!!!!!不然AC!!!!!!!想揍自己啊啊啊啊啊啊!!!!!!!

    T4炸了……我为什么要打主席树…………

    考试一定要对拍!!!

    考试一定要对拍!!!

    考试一定要对拍!!!

    重要的事情说四遍:

    考试一定要对拍!!!!!!!

    附T3修改AC代码,不许再犯傻逼错误啦!!!!!!!!!!!!

    #include<cmath>
    #include<queue>
    #include<cstdio>
    #include<vector>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define N 300010
    #define r 20010
    #define RG register
    #define inf 0x3f3f3f3f
    #define Inf 99999999999999999LL
    using namespace std;
    typedef long long LL;
    bool vis[N],dfsvis[N];
    struct node{
        int x,y;
    }sm[N];
    struct BiShi{
        int to,next;
    }e[N];
    int col[N];
    int n,m,p,x,y,cnt,sum,ans,siz,w[N],head[N];
    inline int Abs(RG const int &a){return a>0?a:-a;}
    inline int Max(RG const int &a,RG const int &b){return a>b?a:b;}
    inline int Min(RG const int &a,RG const int &b){return a>b?b:a;}
    inline bool cmp(RG const node &a,RG const node &b){return a.y<b.y;}
    inline int gi(){
        RG int x=0;RG bool flag=0;RG char c=getchar();
        while((c<'0'||c>'9')&&c!='-') c=getchar();
        if(c=='-') c=getchar(),flag=1;
        while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
        return flag?-x:x;
    }
    inline void add(RG int from,RG int to){
        e[++cnt].next=head[from];
        e[cnt].to=to;
        head[from]=cnt;
    }
    inline void dfs(RG int now){
        dfsvis[now]=1;
        col[now]=siz;--sum;
        RG int cnm=head[now];
        while(cnm){
        if(!dfsvis[e[cnm].to]){
            if(!col[e[cnm].to])
                dfs(e[cnm].to);
            else if(vis[col[e[cnm].to]]){
                ans-=w[col[e[cnm].to]];
                vis[col[e[cnm].to]]=0;
            }
        }
        cnm=e[cnm].next;
        }
    }
    inline void work(){
        n=gi();p=gi();sum=n;ans=0;
        for (RG int i=1;i<=p;++i){
        sm[i].x=gi();
            sm[i].y=gi();
        w[sm[i].x]=sm[i].y;
        }
        m=gi();
        for (RG int i=1;i<=m;++i){
        x=gi();y=gi();
        add(x,y);
        }
        sort(sm+1,sm+p+1,cmp);
        for (RG int i=1;i<=p;++i)
        if(!col[sm[i].x]){
            ans+=sm[i].y;
            siz=sm[i].x;
            vis[sm[i].x]=1;
            memset(dfsvis,0,sizeof(dfsvis));
            dfs(sm[i].x);
            if(!sum) break;
        }
        if(sum){
        printf("NO
    ");
        for (RG int i=1;i<=n;++i)
            if(!col[i]){
            printf("%d
    ",i);
            break;
            }
        }
        else printf("YES
    %d
    ",ans);
    }
    int main(){
        freopen("pupil.in","r",stdin);
        freopen("pupil.out","w",stdout);
        work();
        fclose(stdin);
        fclose(stdout);
        return 0;
    }

    是不是只有我今天才知道gdb的用法和欧拉序列离线O(n)求LCA,以及造树模板……

  • 相关阅读:
    LocalDateTime和Date使用@JsonFormat显示毫秒时间
    curl查看ip的几种方式
    thinkphp5.1生成缩略图很模糊
    ajax发送时禁用按钮
    thinkphp5 不使用form,用input+ajax异步上传图片
    GOLANG 闭包和普通函数的区别
    GOLANG 匿名函数笔记
    父级自适应自己高度且高度完全一致css
    子元素等高 css
    ios 用jquery为元素标签绑定点击事件时,ios上不执行点击事件
  • 原文地址:https://www.cnblogs.com/Super-Nick/p/6381708.html
Copyright © 2011-2022 走看看