摘要: 求强连通/割点/桥 step1 将图深搜,形成深搜树,按遍历顺序标号->dfn[i] step2 将low[i]初始化为dfn[i] step3 回溯时low[i]=min(low[i],low[i的儿子]) 判断 DFN[]作为这个点搜索的次序编号(时间戳) LOW[]作为每个点在这颗树中的,子树 阅读全文
posted @ 2021-03-14 11:30 ShaoJia 阅读(39) 评论(0) 推荐(0) 编辑
摘要: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GC 阅读全文
posted @ 2021-03-14 11:27 ShaoJia 阅读(78) 评论(0) 推荐(1) 编辑
摘要: 本题中,我们约定布尔表达式只能包含 p, q, r 三个布尔变量,以及“与”(∧)、“或”(∨)、“非”(¬)三种布尔运算。如果无论 p, q, r 如何取值,两个布尔表达式的值总是相同,则称它们等价。例如,(p∨q)∨r 和 p∨(q∨r)等价,p∨¬p 和 q∨¬q 也等价;而 p∨q 和 p∧ 阅读全文
posted @ 2021-03-14 11:22 ShaoJia 阅读(125) 评论(0) 推荐(0) 编辑
摘要: n个人围成一圈,选择一个正整数k,从第一个人开始从1报数,报到k的人被沙雕,在剩余的人中,从被拉出去那人下一个人开始,继续从1开始报数,报到k的人再被沙雕。如此循环,直至剩下最后一人。所以,对于每给定一组n和k,可以算得一个编号序列,序列中编号的位置表示这个人被沙雕的顺序。 那么怎么求最后活着的人 阅读全文
posted @ 2021-03-14 11:19 ShaoJia 阅读(29) 评论(0) 推荐(0) 编辑
摘要: QUESTION: 有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? ANSWER: KMP step1:(真)前缀&(真)后缀 char pre suc pre \(\cap\) suc abc a,ab c,bc \(\varnothing\) abcba a,ab,abc 阅读全文
posted @ 2021-03-14 11:09 ShaoJia 阅读(54) 评论(0) 推荐(0) 编辑