• 一个小游戏


    题目:

      给出一张图,有点权,有边权。

      两个人轮流用最优策略染色,他们的得分是点权+内部的边权。

    思路:

      由于只求两者的差,我们可以把边权分到点权里面去,如果两点被同一人选,那边权就加到一个人身上了。

                              如果每人选一个点,那一减就没了,并无影响。

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    #include<math.h>
    using namespace std;
    int n,m;
    double w[20000],ans;
    int main()
    {
    
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
            scanf("%lf",&w[i]);
        for(int i=1,u,v,c;i<=m;i++)
        {
            scanf("%d%d%d",&u,&v,&c);
            w[u]+=c/2.0;w[v]+=c/2.0;
        }
        sort(w+1,w+1+n);
        int i=n;
        for(i=n;i>=1;i-=2)
        {
            ans+=w[i]-w[i-1];
        }
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    【作业7】完成调查问卷
    用博客园第一周
    讲座观后感
    调查问卷
    第十一周·前端学习笔记--正则表达式
    调查问卷
    思维导图
    讲座心得1
    第一次作业(8.学习进度表)
    第一次作业(7.问卷调查)
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7237990.html
Copyright © 2020-2023  润新知