随笔分类 - 数学
摘要:模板题 有两种物品。第一种权重 \(A\),花费 \(B\)。第二种权重 \(C\),花费 \(D\)。每种物品均可以买任意个,求权重总和至少为 \(n\) 的情况下,最小的花费 \(ans\)。 结论:设第一种为性价比高的物品。第二种物品购买的数量一定在 \(0 \sim A\) 之间。其中 \(
阅读全文
摘要:椭圆方程 \(\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1\),直线 \(x=l\),\(x=r\),计算图中蓝色部分的面积。 定积分 为了找到这个蓝色区域的面积,我们可以使用定积分来积分椭圆上半部分的函数,并在 \(x = l\) 和 \(x = r\) 之间计算面积
阅读全文
摘要:P1962 斐波那契数列 \(F_n = \begin{cases} 1 & (n \leq 2)\\ F_{n-1} + F_{n-2} & (n \geq 3 )\end{cases}\) 请你求出 \(F_n \text{ mod } 10^9+7\) 的值。 \(\begin{cases}
阅读全文
摘要:题单中的一小部分 Part 1 初月(Easy Mode) 质数 暴力 从 \(2\) 枚举到 \(⌊\sqrt n⌋\) 试试是否可以整除就可以啦。 显然时间复杂度是 \(O(\sqrt n)\) 的。 埃氏筛 刚才的试除法让我们知道,找到一个数的因数是很难的。 但是找到一个数的倍数就很简单了。
阅读全文
摘要:使用前提:数列为有序数列。 ①数组内 //查找范围:[ begin , end ) ,左闭右开区间。 *lower_bound(begin, end, num); //返回第一个 >= num 的数的数值 lower_bound(begin, end, num) - begin; // 返回下标 实
阅读全文
摘要:快速乘法取余 给定三个整数 \(a,n,mod\) ,求 \(a \times n ~\%~mod\) 的值。 inline int mult_mod(int a, int n, int mod) { int ans = 0; while (n > 0) { if (n & 1) ans = (an
阅读全文
摘要:最大公约数 ① 标准 inline int gcd(int a, int b) { int r; while (b > 0) { r = a % b; a = b; b = r; } return a; } ② 位运算 inline int gcd(int a, int b) //a,b不能为0 {
阅读全文
摘要:给定一个整数 \(n\) ,求出 $[2,n] $ 之间的所有素数。 prime 数组存放已经筛出的素数, \(m\) 代表素数个数(也就是说遍历时从 \(1\) 遍历到 \(m\) 即可),v 数组代表有没有被标记,避免重复筛。 int v[maxn], prime[maxn], n, k, t,
阅读全文
摘要:1.按位与 符号: & 说明:把参与运算的两个数对应的二进制位相与。只有两个二进制均为1时,结果的对应位才是1,否则为0. 例子:当 5&9 时: 5的二进制:0000 0101;9的二进制:0000 1001; 2.按位或 符号: | 说明:把参与运算的两个数对应的二进
阅读全文
摘要:编码 在 m 位二进制数中,通常称最低位为 0 位,从右到左以此类推,最高位为 \(m-1\) 位。 当无符号整数 (unsigned) 爆了的时候,它会自动 %,不会爆出负数。 C++ 的十六进制常常以 “0x” 开头,“0x” 后面的部分对应具体的十六进制的数值。当使用 memset 时,mem
阅读全文

浙公网安备 33010602011771号