首页 > 其他分享 >AtCoder Regular Contest 041 D 辺彩色

AtCoder Regular Contest 041 D 辺彩色

时间:2024-08-12 22:38:44浏览次数:10  
标签:AtCoder typedef 颜色 int long Regular fst 一个点 041

洛谷传送门

AtCoder 传送门

比较有意思的小清新题。

第一步是时光倒流,看成是每次经过一条未被访问过的边才染色。

奇偶相关容易想到二分图。发现若有一个黑白交替的奇环(即从一个点开始遍历完整个环得到的颜色序列是黑白交替地),那我们可以先染完这个环。又因为它是奇环,所以我们遍历一遍这个环就可以切换颜色。这样一定能把全部边都染上对应的颜色。所以若有一个黑白交替的奇环答案就是 Yes。

这部分的判定可以先枚举一个点 \(u\) 然后 bfs,设 \(f_{v, 0/1}\) 表示能否经过偶数 / 奇数条黑白交替的边到达点 \(v\)。那么存在一个包含 \(u\) 的黑白交替的奇环等价于存在 \(u\) 的一条出边 \((u, v)\) 使得 \(f_{v, 0} = 1\)。

那么其他情况我们就无法切换颜色,也就是说每次到一个点,它出去时给边染的颜色是固定的。根据这个我们也可以给点染色,一个点的颜色代表它走一步时会给对应的出边染什么颜色。

因为每个点的颜色必须是唯一的,所以此时若图不是二分图就无解。否则我们枚举一个出发点 \(u\) 和 \(u\) 的颜色,判断能不能遍历完整个图(如果一个点的出边和这个点颜色相同就可以继续遍历下去)。如果存在一个点 \(u\) 和 \(u\) 的颜色,使得能遍历完整个图,答案就是 Yes,否则就是 No。

时间复杂度 \(O(nm)\)。

code
// Problem: 

标签:AtCoder,typedef,颜色,int,long,Regular,fst,一个点,041
From: https://www.cnblogs.com/zltzlt-blog/p/18355866

相关文章

  • GUI推送安装报错:cannot create regular file
    EnvironmentDataProtector10.60RedHatEnterpriseLinux8.3 SituationThefollowingerrorisreportedwhentheAddclientsisperformedontheDPGUI. [Critical]<Client-hostname>Certificatecopyfailed:cp:cannotcreateregularfile'/etc......
  • AtCoder ABC 366题解
    前言本文部分思路来自于网络,仅供参考。A-Election2题目大意给定两个市长候选人的票数,求结果是否已经确定。解题思路如果剩下的人全部投票给票少的人票少的人也不能赢,则结果就已经确定了。code#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,t,......
  • AtCoder Beginner Contest 366
    A-Election2(abc366A)题目大意\(n\)张票,目前投了\(t\)给高桥,\(a\)给青木。问剩余票随便分配,是否都是一个结局。解题思路考虑最好情况,即剩下票全部投给当前票少的,看看能不能超过对方,会则结局会变,否则不会变。神奇的代码#include<bits/stdc++.h>usingnamespaces......
  • AtCoder Beginner Contest 366 C,D题解
    C-BallsandBagQuery题解题意没什么好说的,给出q次查询,进行求解思路很简单的一道题,但这篇题解的作用是引出unordered_set,这个东西的作用类似set,但没有排序,相当于哈希。unordered_set有几种操作,接下来介绍三种insert,没什么可说的,普通的插入erase,进行弹出size,返回大......
  • G - AtCoder Office
    G-AtCoderOfficeProblemStatement$N$peopleworkattheAtCoderoffice.Theofficekeepsrecordsofentriesandexits,andtherehavebeen$M$entriesandexitssincetherecordsbegan.The$i$-th$(1\leqi\leqM)$recordisrepresentedbyapairof......
  • AtCoder Regular Contest 100 F Colorful Sequences
    洛谷传送门AtCoder传送门比较有趣的一个题。考虑一个弱化版,算colorful序列个数。有一个\(O(nK)\)的dp,大概就是设\(f_{i,j}\)为考虑到第\(i\)个数,当前最长互不相同后缀长度为\(j\)。转移考虑若往后面填一个在这\(j\)个数以外的数就能使\(j\getsj+1\),因此\(......
  • Android Irregular View
    AboutthisProjectAnandroidviewthatenableclipforegroundandbackgroundintoirregularshapeCoreAbilityforegrounddrawablebackgrounddrawableforegroundborderbackgroundborderclipdrawableintoanyshapeclipbypathorroundcornersStepsforI......
  • AtCoder Beginner Contest 365(A~E)
    AtCoderBeginnerContest365(A~E)A问题陈述给你一个介于\(1583\)和\(2023\)之间的整数\(Y\)。求公历\(Y\)年的天数。在给定的范围内,\(Y\)年的天数如下:如果\(Y\)不是\(4\)的倍数,则为\(365\)天;如果\(Y\)是\(4\)的倍数,但不是\(100\)的倍数,则为\(366......
  • 【做题笔记】板刷 AtCoder
    [ABC364D]K-thNearest很好想的题目。首先可以考虑到答案具有单调性,所以对于每一次询问用二分处理即可。然后考虑如何判合法。我们需要找到所有\(a_i-b\)中\(\lex\)且\(\ge-x\)的个数。可以现将\(a_i\)排好序,最后用两个二分统计个数看是否\(\gek\)即可。时间复......
  • AtCoder Beginner Contest 365(4/7)
    比赛链接:https://atcoder.jp/contests/abc365solve:ABC开头:感觉好久没打abc了,这场被D单防了qwq,该好好练练dp了A.LeapYear思路:签到题,闰年判断代码:#include<bits/stdc++.h>usingi64=longlong;voidsolve(){intn;std::cin>>n;if(n%400==0){......