首页 > 其他分享 >2024.11.18 test

2024.11.18 test

时间:2024-11-18 21:30:27浏览次数:1  
标签:二分 cnt 2024.11 SAM 18 le 答案 test dp

A

P9195 [JOI Open 2016] JOIRIS
逆天构造。直接看题解吧,主要是将列进行 k 染色,然后瞎 jb 做一下。

B

CF461E Appleman and a Game
我们可以先建出 SAM,设 \(dp_{i,u}\) 表示当前处理到 \(i\) 位,SAM 上到 \(u\) 节点当前最小答案。
由于答案具有单调性,考虑二分答案,也就是二分 \(mid\),考虑如何检验最短的串是否不超过 \(\le n\)。
考虑把 SAM 修改一下,若某点不存在 \(c\) 的出边就将其连向根到 \(c\) 的节点。
现在问题转化为:给你一张有向图(即修改完的 SAM),满足上面有 \(4\) 个特殊点。
你从根开始走,每经过一条边则 \(cnt_1\) 加一,每到达一个特殊点则 \(cnt_2\) 加一。
当 \(cnt_2\) 为 \(mid\) 时过程终止。 你可以任意安排你走的路径,需要求出终止时 \(cnt_1\) 的最小值。
那么我们可以 dp,设 \(dp_{i,c}\) 表示当前走了 \(cnt_2=i\),走到了第 \(c\) 个特殊点的最小答案。
考虑最短路求出特殊点之间的最小的 \(cnt_2\)。最后 dp 明显可以用矩阵快速幂优化。非常好一个题。
之所以想到可以二分答案是因为“最小值最大”;还有随着 \(n\) 增大答案不降,所以答案增大,\(n\) 也不降。
可以二分转倍增优化复杂度。

C

给出一个有向图,\(A\) 为其邻接矩阵,问 \(A\) 的周期以及第一个出现相同的位置。
乘法定义为与,加法定义为或。\(n\le 1e5\),只有 \(n\le 200\) 才用输出第一个相同的位置。

缩强连通分量,一个强连通分量是其所有环大小的 \(\gcd\),所有环的答案是 \(lcm\)。
对于求强连通分量的环可以考虑直接 dfs 一遍,对于所有返祖边算一下深度之差 +1 即为环大小。
求第一个相同的位置考虑倍增判定,先预处理矩阵的多少次幂。

标签:二分,cnt,2024.11,SAM,18,le,答案,test,dp
From: https://www.cnblogs.com/Simon-Gao/p/18553719

相关文章

  • Atcoder Beginner Contest 367
    老规矩此处略过前三题,不过B值得关注一下。D题 Pedometer思路肥肠煎蛋,只需要搞一个前缀额然后看前面的前缀和是否有跟当前的前缀和同余的情况(%M)暴力求解这步是O(n^2)的,因此需要优化。这里就用到了一个技巧——哈希表消除分支。所谓的哈希表消除分支其实就是mp[pre_s]存一......
  • 11.18日每日收获
    const作用常量,不可被改变,如果是对指针,constchar*a,指的是指针a指向的变量不可被更改,a可变code作用是单片机中,将变量存储到FLASH中,读取速度变慢(相比于RAM),由于RAM空间小,故可将一些占用空间较大的数据,如链表等存放到CODE区域中static可以静态变量和静态函数,静态变量指的是不随函数......
  • 11.18 ~ 11.24
    11.18困......
  • CF187E Heaven Tour
    题意给定\(n\)个点,初始在\(s\)点,求走遍所有点的最小移动距离,以及方案,需要向左走恰好\(l\)次。\(n\le10^5\)。Sol难点在于想到枚举终点。钦定当前若终点在起点右边,那么最优走法就是先向左走到底,然后向右走到底,然后最后再走到终点。其中中间重复走的段,显然可以发现......
  • 代码随想录算法训练营第七天(LeetCode454.四数相加Ⅱ;LeetCode383.赎金信;LeetCode15.三
    LeetCode454.四数相加Ⅱ题目链接:四数相加Ⅱ题目链接思路这道题目给定我们四个数组,让我们判断从四个数组中分别取一个元素,然后将这四个元素相加,值为0的元组个数,所以我们可以模仿两数之和,因为四个数组中分别取元素就是任意取,不需要考虑去重的问题,所以可以将四个数组转......
  • python自动化之selenium 自动化unittest框架
    自动化框架一、介绍框架1、unittest框架是python中自带的框架2、作用:管理和组织测试用例当我们写的用例越来越多,我们就要考虑用例的编写的规范和组织,以便于后期的维护3、常见的自动化框架:po框架、pytest框架、unittest框架(我们讲解)4、unitest框架自带标准的库:有如下a、T......
  • [HCTF 2018]Warmup 详细题解
    知识点:目录穿越_文件包含static静态方法参数传递引用mb_strpos函数    mb_substr函数正文:页面有一张滑稽的表情包,查看一下页面源代码,发现提示那就访问/source.php 得到源码<?phphighlight_file(__FILE__);classemmm{publics......
  • [ARC187B] Sum of CC
    题意给定一个长为\(n\)的序列,\(a_i\in[1,m]\)对于所有\(1\lei<j\len\)且\(a_i\lea_j\)则对\((i,j)\)连无向边。求对于给定序列\(b\)所有的-1替换为\([1,m]\)的所有情况所连成的图连通块个数之和。\(n,m\le2000\)。Sol唐完了。首先注意到连通......
  • 11.18
    软件设计                 石家庄铁道大学信息学院 实验12:外观模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解外观模式的动机,掌握该模式的结构;2、能够利用外观模式解决实际问题。 [实验任务一]:计算机开启在计算机主机(Mainframe)......
  • 241118 noip 数数模拟赛
    省流:\(100+100+100+10\)。四道数数太好玩了。绿蓝紫黑。T1题意:如下是一个不完全正确的归并排序算法代码。//此函数表示将S[1,mid],S[mid+1,r]两个有序序列合并成为一个大的有序序列S[l,r],如果原序列无序则合并后的序列也无序voidmerge_arr(intl,intmid,intr){......