摘要:
【例题1】洛谷p3225 矿场搭建 【例题2】洛谷p3469 BLO-Blockade ——时间划过风的轨迹,那个少年,还在等你。 阅读全文
摘要:
求解 2-SAT 问题 使用强连通分量。 对于每个变量 x,建立两个点:x,¬x 分别表示变量 x 取 true 和取 false。 图的节点个数是两倍的变量个数。在存储方式上,可以给第 i 个变量标号为 i,其对应的反值标号为 i+n。 对于每个要求(a∨b),转换为 ( ¬a→b )∧(¬b→a 阅读全文
摘要:
传送门 blingbling dalao 阅读全文
摘要:
【零. 序言】 头文件 #include<cstdio> #include<iostream> #include<cstring> #include<string> #include<algorithm> #include<cmath> #include<set> #include<vector> 阅读全文
摘要:
点分治,是一种处理树上路径问题的工具,适用于树上的求和问题。 给定一棵树和一个整数k,求 树上边数等于k的路径 有多少条。 做法1:枚举不同的两个点,用dfs算出距离、并统计求值。O(n^3)。 做法2:找根,求出每个点到根的距离,枚举两点求lca。O(n^2logn)。 做法3:考虑形成路径的情况 阅读全文
摘要:
KMP:匹配单串,线性扫描,在失配时用next数组引导j指针回溯,进行下一步匹配。 Trie树:多模式的匹配,构造26叉树,同时记录多个串的情况,记录结尾,进行匹配。 KMP + Trie树 = AC自动机 AC自动机:给一个字典,再给一个文本,问这个文本里出现了字典里的哪些字。 可以用n个单词的n 阅读全文
摘要:
0/1分数规划入门题:【洛谷p4951】地震 阅读全文
摘要:
区间DP { 1. 概念引入 } 以 “ 区间长度 ” 作为DP的 “ 阶段 ”,用 “ 区间左右端点 ” 描述 “ 维度 ” 。 一个状态、由若干个比它更小、且包含于它的区间、所代表的状态转移而来。 区间DP的初态一般由长度为1的 “ 元区间 ” 构成(dp[i][i] 初始化为自身的值)。 特征 阅读全文
摘要:
T1 seq 【问题描述】 给一个长度为 𝑁 的序列 𝐴 ,你可以把 𝐴 中的 0 改成其他的数字. (正数,负数, 0均可,不同的 0 可以改成不同的而数字), 要求修改后 𝐴 最长上升子序列的长度最大.输出这个长度. 【输入格式】 第一行一个 𝑁 ,表示数字的个数. 接下来 𝑁 个数 阅读全文
摘要:
【前缀和与差分】 1.前缀和求区间和 2.差分维护区间修改求值 差分可以将【区间(或多次单点)修改,单点查询】改为【单点修改,区间查询】。 差分是前缀和的逆运算,用于记录修改的状态,不能插入元素和删除。 3.分块的概念与运用 【例题1】 SOLUTION1 将查询区间分成中间整块+零散两边,此时两部 阅读全文