文章分类 - 算法蒟蒻
摘要:【计算几何基础】 主要介绍一些高中数学的知识 卡精度 注意 \(\varepsilon\): 计算误差的产生:0.1这个不能完全被表示的数 常见爆精度情况 加减太多次:先加一些大数最后再减掉 加减法的误差会被乘除法放大 \(\sqrt{x}\),\(acos(x)\)等函数超过定义域 注意点 (1)
阅读全文
摘要:【线性基】 与异或和有关的问题:01Trie、异或线性基 致谢 https://www.luogu.com.cn/article/zo12e4s5
阅读全文
摘要:【高斯消元】 时间复杂度\(O(n^{3})\) 高斯消元解决加法方程组 每次选绝对值最大的系数交换上来,然后消元 主元:系数不为0 自由元:系数为0 自由元之间相互独立,互不影响 主元的值可能会由自由元确定 唯一解:主元系数都不为0,值也不为0 矛盾解、多解: 若主元系数为0时,值不为0->矛盾
阅读全文
摘要:【同余最短路】 【题目积累】 (板题)跳楼机 https://www.luogu.com.cn/problem/P3403 AC代码 本题最保险的做法是unsigned long long typedef pair<i64,int> PII; template<typename T> bool cm
阅读全文
摘要:【线性代数】 【矩阵封装】 矩阵加法/乘法 //矩阵加乘封装:1-based //如不用取模:mod请用超大质数100000000000000003 const int MAX_SIZE=200; // 最大矩阵大小 struct Matrix{ int rows,cols; i64 M[MAX_S
阅读全文
摘要:【计数题】 mod 998244353 Grid Counting https://codeforces.com/contest/2151/problem/D 题目大意 思路 注意到恰好一个:列放了就不能再放->每列最多一个 注意到第一行只能放最左边和最右边 (如果上一行没放)第二行必须靠里放两个.
阅读全文
摘要:【随机化】 能在若干次内随机试出且大概率正确 常用函数 rand 生成随机整数 使用时需要#include<cstdlib> 可用取模来规定大小 需要生成随机种子:srand(time(nullptr)) 预定义随机数生成器 mt19937 类似于rand() 使用时用其定义一个随机数生成器:std
阅读全文
摘要:【二维偏序】 https://zhuanlan.zhihu.com/p/112504092 解题方法 树状数组+离散化 题目整理 小红的线下查询 https://ac.nowcoder.com/acm/contest/116945/F 题目大意 思路 (1)把45°坐标转为直角坐标:\(X=x-y\
阅读全文
摘要:【分数类】 struct Fraction { private: i64 numerator; // 分子 i64 denominator; // 分母 // 化简分数 void reduce() { if (denominator == 0) { throw invalid_argument("分
阅读全文
摘要:【贪心结论】 排序 Stacking of Goods https://codeforces.com/gym/105358/problem/J 【结论】交叉相乘 计算 \[c_1 \times 0 + c_2 \times w_1 + c_3 \times (w_1+w_2) + c_4 \time
阅读全文

浙公网安备 33010602011771号