首页 > 其他分享 >CF1228D Complete Tripartite

CF1228D Complete Tripartite

时间:2023-05-19 20:55:38浏览次数:44  
标签:fp Complete int CF1228D eb rd Tripartite maxN cout

有些题解够了,这题和三分图的判定没有什么关系……

这里主要是一个转化,一个点会和所以不与自己相连的点处于相同的集合中。

换句话说,如果两个点在同一个集合内,那与这两个点相连的点的集合是完全相同的。

这里使用了哈希来判定,另外,如果有孤立的点存在,则要特判。

const int maxN=1e5+10;
vector<int> g[maxN];
int n,m;
pll hsh[maxN];
int col[maxN];

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0); 
	n=rd(),m=rd();
	fp(i,1,m){
		int u=rd(),v=rd();
		g[u].eb(v),g[v].eb(u);
	}
	fp(i,1,n){
		if(g[i].empty()){
			cout << "-1" << endl;
			return 0;
		}
	}
	fp(i,1,n)
		sort(g[i].begin(),g[i].end());
	fp(i,1,n){
		hsh[i].second=i;
		for(int x:g[i])
			hsh[i].first=(hsh[i].first*base+x)%mod;
	}
	sort(hsh+1,hsh+n+1);
	vector<int> v;
	fp(i,2,n)
		if(hsh[i].first!=hsh[i-1].first) v.eb(i);
	if(v.size()!=2){
		cout << "-1" << endl;
		return 0;
	}
	fp(i,1,v[0]-1)
		col[hsh[i].second]=1;
	fp(i,v[0],v[1]-1)
		col[hsh[i].second]=2;
	fp(i,v[1],n)
		col[hsh[i].second]=3;
	fp(i,1,n) cout << col[i] << ' ';
	cout << endl;
	
	return 0;
} 

标签:fp,Complete,int,CF1228D,eb,rd,Tripartite,maxN,cout
From: https://www.cnblogs.com/Benzenesir/p/17416251.html

相关文章

  • C#中的Task.CompletedTask和Task.Result学习
    在学习C#中的Task方法时,可以知道Task启动一个异步线程方法可以用Task.Run()进行,具体可以参看博客 https://www.cnblogs.com/yaosj/p/10342883.html和 https://www.cnblogs.com/wynblogscc/p/15138423.html但是,在有些返回类型是Task的方法中,可以在不进行异步的情况下计算结果.......
  • ctags和youcompleteme的比较
    ctags和youcompleteme是vim常用的两个代码提示工具。前者更古老简便,后者更先进。他们都是很优秀的软件工具,这里对他们进行对比梳理,以达到灵活使用他们的目的。基本使用介绍。ctags是vim内在就支持的,ctags-R产生tags文件,vim中通过settags=/path/to/tags文件,即可达到使用tags文......
  • el-autocomplete select事件传递多个参数
    问题<el-autocompletev-model="state":fetch-suggestions="querySearchAsync"placeholder="请输入内容"@select="handleSelect"></el-autocomplete>这是ElementUI官方文档中 el-autocomplete 的示例,而这里的 handleSelec......
  • vim+YouCompleteMe中设置回车自动选择第一项配置
    配置在vimrc中添加如下配置inoremap<expr><CR>pumvisible()?"<Down>\<CR>":"\<CR>"解释inoremap在输入(i)的模式下,非递归(nore[cursive])做符号映射(map)。若当前为pumvisible模式,将回车映射为“down键盘加回车再加空格”,down键即选择下一项,最后有一个空格是为了退出候......
  • npm命令报错:error Unexpected token '.'; error A complete log of this run can be fo
    如果你的npm报错是这样的errorUnexpectedtoken'.'errorAcompletelogofthisruncanbefoundin:并且你你尝试过了网上各种方法不得行。那么会不会是管控版本vnm的问题呢?弄了一早上不得行;最后尝试了下nvm版本。得出结论:nvm1.1.7这个版本有问题。请升级到nvm1.1.10......
  • 《asyncio 系列》4. 如何并发运行多个任务(asyncio.gather、asyncio.as_completed、asy
    楔子在上一篇文章中,我们了解了套接字的内部工作原理,并构建了一个基本的回显服务器。现在我们将学到的知识应用到并发的、非阻塞的Web请求中,基于asyncio可以并发发送大量的Web请求,缩短应用程序的运行时间。当我们必须向一组RESTAPI发出多个请求时,这很有用,比如在微服务架......
  • Codeforces Round 866 (Div. 1) C. The Fox and the Complete Tree Traversal (构造)
    传送门题目大意:  给定一个有n个点的树,我们可以任意选择一个点作为起点,这个点可以跳到跟自己距离为1或者距离为2的点,已经到达的点不能再到达(最终必须回到起点),询问是否存在一种方案可以从一个点出发经过所有的点最终再回到这个点来。  输入一个整数n。紧接着输入n-1条边。大......
  • 【ArcPy】关于VS Code对ArcPy代码补全(auto complete)/智能感知(intelisense)失效问题的
    昨晚打开VS Code瞎鼓捣,发现代码补全不见了。软件设置、环境配置……上穷碧落下黄泉,一通操作仍不见。便开始将视线转移到VSCode的支持插件上来,经过分析,认定Pylance这东西的锅。把它向前还原了两个版本,解决。 ......
  • jQuery 多结果自动完成搜索 Tokeninput Autocomplete Text Entry
    OverviewTokeninputisajQuerypluginwhichallowsyouruserstoselectmultipleitemsfromapredefinedlist,usingautocompletionastheytypetofindeachit......
  • 如何查询RMAN的COMPLETED WITH WARNINGS的告警信息
    RMAN备份时会记录每一次备份的状态信息,例如COMPLETED,FAILED等,但是使用下面脚本查询数据库时,偶尔你会看到有些备份的状态为COMPLETEDWITHWARNINGSSET LINESIZE 1080;CO......