随笔分类 - 算法----------
摘要:悬线法 什么是悬线法? 悬线法是用来解决最大子矩形问题的有力武器,它的思想很简单,代码也很好写。 悬线法的适用范围是单调栈的子集。具体来说,悬线法可以应用于满足以下条件的题目: 需要在扫描序列时维护单调的信息; 可以使用单调栈解决; 不需要在单调栈上二分。 看起来悬线法可以被替代,用处不大,但是悬线
阅读全文
摘要:补题链接:Here 算法涉及:位运算,DP 这道题想了很久但实在没想什么巧妙的解法,暴力的代码就不放,这里引用Kur1su 的思路 异或问题优先考虑二进制位,对于这个问题,我们需要考虑偶数长度的区间,那么先对 \([L, R]\) 做处理,因为如果 \(L,R\) 是奇数其实加一/减一没有区别。然后
阅读全文
摘要:补题链接:Here 本题代码由贺佬完成 这道题基本算一道 BFS 进阶题,有少许细节要小心 (WA1发。。 #include <bits/stdc++.h> #define x first #define y second using namespace std; using ll = long l
阅读全文
摘要:模拟退火 \(Simulated annealing\) ,简称 \(SA\) ,最早在 \(1953\) 年由 \(N. Metropolis\) 提出,后经优化得到现在广泛应用的算法,应用在很多领域当中。 算法思想 模拟退火是随机化搜索的一种,若随机化搜索写得好,则可以实现高效率和答案的正确率高
阅读全文
摘要:本文介绍线性代数中一个非常重要的内容——矩阵(Matrix)的一个重要性质:矩阵加速递推 同时本文已经更新至:矩阵(Matrix)系统介绍篇 斐波那契数列(Fibonacci Sequence)大家应该都非常的熟悉了。在斐波那契数列当中,\(F_1 = F_2 = 1\),\(F_i = F_{i
阅读全文
摘要:Gosper’s Hack是一种生成 n元集合所有 k元子集的算法,它巧妙地利用了位运算 void GospersHack(int k, int n) { int cur = (1 << k) - 1; int limit = (1 << n); while (cur < limit) { // d
阅读全文
摘要:计数类 dp 可分为 计数 dp 和数位统计 dp。大多是用来统计方案数什么的,特别强调 不重不漏,在此还是根据各个题的特点将计数 dp 和数位 dp 分开整理。其实数位 dp 的题目会相对多很多… 计数dp 模板题 AcWing 900.整数划分 重点: 计数 dp、完全背包问题抽象 首先模拟下样
阅读全文
摘要:补题链接:Here 计数DP讲解:Here 这是一个计数类的dp dp[i][j]表示前i个数字中,删除j个元素的方案数 很容易得到转移方程:\(f[i][j] = f[i - 1][j - 1] + dp[i - 1][j]\) 意思就是前i个删除j个,要么从前i-1个中删除了j-1个,等于第i个
阅读全文
摘要:[原] E.J.Hoffman; J.C.Loessi; R.C.Moore The Johns Hopkins University Applied Physics Laboratory *[译]* EXP 2017-12-29 注意 由于原文使用了“m皇后”进行描述,所以本文从现在开始也使用“m
阅读全文
摘要:补题链接:Here 思维不够,看到这种陌生的题目无从下手. 这题应该做过一次的人会觉得它其实并不难. 主要思想:把边权->点权. 这样做的好处是,无论你怎么分配点权,在环内的异或值一定为 \(0\) (前提是环内的一定合法.) 做题步骤也是围绕这些性质来的. 首先判断给定的点是否有矛盾,就是你给一个
阅读全文
摘要:学习自AcWing的一位学长的分享和《算法竞赛进阶指南》 斜率优化DP的前置知识点:求过两点的一次函数的斜率… 已知两点 \((x_1,y_1),(x_2,y_2)\) 对于待定方程:\(y = kx + b \to k = \frac{y_1 - y_2}{x_2 - x_1}\) 故事围绕着《算
阅读全文
摘要:补题链接:Here **题意:**选取任意不重叠的两个区间,使异或结果为 \(0\) 样例:\(1,2,3,4,5,5\) 在样例中我们可以选取 \(1,2,3\) 和 \(5,5\) 就是满足题意 **思路:**相同元素的异或为 \(0\) ,所以我们找到两个点 \(i - j\) ,与 \(i
阅读全文
摘要:文章来自 OI wiki ,转载仅作学习使用 动态规划应用于子问题重叠的情况: 要去刻画最优解的结构特征; 尝试递归地定义最优解的值(就是我们常说的考虑从 \(i - 1\) 转移到 \(i\)); 计算最优解; 利用计算出的信息构造一个最优解。 钢条切割 给定一段钢条,和不同长度的价格,问如何切割
阅读全文
摘要:补题链接:Here 一个树形水系,有 \(n\) 个结点,根结点称为源点,叶子结点称为汇点,每条边都有水量限制$C(x,y) $(\(x,y\) 为这条边的两个端点),源点单位时间流出的水量称为整个水系的流量,求以哪一个结点作为源点整个水系的流量最大。 首先得理解到这是一道“不定根”的树形DP问题,
阅读全文
摘要:给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 母 k 孩子1 ... 孩子k 房产套数 总面积 其中编号是每个人独有的一个4位数的编号;父和母分
阅读全文

浙公网安备 33010602011771号