题目链接:http://codeforces.com/contest/731/problem/C

题意:有n只袜子(1~n),k种颜色(1~k),在m天中,左脚穿下标为l,右脚穿下标为r的袜子,问最少修改几只袜子的颜色,可以使每天穿的袜子左右两只都同颜色。

好恶心的袜子,一会儿看成改袜子的颜色,一会儿看成改l,r的颜色,一会下标看混......不过,菜是原罪=_=

思路:先建图,在每个连通分支中,把所有袜子的颜色都改成出现颜色次数最多的那个颜色,即该分支节点个数 - 最多出现次数

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int c[N];
bool vis[N];
vector <int> G[N];
map <int,int> num;
int cur,maxm;
void dfs(int x)
{
if(vis[x])
return;
cur++;
maxm = max(maxm,++num[c[x]]);
vis[x] = 1;
for(int i = 0; i < G[x].size(); i++)
dfs(G[x][i]);
}
int main()
{
int n,m,k,ans = 0;
scanf("%d %d %d",&n,&m,&k);
for(int i = 1; i <= n; i++)
scanf("%d",c+i);
for(int i = 1; i <= m; i++)
{
int l,r;
scanf("%d %d",&l,&r);
G[l].push_back(r);
G[r].push_back(l);
}
for(int i = 1; i <= n; i++)
{
cur = maxm = 0;
dfs(i);
ans += cur - maxm;
num.clear();
}
printf("%d\n",ans);
return 0;
}

最新文章

  1. Java 静态变量,常量和方法
  2. 安装Mysql提示1045错误解决方法
  3. H5测试区别与PC端测试关注点
  4. nodejs express 框架解密1-总体结构
  5. Asp.NET网站Session浅谈
  6. TextView中gravity属性值测定
  7. C# 常用的工具类
  8. vs2010生成Dll文件并引用dll(C#)
  9. linux运维基础__争取十月前研究的差不多
  10. BAK文件怎么恢复到数据库中
  11. oracle 表导入到powerDesigner 中
  12. POJ 1094 Sorting It All Out(经典拓扑+邻接矩阵)
  13. 安卓和iOS移动APP开发设计应该考虑哪些问题
  14. css简单实现五角星评分、点赞收藏、展示评分(半颗星、1/3颗星)
  15. 35. Search Insert Position【leetcode】
  16. jdk环境变量配置及配置原因
  17. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具
  18. 【转载】C#中自定义Sort的排序规则IComparable接口
  19. HTML空格占位符
  20. opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理

热门文章

  1. vs中部分快捷键
  2. 【转】如何保护自己的QQ号
  3. Jquery想说爱你不容易
  4. Java8之——简洁优雅的Lambda表达式
  5. lamp遇到问题
  6. 用java程序调用批处理文件
  7. Repository - Service
  8. Eclipse里面Outline中图标的含义
  9. MicroERP1.0简介及下载
  10. Console命令详解,让调试js代码变得更简单