首页 > 其他分享 >残阳褪去纯白的地平线,烟火绽放燃尽的灼之花

残阳褪去纯白的地平线,烟火绽放燃尽的灼之花

时间:2024-02-24 22:24:12浏览次数:20  
标签:bmod 2x 残阳 之花 出边 燃尽 回路 长度 欧拉

欧拉回路

感觉自己学了个假的欧拉回路。

trick 1

  • 给定一个图,我们需要给每个边定向,使得每个点入度与出度差不超过 \(1\) 。

\(sol:\)

首先,因为有奇数点的存在,我们不能直接构造出欧拉回路。所以我们建立一个虚点,然后从所有奇数点和虚点连边,显然此时所有点度数都为偶数,我们跑欧拉回路求一组解,容易验证符合要求。

  • 应用

CF723E One-Way Reform

注意到答案的上界是偶数点数量,而上述构造显然可以符合要求。

CF547D Mike and Fish

考虑建立行-列的二分图,每个点就变成了一条边,我们跑一遍上述定向过程,然后把从左到右的边定位蓝色,反之为红色,显然符合要求。

CF429E Points and Segments

考虑差分一下,那么就变成了 \(l_i,r_{i}+1\) 单点加减。
对于每个位置,求出其被多少个区间覆盖了。
假设所有点都被偶数个区间覆盖了,那么最终一定是 \(0\),也就是差分数组是 \(0\),那么我们连一条 \(l_i\to r_i+1\) 的边,跑欧拉回路,根据边的方向加一减一一定是对的。
如果被奇数的区间覆盖,我们加一个区间 \([i,i]\) 即可,注意需要离散化。

trick2

  • 特殊情况下解决哈密顿回路问题。

CF325E The Red Button

首先容易证明 \(n\) 为奇数无解,否则令 \(m=n/2\) 。
关键性质,\(x,x+m\) 拥有相同的入边,出边集合,其中 \(x\in [0,m)\) 。也就是说这对点某种程度上可以看成一个点
那么我们建一个 \(m\) 个点的图,每个点实际代表一对点 \([0,m)\) 。然后从 \(x\) 向 \(2x\bmod m,2x+1\bmod m\) 连边跑欧拉回路,正确性证明比较显然。

ZR2482 飞毯

就是让你构造一个长度为 \(n\) 的 \(01\) 字符串使得本质不同子串数量最大。
首先我们找一下答案的上界,显然有一个:\(\sum_i\min(2^i,n-i+1)\) ,接下来我们证明可以取到它。

求出满足 \(2^k+k-1\leq n\) 最大的 \(k\),那么我们只需要要求长度为 \(k\) 的串都出现,长度为 \(k+1\) 的串两两不同即可。

我们把每个长度为 \(k+1\) 的区间看成一个数,然后从 \(x\) 向 $2x\bmod 2^{k+1},2x+1\bmod 2^{k+1} $连边,现在我们需要在找一条长度为 \(n-k\) 的不经过重复点的路径,使得 \(x,x+2^k\) 至少出现一个。

考虑仿照上题做法构造一个 \(2^k\) 的点的哈密顿环,此时可以发现把这个环当成长度为 \(k+1\) 时,\(x,x+2^k\) 恰好有一个已经确定出边了,那么因为出边集合相同,另一个也确定了。这样会形成若干个环,其中有一个长度为 \(2^k\) 的大环,并且 \(x,x+2^k\) 恰好一个在大环上。

注意假设 \(x,x+2^k\) 现在不在一个环上,交换 \(x,x+k\) 的出边可以使他们的环合并,那么我们不断合并环直到环长 \(\geq n-k\),此时因为之前的环长 \(<n-k\) 且满足 \(x,x+2^k\) 至少出现了依次,我们只需要从之前的环的起点开始选,这样一定能把之前的环包上,就合法了。。

复杂度线性。

标签:bmod,2x,残阳,之花,出边,燃尽,回路,长度,欧拉
From: https://www.cnblogs.com/jesoyizexry/p/18031736

相关文章

  • 【学习笔记】P8590 『JROI-8』这是新历的朝阳,也是旧历的残阳
    比较有思维的一个数学题,写个笔记纪念一下。显然,为了使$\sum\limits_{i=1}^na_i^2$最大,整数一定要放最后一段,即求$\sum\limits_{i=1}^n(a_i+m)^2$,而负数需要分情况考虑,即放第一段还是最后一段,中间的$m-2$是空段,只考虑$1$和$m$这两个极端情况。可以设中间节点$t$,$a_{i......
  • 使用Leangoo领歌敏捷项目管理工具自动生成燃尽图
    ​在上一篇,我为大家介绍了如何使用Leangoo领歌敏捷工具管理SprintBacklog_哆啦B梦_的博客-CSDN博客,今天我们一起来看看Leangoo领歌敏捷工具是如何自动生成Scrum燃尽图的什么是Scrum燃尽图?燃尽图是在项目完成之前,对需要完成的工作的一种可视化表示。能形象地展示当前迭代中的剩......
  • DP之花店橱窗布置
    题目:https://www.smartoj.com/p/1286分析:花瓶是有序的,花也是有序的,这就保证了有序性,从而满足子解的全局最优,和无后效性.假设dp[i][j]表示前i朵花,放在前j个花瓶里的最优值.则有: 那么经过优化后得到:#include<iostream>#include<string.h>#include<stdio.h>usingnamespac......
  • 玻璃之花与崩坏的世界
    PKUSC2023游记Day0由于下雨所以火车晚点\(1\)个小时,到达北京后几乎一直在摆烂,中间尝试看过杜教筛和PAM,然而确实看不下去,实际上考试也没有用到。Day1早上去北大参加开幕式,之后试机写了后缀数组和NTT的板子,后缀数组对拍时调了半天才过,感觉下午要寄。之后去未名湖边散......
  • Leangoo领歌Scrum燃尽图
    ​什么是Scrum燃尽图?燃尽图是在项目完成之前,对需要完成的工作任务的一种可视化表示。它能形象地展示当前迭代中的剩余工作量和剩余工作时间的变化趋势,是反应项目进展的一......