基础图论3

题目:没有网址

题意:

题解:

建立图搜索ok

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<set>
#include<algorithm>
#include<map>
#define maxn 10005
using namespace std;
vector<int>G[maxn];
int v;
int color[maxn];
bool dfs(int v,int c)
{
    color[v]=c;
   //cout<<G[v].size();
     for(int i=0;i<G[v].size();i++)
     {
         //cout<<color[G[v][i]]<<" "<<G[v][i]<<endl;
         if(color[G[v][i]]==c)return false;
         if(color[G[v][i]]==0&&!dfs(G[v][i],-c))return false;
     }
     return true;
}
void solve(int v){
    //cout<<"a"<<endl;
    for(int i=0;i<v;i++)
    {
        if(color[i]==0){
               // cout<<"a"<<endl;
        if(dfs(i,1)==true)
        {
            cout<<"yes"<<endl;
            return ;
        }
        }
    }
    cout<<"no"<<endl;
}
int main()
{
    int v,e;
    cin>>v>>e;
    memset(color,0,sizeof(color));
    for(int i=0;i<e;i++)
    {
        int s,t;
        cin>>s>>t;
        G[s].push_back(t);
        G[t].push_back(s);
    }
   // cout<<G[0].size();
    solve(v);
    return 0;
}
时间: 2024-10-31 09:12:29

基础图论3的相关文章

基础图论算法导引

ACM中常用图论算法 1. 拓扑排序 -> 拓扑排序的原理及其实现 2. 最短路径算法 -> 最短路算法总结 差分约束系统 -> 差分约束 前k短路 -> 前K短路径问题 3. 最小生成树问题扩展 -> 最?小?生?成?树?问?题?的?拓?展  最优比率生成树 -> 最优比率生成树 最小k度限制生成树 -> IOI2004国家集训队论文,由汪汀所著(网盘内有) 或者刘汝佳的黑书内有 裸题 poj1639 题解 4. 二分图匹配 -> 二分图的最大匹配.完美匹

基础图论总结

在此之前需要先学会基本数据结构,递归以及搜索.回溯 用了半个月的时间终于搞完了全部的基础图论...仅介绍到差分约束 图的定义自己百度= =这里直接开始说图的存储. 图的存储有N种写法,我所知道的有邻接矩阵.边表.邻接表.前向星.边集数组.十字链表.邻接多重表,这里只讨论较容易实现的3种也是最为普遍的3种:邻接矩阵,边表和邻接表. 先说说邻接矩阵吧. 邻接矩阵是一种图的直接的储存方式,对于稠密图来说,邻接矩阵的效率要高于邻接表以及边表,但是如其名,我们需要一个n*n的二维数组,所以其空间复杂度是很

基础图论--存图

图论蛮好玩的呢  比起数论真是有趣多了 有空整理一下下 首先,图是个什么鬼东东呢 graph, 一堆点集,一堆边集,可以把各种事物抽象成点,事物之间的联系用边来表示,边上还可有权值,表示距离费用等 e.g. 把各个城市抽象成点,城市之间可以由高铁直达的称作有联系(边), 边上还可附加权值,俩城市间距离等 至于一些基本概念, 有向无向,是否成环,入度出度等就不多讲啦 基本概念理解就好 现在看看存图,看不同情况来选适合的存图方式 邻接矩阵---二维矩阵 a[ n ][ m ], 可用a[i][j]=

暑假集训-基础图论

5 / 37 Problem A HUST 1019 A dangerous trip 10 / 71 Problem B HUST 1631 Road System     Problem C UVALive 3523 Knights of the Round Table   1 / 5 Problem D UVALive 5135 Mining Your Own Business 1 / 1 Problem E UVALive 4287 Proving Equivalences 0 / 2

BDFZOI 树的直径

提交次数:2 涉及知识:基础图论/BFS 描述 一棵树T的"直径"定义为结点两两间距离的最大值.给定带权树T,求T的直径长度. 输入 第一行包含2个整数N.M,表示图中共有N个结点和M条无向边.(N <= 5000,M<n)接下来M行,每行包含3个整数{u,v,w},表示有一条无向边连接结点u.v*输入保证是无环图输出一个整数,代表直径长度 样例输入 4 31 2 12 3 22 4 3 样例输出 5 代码: 1 #include<iostream> 2 #in

静态频繁子图挖掘算法用于动态网络——gSpan算法研究

摘要 随着信息技术的不断发展,人类可以很容易地收集和储存大量的数据,然而,如何在海量的数据中提取对用户有用的信息逐渐地成为巨大挑战.为了应对这种挑战,数据挖掘技术应运而生,成为了最近一段时期数据科学的和人工智能领域内的研究热点.数据集中的频繁模式作为一种有价值的信息,受到了人们的广泛关注,成为了数据挖掘技术研究领域内的热门话题和研究重点. 传统的频繁模式挖掘技术被用来在事务数据集中发现频繁项集,然而随着数据挖掘技术应用到非传统领域,单纯的事务数据结构很难对新的领域的数据进行有效的建模.因此,频繁

寒假日记

2.9 好像快要放假了--即使是Cu滚粗也要回家过年.提前开始想念同学们?有一点吧--一年里从来没有分开超过三天的一群人呐.整个鸡年一共在家里待了:初一到初六.高考6.7-6.9.联赛后11.18-11.20.元旦12.31,即将到来的2.10-2.15,一共19天,比自己想象中还是要多吧.这一年:寒假集训学基础图论,高一下学期搞高考,4月跟着学长学姐HEOI2017打个酱油,暑假集训大概慢慢会考试了,小学期依然搞高考,高二上学期文化课全盘弃疗,联赛前集训成为熟练暴力选手,NOIP2017水个暴

学习算法思想 修炼编程内功

第1章 当我们谈论算法的时候,我们在谈论什么? 无论是BAT,还是FLAG,但凡有点儿水平的技术公司,面试都要面算法.为什么算法这么重要?在工作中,真的会使用算法吗?学了算法到底有什么用?当我们谈论算法的时候,我们在谈论什么? 1-1 我们究竟为什么要学习算法 1-2 课程介绍 第2章 排序基础 O(n^2)的算法虽然简单,但也实用!让我们从最简单的基础排序算法开始,打开我们的算法大门! 2-1 选择排序法 - Selection Sort 2-2 使用模板(泛型)编写算法 2-3 随机生成算法

学习算法思想,修炼编程内功

第1章 当我们谈论算法的时候,我们在谈论什么?无论是BAT,还是FLAG,但凡有点儿水平的技术公司,面试都要面算法.为什么算法这么重要?在工作中,真的会使用算法吗?学了算法到底有什么用?当我们谈论算法的时候,我们在谈论什么? 第2章 排序基础O(n^2)的算法虽然简单,但也实用!让我们从最简单的基础排序算法开始,打开我们的算法大门! 第3章 高级排序算法虽然很多同学都听说过归并排序和快速排序,但优化归并排序可以有哪些角度?快速排序能逐渐迭代四个版本?在这一章,让我们真正理解这些高级排序算法.面试