首页 > 其他分享 >CF2023C C+K+S 题解

CF2023C C+K+S 题解

时间:2024-11-25 14:54:53浏览次数:9  
标签:CF2023C cnt 颜色 题解 轮换 入点 第二张 mod

前置知识:哈希/KMP

题目链接:洛谷Codeforces


有点牛的一道题。

首先,既然两张图所有的环长都是 \(k\) 的倍数,那么考虑做一个比较厉害的处理:对图染色。令 \(u\) 的颜色为 \(c_u\),如果有边 \(u \rightarrow v\),那么 \(c_v = (c_u+1) \mod k\)。这样最多有 \(k\) 种颜色,范围是 \([0,k)\)。

然后考虑将两张图合并的过程,显然也要遵循以上的染色规则。那么对于每个出点 \(s\),都要有一个入点 \(t\) 使得 \(c_t=(c_s+1)\mod k\)。

于是一种可行的方案就是:将第二张图的颜色不停循环位移,如果存在一种方案,使「第一张图染 \(x\) 的颜色的出点数」等于「第二张图染 \((x+1)\mod k\) 的颜色的入点数」(反之亦然),那么说明存在题目所求方案。这个时间复杂度是 \(\mathcal{O}(n^2)\) 的。

观察一下上述过程,发现随着第二张图的颜色的轮换,统计每个颜色出现几次的 \(cnt\) 数组的元素也在轮换。所以只需第二张图的入点 \(cnt\) 数组是第一张图的出点 \(cnt\) 数组的轮换(反之亦然),倍长之后哈希/KMP 判断即可。时间复杂度是 \(\mathcal{O}(n)\)。

标签:CF2023C,cnt,颜色,题解,轮换,入点,第二张,mod
From: https://www.cnblogs.com/aquizahv/p/18567529

相关文章

  • AtCoder ABC321F - #(subset sum = K) with Add and Erase 题解 可撤销背包
    题目链接:https://atcoder.jp/contests/abc321/tasks/abc321_f题目大意:给定大小为\(k\)的背包和\(q\)次操作,支持两种操作:插入一个大小为\(x\)的元素;删除一个大小为\(x\)的元素。每次操作后,求装满背包方案数。解题思路:可撤销背包。插入\(x\)时,fori=K->x......
  • 题解 - Game on Sum (Easy Version)
    题目,还是不挂洛谷。Alice镇楼题目大意Alice和Bob又在玩游戏。该种游戏共分为\(n\)轮,每轮中,先有一个数\(x=0\),Alice将选择\(t\isin[0,t_{max}]\),而B将会选择将\(x\)增加或减少\(t\)。在全部\(n\)轮中,B应至少有\(m\)次选择减少操作。Alice希望结......
  • 【题解】洛谷P11311、P2943: 漫长的小纸带、Cleaning Up G
    赛时不会去想dp,感觉没法转移,然后去写了贪心,然后直接假掉唐完了。为什么贪心不能做,因为多个数的话还是可能被减,\(3\)个数长度为\(11\)就可以变成\(9\),非常划算,好像很显然,但是为什么我赛时写了只会有长度\(2\)的区间唐完了。考虑dp,设\(f_i\)表示\(1-i\)的最小代价,枚举......
  • CF2038A - Bonus Project 题解
    题目传送门https://codeforces.com/contest/2038/problem/A先大致捋一下题目的含义一共有n个工程师,每个工程师完成相应的工作都有一定的奖金a,但同时也会消耗成本b,目前一共有k个工作需要做这些工程师对他们的同事很友好,他们能接受自己的总收益为0来增长经验,但不能接受自己为负......
  • 题解:[P11311 漫长的小纸带]
    P11311漫长的小纸带题意:有一个长度\(n\)的序列\(a\),将\(a\)分成若干段,使得所有段价值和最小,定义价值为一段内元素数量的平方。思路:显然能用动态规划来计算答案,设\(f[i]\)表示到第\(i\)个位置所获得的最小价值,考虑怎么转移。最直接的就是从\(1\)到\(i-1\)枚举断......
  • 读数据质量管理:数据可靠性与数据质量问题解决之道10数据平台
    1.      数据平台1.1.        让你能够从摄取数据到分析数据的整个过程中全面管理数据的技术组合1.2.        数据平台的要求随着业务的变化而变化1.3.        数据栈分为6层1.3.1.          数据摄取1.3.1.1.     ......
  • 读数据质量管理:数据可靠性与数据质量问题解决之道09数据可靠性
    1.      数据可靠性1.1.        数据可靠性指的是一个组织在整个数据生命周期中提供高数据可用性和健康状况的能力1.1.1.          是高数据质量带来的结果1.1.1.1.           高质量的大数据是这个大规模转型平台的核心1.1.2. ......
  • 2018 ICPC南京区域赛题解 更新至 8 题
    2018ICPC南京区域赛题解更新至8题The2018ACM-ICPCAsiaNanjingRegionalProgrammingContest目录2018ICPC南京区域赛题解更新至8题The2018ACM-ICPCAsiaNanjingRegionalProgrammingContestPrefaceProblemA.AdrienandAustinProblemD.CountryMeowProblem......
  • 题解:[ARC188C] Honest or Liar or Confused
    乍一看以为是3-SAT不可做,动动脑子发现是2-SAT(鉴于本题解书写时洛谷题面暂无中文翻译,为避免可能的歧义或困惑,先对本题解中的译法进行约定:英文题面中“honestvillager”或日文题面中“正直者”译为“诚实村民”。英文题面中“liar”或日文题面中“嘘つき”译为“撒谎村民”......
  • CF1328题解
    CF1328A简单题,我们用\(b-a%b\)的余数即可,注意特判\(a%b==0\)即可CF1328B细节蛮多的,我们可以发现最终个数可以写成\(1+2+3+\dots+(p-1)+p+g\)最后\(n-p\)就是第一个b的位置,\(n-g\)就是第二个b的位置,可以推式子然后\(O(n)\)求但是我选择二分查找g,然后注意一下细节......