摘要:
https://www.luogu.com.cn/problem/P5017 这个题用了很多奇怪的思想 也可能是我太孤陋寡闻了) 题解: 抽象化题目: 大概就是一段数轴,表示时间,令每个同学到来的时间为数轴上的一个点, 在某一时间安排车辆就相当于在某个点取一段左开右闭区间,每段长度>=m 等车时间等 阅读全文
摘要:
最小生成树算法 是图论的一种算法 用N个点用N-1条边连成一棵树 所以在图中选N个点与N-1条边 使在所有方案中和最小 1°: Prim算法 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew= {x},其中x为集合V中的任一节点(起始点),Enew= {},为空; 阅读全文
摘要:
图论存储 有两种方法 1° : 邻接矩阵 1 #include<iostream> 2 using namespace std; 3 int i,j,k,e,n; 4 double g[101][101]; 5 double w; 6 int main() 7 { 8 int i,j; 9 for( 阅读全文
摘要:
队列概念: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一 阅读全文
摘要:
首先 我声明一下 上一篇博客我写错了 我懒得删了,你就不要再看那一篇了 1°: 逆元 gcd(a,m)=1 a*b=1(mod m) b=a^(-1) (mod m) a^(p-1)=1 (mod p) a与a^(p-2) mod p 下互为逆元 a与a^(φ(m)-1) mod m 互为逆元 2° 阅读全文
摘要:
仪仗队这个题 理论上来说 需要使用欧拉函数 但若是将此题的正方形改为长方形 欧拉函数就不太容易使用了 当一个点的横坐标和纵坐标的 GCD 大于 1 时就会被遮挡 于是我们可以求出 横纵坐标 公约数(不是最大公约数)为 i 的个数 f[i] = (n / i) * (m / i)f[i]=(n/i)∗ 阅读全文
摘要:
一. 数学基础知识: 1°:模运算: a=k*b+r a mod b =r (a±b) mod p=(a mod p+b mod p) mod p; 2°:最大公因数与最小公倍数: 存在g 使得g∣a,g∣b , g=gcd(a,b); 存在 l 使 a∣l , b∣l ,则l = lcm(a,b) 阅读全文
摘要:
搜索这个东西看起来简单 但实际操作时,却异常复杂 复杂就复杂在算法的优化上 深搜基操——诶 展示下吧 if判断—>for循环枚举各个方向 ->对目标操作->递归->回溯 额 优化有两种 1°: 记忆化搜索: dp题数字三角形,其中一种方法是记忆化搜索: 需要开额外空间来存储 额 就是以空间换时间 这 阅读全文
摘要:
动态规划程序设计是针对最优化问题的一种途径、一种方法,而不是一种特殊的算法。 诶 动态规划和上面说的一样 就是用来解决最优化问题的 解决多阶段问题时,各个阶段采取的决策,一般来说是与阶段有关的, 决策依赖于当前的状态,又随即引起状态的转移, 一个决策系列就是在变化的状态产生出来的, 决策依赖于当前的 阅读全文
摘要:
在解决一些问题时 常常出现精度太高,而编译错误 高精度算法能够解决精度问题 诶 使用高精度算法的核心算法 加法: c[i]=a[i]+b[i]; if(c[i]>=10){c[i]%=10;++c[i+1];} 减法: if(a[i]<b[i]) {--a[i+1];a[i]+=10;} c[i]= 阅读全文