摘要:"点此看题面" 大致题意: 有一张$DAG$,经过每条边有一定时间,从$1$号点出发,随时可以返回$1$号点,求经过所有边的最短时间。 无源汇有上下界网络流 这是无源汇有上下界网络流的板子题。 可以先去看看这道题学习一下无源汇有上下界可行流的基本知识: "【LOJ115】无源汇有上下界可行流" 。 阅读全文
posted @ 2019-08-15 17:38 TheLostWeak 阅读 (26) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你$n$个字符串,问你有多少个长度为$L$的字符串,使得这些字符串都是它的子串。若个数不大于$42$,按字典序输出所有方案。 状压 显然,由于$n$很小,我们可以把每个字符串是否出现过状压起来。 这样就可以起到极大的优化作用。 我们可以对每个节点开一个变量$Ex$记录一 阅读全文
posted @ 2019-08-15 17:23 TheLostWeak 阅读 (20) 评论 (0) 编辑
摘要:$2 SAT$ 考虑每个点只能选择$R$或$B$,可以看作选$0$或$1$。 然后对于给出的关系式,若其中一个位置满足关系式,另两个位置就必须不满足关系式,这样就可以对于每个关系式建出$6$条边。 然后就是裸的$Tarjan$求$2 SAT$一组解的板子了。 代码 cpp include defin 阅读全文
posted @ 2019-08-15 17:06 TheLostWeak 阅读 (22) 评论 (0) 编辑
摘要:$IDA^ $ 说实话,这道题我一开始没想出正解,于是写了一个$IDA^ $。。。 但神奇的是,这个$IDA^ $居然连字符串长度分别为$2500,4000$的数据都跑得飞快,~~不过数据发下来之后我测了一下只有45分。~~ 就在不断优化$IDA^ $的过程中,我突然就想出了正解的做法,~~看来以后 阅读全文
posted @ 2019-08-15 17:04 TheLostWeak 阅读 (28) 评论 (0) 编辑
摘要:分治 首先,我们考虑分治处理此问题。 每次处理区间$[l,r]$时,我们先处理完$[l,mid]$和$[mid+1,r]$两个区间的答案,然后我们再考虑计算左区间与右区间之间的答案。 处理的时候就需要分类讨论。 分类讨论 设$Mn_x$在$l\le x\le mid$时表示左区间的后缀最小值,$mi 阅读全文
posted @ 2019-08-15 17:02 TheLostWeak 阅读 (16) 评论 (0) 编辑