Loading

随笔分类 -  数学

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