codeforces 图论题目集(持续更新)

Posted newstartcy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 图论题目集(持续更新)相关的知识,希望对你有一定的参考价值。

Dasha Code Championship - SPb Finals Round (only for onsite-finalists)

A. Anadi and Domino

https://codeforces.com/problemset/problem/1210/A

思路:当Grape中节点个数少于等于6个时,最多存在15条边,每个节点赋值一个点数,所以n <= 6 时,可存在变数为m,当Grape中节点的个数为7个时,必然是存在俩个节点属于同一标记的,因此枚举每俩个节点,

如果其他节点和这俩个节点同时存在边,则这条边必然是不可取的,因为各种类型的筛子只能取一个,所以需要减去

/*
 * @Author: CY__HHH
 * @Date: 2019-10-21 12:09:09
 * @LastEditTime: 2019-10-21 12:09:09
 */
#include<bits/stdc++.h>
#define inf (0x3f3f3f3f)
typedef long long i64;
using namespace std;
const int maxn = 32;
bool Grape[maxn][maxn]; 
int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n,m,u,v;    cin >> n >> m;
    for(int i=0;i!=m;++i)
    {
        cin >> u >> v;
        Grape[u][v] = Grape[v][u] = true;
    }
    int minn = inf;
    if( n <= 6)
        cout << m <<‘
‘;
    else{
        for(int i=1;i<=n;++i)
        {
            for(int j=i+1;j<=n;++j)
            {
                int  cnt = 0;
                for(int k=1;k<=n;++k)
                    if(Grape[i][k]&&Grape[j][k])
                        ++cnt;
                minn = min(minn,cnt);
            }
        }
        cout << m - minn << ‘
‘;
    }
    return 0;
}

  

以上是关于codeforces 图论题目集(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

codeforces#999 E. Reachability from the Capital(图论加边)

CodeForces - 1498E Two Houses(交互+图论,结论题)

[短期持续更新]Codeforces 构造题一览

Codeforces 479Ediv3

CodeForces - 999E 缩点+图论性质

codeforces - 377A 题解