CF #376 (Div. 2) C. dfs
1、CF #376 (Div. 2) C. Socks dfs
2、题意:给袜子上色,使n天左右脚袜子都同样颜色。
3、总结:一开始用链表存图,一直TLE test 6
(1)如果需要高效的随即存取,而不在乎插入和删除的效率,使用vector 。
(2)如果需要大量的插入和删除,而不关心随即存取,则应使用list 。
- #include<bits/stdc++.h>
- #define F(i,a,b) for (int i=a;i<b;i++)
- #define FF(i,a,b) for (int i=a;i<=b;i++)
- #define mes(a,b) memset(a,b,sizeof(a))
- #define INF 0x3f3f3f3f
- #define LL long long
- #define pb push_back
- using namespace std;
- const int N=,MAX=;
- int n,m,k,vis[N],col[N],sum,sum1,maxn;
- map<int ,int >M;
- vector<int >G[N];
- void dfs(int u)
- {
- vis[u]=; M[col[u]]++;
- //sum++; //直接在map::M上遍历时间会优化一点
- //if(maxn<M[col[u]]) maxn=M[col[u]];
- for(int v:G[u]) if(!vis[v]) { //才发现for可以这样简写
- dfs(v);
- }
- }
- int main()
- {
- scanf("%d%d%d",&n,&m,&k);
- FF(i,,n) scanf("%d",&col[i]);
- int l,r;
- FF(i,,m) {
- scanf("%d%d",&l,&r);
- G[l].pb(r); G[r].pb(l);
- }
- mes(vis,); sum1=;
- FF(i,,n) if(!vis[i]) {
- M.clear();
- sum=maxn=;
- dfs(i);
- for(auto p:M){
- sum+=p.second;
- if(maxn<p.second) maxn=p.second;
- }
- sum1+=(sum-maxn);
- }
- cout<<sum1<<endl;
- return ;
- }
CF #376 (Div. 2) C. dfs的更多相关文章
- CF #375 (Div. 2) D. bfs
1.CF #375 (Div. 2) D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...
- CF #374 (Div. 2) D. 贪心,优先队列或set
1.CF #374 (Div. 2) D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优 ...
- CF #374 (Div. 2) C. Journey dp
1.CF #374 (Div. 2) C. Journey 2.总结:好题,这一道题,WA,MLE,TLE,RE,各种姿势都来了一遍.. 3.题意:有向无环图,找出第1个点到第n个点的一条路径 ...
- CF #371 (Div. 2) C、map标记
1.CF #371 (Div. 2) C. Sonya and Queries map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...
- CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组
题目链接:CF #365 (Div. 2) D - Mishka and Interesting sum 题意:给出n个数和m个询问,(1 ≤ n, m ≤ 1 000 000) ,问在每个区间里所有 ...
- CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组(转)
转载自:http://www.cnblogs.com/icode-girl/p/5744409.html 题目链接:CF #365 (Div. 2) D - Mishka and Interestin ...
- CF #405 (Div. 2) B. Bear ad Friendship Condition (dfs+完全图)
题意:如果1认识2,2认识3,必须要求有:1认识3.如果满足上述条件,输出YES,否则输出NO. 思路:显然如果是一个完全图就输出YES,否则就输出NO,如果是无向完全图则一定有我们可以用dfs来书边 ...
- CF R639 div 2 E Quantifier Question 数学 dfs 图论
LINK:Quantifier Question 题面过长 引起不适 读题花了好长时间 对于 和 存在符合不是很熟练 导致很懵逼的做完了. 好在还算很好想.不过wa到了一个坑点上面 自闭一大晌 还以为 ...
- Codeforces Round #381 (Div. 2) D dfs序+树状数组
D. Alyona and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
随机推荐
- LoadRunner 函数之lr_xml_get_values
简单实例如 char *xml_input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>&q ...
- 深入理解javascript原型和闭包(6)——继承
为何用“继承”为标题,而不用“原型链”? 原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆.而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中 ...
- 2Struts2基础----青软S2SH(笔记)
- [Head First设计模式]生活中学设计模式——外观模式
系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式— ...
- JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCla ...
- WP8.1 RT 生命周期详解
应用状态关系转换图 根据此“应用状态关系转换图”.有以下: 三个状态: NotRunning:未运行 Running:运行中 Suspended:挂起 三个事件: A ...
- Android高手速成--第三部分 优秀项目
主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好.Linux项目地址:https://github.com/torvalds/linuxAndroid ...
- 2012 Multi-University Training Contest 9 / hdu4389
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
- 马化腾称春节前推出微信小程序
腾讯马化腾在第二届深商大会“互联与时代”论坛上透露,会在2017年春节前推出微信小程序.在谈到“互联网+”.开放生态等话题时,马化腾表示,腾讯从过去5年来,从封闭的环境变成一个开放的环境,变成一个真正 ...
- Mac Pro 资源管理器 Double Commander“个性化设置” 备份
操作系统自带的资源管理器,总是有些别扭的地方,在 Windows 系统下,我一般用 Total Commander(破解版)来作为替代品.现在换为 Mac 系统,自带的 Finer 也不怎么好用,连最 ...