【习题 8-9 1613】 K-Graph Oddity
【链接】  我是链接,点我呀:) 
 【题意】
在这里输入题意
【题解】
感觉最大度数|1就是最多需要的个数了。
就贪心一下。
然后模拟染色的过程就可以了。
(贪心染色就可以了
(看看周围哪个颜色没有,就用它)
k在dfs之前忘记判断是不是奇数了。。。。
以及忘记清空g
【代码】
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4;
int n,m,du[N+10],k,flag[N+10];
vector <int> g[N+10];
set<int>myset[N+10];
int ma;
void dfs(int x){
    myset[x].clear();
    for (auto y:g[x])
        if (flag[y]!=0){
            myset[x].insert(flag[y]);
        }
    for (int i = 1;i <= k;i++)
        if (myset[x].find(i)==myset[x].end()){
            flag[x] = i;
            break;
        }
    for (auto y:g[x])
        if (flag[y]==0)
            dfs(y);
}
int main(){
	#ifdef LOCAL_DEFINE
	    freopen("rush_in.txt", "r", stdin);
	#endif
	ios::sync_with_stdio(0),cin.tie(0);
    while (cin >> n >> m){
        for (int i = 1;i <= n;i++) {
            g[i].clear();
            du[i] = 0;
            flag[i] = 0;
        }
        for (int i = 1;i <= m;i++){
            int x,y;
            cin >> x >> y;
            g[x].push_back(y);
            g[y].push_back(x);
            du[x]++;du[y]++;
        }
        k = 0;
        for (int i = 1;i <= n;i++)
            k = max(k,du[i]);
        if (!(k&1)) k++;
        dfs(1);
        cout <<k<<endl;
        for (int i = 1;i <= n;i++) cout << flag[i]<<endl;
        cout << endl;
    }
	return 0;
}
【习题 8-9 1613】 K-Graph Oddity的更多相关文章
- 紫书 习题8-9 UVa 1613 (dfs染色+图的性质)
		这道题一开始我没想什么直接开始染, 但是是for循环一个节点一个节点染, 然后就WA 后了看了https://www.cnblogs.com/jerryRey/p/4702323.html 发现原来还 ... 
- UVA 1613 K度图染色
		题目 \(dfs+\)证明. 对于题目描述,可以发现\(K\)其实就是大于等于原图中最大度数的最小奇数,因为如果原图度数最大为奇数,则最多颜色肯定为K,而如果原图最大度数为偶数,则\(K\)又是奇数, ... 
- 牛客在线习题:链表的k各节点翻转
		题目描述 将给出的链表中的节点每\ k k 个一组翻转,返回翻转后的链表如果链表中的节点数不是\ k k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身.要求空间复杂度 \ O ... 
- Problem K: Yikes -- Bikes!
		http://acm.upc.edu.cn/problem.php?id=2780 昨天做的题,没过……!!!伤心……题意:给你n个单位,n-1组关系,让你单位换算……解题思路:Floyd算法自己听别 ... 
- [Swift]LeetCode787. K 站中转内最便宜的航班 | Cheapest Flights Within K Stops
		There are n cities connected by m flights. Each fight starts from city u and arrives at v with a pri ... 
- Floyd求最小环!(转载,非原创) 附加习题(原创。)HDU-1599
		//Floyd 的 改进写法可以解决最小环问题,时间复杂度依然是 O(n^3),储存结构也是邻接矩阵 int mincircle = infinity; Dist = Graph; ;k<nVe ... 
- LeetCode——787. K 站中转内最便宜的航班
		有 n 个城市通过 m 个航班连接.每个航班都从城市 u 开始,以价格 w 抵达 v. 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 ... 
- P 算法与 K 算法
		P 算法与 K 算法 作者:Grey 原文地址: 博客园:P 算法与 K 算法 CSDN:P 算法与 K 算法 说明 P 算法和 K 算法主要用来解决最小生成树问题,即:不破坏连通性删掉某些边,使得整 ... 
- poj3311 Hie with the Pie (状态压缩dp,旅行商)
		Hie with the Pie Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3160 Accepted: 1613 ... 
随机推荐
- 用VUE做网站后台
			介绍: 这是一个用vuejs2.0和element搭建的后台管理界面. 相关技术: vuejs2.0:渐进式JavaScript框架,易用.灵活.高效,似乎任何规模的应用都适用. element:基于 ... 
- HDFS 文件系统流程图。PB级文件存储时序图。
			大小文件通吃, 热点hash功能. 全局唯一KV索引. 百度网盘模式.断点续传功能.MR分析功能. 来自为知笔记(Wiz) 
- linux下oracle11G DG搭建(三):环绕备库搭建操作
			linux下oracle11G DG搭建(三):环绕备库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ... 
- 关于post请求“CAUTION: Provisional headers are shown”【转】
			在POST请求中偶尔会出现"CAUTION: Provisional headers are shown" 这个警告的意思是说:请求的资源可能会被(扩展/或其它什么机制)屏蔽掉. ... 
- SGU 461 Wiki Lists   dfs
			不难的题,不过蛮有意思的dfs #include <iostream> #include <cstdio> #include <fstream> #include ... 
- 分享一个vueui axios-mock-adapter 中的用法
			import axios from 'axios'; import MockAdapter from 'axios-mock-adapter'; import { LoginUsers, Users ... 
- java  httpRequest和Response
			Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ... 
- js002---- 标准内置对象
			1. js全局的对象(全局作用域里的对象,而不是全局对象), 或者叫标准内置对象 2, 全局对象 是一个Global类的对象. 标准内置对象的分类: 1. 值属性 infinity Na ... 
- 干货分享 -- Math
			昼猫笔记 JavaScript -- Math Math也是JS的内置对象,但是它不是一个构造函数,它属于一个工具类不用创建对象,它封装了数学运算相关的属性和方法,今天就来写下常用的函数[API(ap ... 
- Hexo页面优化和音乐的心得
			灵感 这两天在添加“留言”以及“关于”页面,准备先简单设计一下自已的页面.留言页面可以放置一些自已比较感兴趣的音乐.以及一些JS特效,再集成一个第三方的留言功能.关于页面可以放置一些简单的联系方式.以 ... 
