随笔分类 -  稚嫩的 lsq

摘要:您随意 阅读全文
posted @ 2020-06-09 15:36 ·Iris
摘要:我一开始看着这个题 简单的以为 本题是一个模拟外加排序 所以直接一手sort 然后喜提60分 所以我仔细研究了一下 发现每个人都只和前一个人比赛 所以排序变化仅在2人之间 所以明显归并排序的复杂度要快于快速排序 所以 可以将sort改成手写的归并排序 但是…… 我是个懒人 所以直接stable_so 阅读全文
posted @ 2020-06-06 20:40 ·Iris 阅读(226) 评论(0) 推荐(0)
摘要:双向广度优先搜索 双向广度优先搜索是对广搜算法的一种扩展。广搜以起点以广度优先的顺序不断扩展,直到遇到目的节点。 而双向广搜算法从两个方向开展广搜,一个从起点,另一个从终点。 直到一个扩展队列中出现了另一个队列中已经扩展了的点,也就是说两个扩展方向出现了交点。 双向广搜相对于广搜算法来说,由于采用了 阅读全文
posted @ 2020-05-17 16:12 ·Iris 阅读(762) 评论(7) 推荐(1)
摘要:P2312解方程 求解在[ 1 , m ]范围内的解 需要使用到一个算法 秦九韶算法:代码: 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 typedef long long ll; 5 const int p=1e 阅读全文
posted @ 2020-05-03 20:25 ·Iris 阅读(553) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problemnew/solution/P1043 研究环状dp 可以开双倍大小的数组用以表示环 表示为 f [ i ] [ j ] [ l ] 从i 到 l 的区间里,划分 l 段 进行递推前,需要初始化 f [ i ] [ j ] [ 1 ] 然 阅读全文
posted @ 2020-04-18 16:10 ·Iris 阅读(242) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P5017 这个题用了很多奇怪的思想 也可能是我太孤陋寡闻了) 题解: 抽象化题目: 大概就是一段数轴,表示时间,令每个同学到来的时间为数轴上的一个点, 在某一时间安排车辆就相当于在某个点取一段左开右闭区间,每段长度>=m 等车时间等 阅读全文
posted @ 2020-04-17 20:08 ·Iris 阅读(341) 评论(0) 推荐(0)
摘要:最小生成树算法 是图论的一种算法 用N个点用N-1条边连成一棵树 所以在图中选N个点与N-1条边 使在所有方案中和最小 1°: Prim算法 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew= {x},其中x为集合V中的任一节点(起始点),Enew= {},为空; 阅读全文
posted @ 2020-04-13 15:12 ·Iris
摘要:图论存储 有两种方法 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( 阅读全文
posted @ 2020-04-05 16:24 ·Iris
摘要:仪仗队这个题 理论上来说 需要使用欧拉函数 但若是将此题的正方形改为长方形 欧拉函数就不太容易使用了 当一个点的横坐标和纵坐标的 GCD 大于 1 时就会被遮挡 于是我们可以求出 横纵坐标 公约数(不是最大公约数)为 i 的个数 f[i] = (n / i) * (m / i)f[i]=(n/i)∗ 阅读全文
posted @ 2020-03-12 10:46 ·Iris 阅读(196) 评论(0) 推荐(0)
摘要:搜索这个东西看起来简单 但实际操作时,却异常复杂 复杂就复杂在算法的优化上 深搜基操——诶 展示下吧 if判断—>for循环枚举各个方向 ->对目标操作->递归->回溯 额 优化有两种 1°: 记忆化搜索: dp题数字三角形,其中一种方法是记忆化搜索: 需要开额外空间来存储 额 就是以空间换时间 这 阅读全文
posted @ 2020-02-25 19:33 ·Iris 阅读(233) 评论(0) 推荐(0)
摘要:动态规划程序设计是针对最优化问题的一种途径、一种方法,而不是一种特殊的算法。 诶 动态规划和上面说的一样 就是用来解决最优化问题的 解决多阶段问题时,各个阶段采取的决策,一般来说是与阶段有关的, 决策依赖于当前的状态,又随即引起状态的转移, 一个决策系列就是在变化的状态产生出来的, 决策依赖于当前的 阅读全文
posted @ 2020-02-23 23:49 ·Iris
摘要:在解决一些问题时 常常出现精度太高,而编译错误 高精度算法能够解决精度问题 诶 使用高精度算法的核心算法 加法: 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]= 阅读全文
posted @ 2020-02-23 23:24 ·Iris
摘要:虽然我写的是贪心 但这个题哪有贪心的感觉 感觉无从可贪 折磨了我好久之后 我从一篇别人的博客上 受到了启发 类似几何的割补法 将矩阵的行的和算出来 然后再作差比较 得出一块矩阵 在比较之前算出的矩阵权值 看是否大于零,大于零就添上,小于零就舍去 然后进行枚举 然后这个题的核心就差不多了 #inclu 阅读全文
posted @ 2020-02-16 23:37 ·Iris
摘要:在一本通题库数据排序这一节时 PPT中使用了负数手段来进行排序 但在此 我想到了一种更有趣的方法 ——STL的vector 首先初始化两个vector 将奇数压入a类型vector 偶数压入b类型vector 之后用sort排序, 为了解决反序这一问题 我们使用了一个algorithm里的函数 re 阅读全文
posted @ 2020-02-14 21:08 ·Iris
摘要:很明显 这是一道递归题目 我一开始也天真的使用未优化的递归计算 但都被TLE 分析一下代码 #include<iostream> using namespace std; void flag(int); int w=1; int main() { int k,n; cin>>n; flag(n); 阅读全文
posted @ 2020-02-03 22:32 ·Iris 阅读(315) 评论(0) 推荐(0)
摘要:深搜中绝对会用到递归 因此本题也可以使用深搜来做 bool prime(int b) { memset(sz, true, sizeof(sz)); sz[1]=false; for (int i=2;i<=b;i++) { if (sz[i]) { for (int j=2*i;j<=b;j+=i 阅读全文
posted @ 2020-02-03 21:44 ·Iris
摘要:求分数最高学生名字 本题我使用了结构体 结构体变量为数组a,每个元素为student类型 在进行过对结构体成员赋值后 之后进行排序 我参考了一下课本 也使用了冒泡排序 但冒泡排序的时间复杂度较高,可能数据过大后需要对程序进行优化 #include<iostream> #include<cstdio> 阅读全文
posted @ 2020-02-01 23:12 ·Iris 阅读(504) 评论(0) 推荐(0)
摘要:这个题首先对S 其中的一个素数进行穷举 当一个满足为素数时 借助和来求另一个素数 再通过判断此素数是否满足 最后 当两个数和确定后,若两个数的绝对值越小 其对应乘积越大 故得出答案 代码如下 1 ///【题目描述】 2 //两个质数的和是S,它们的积最大是多少? 3 4 //【输入】 5 //一个不 阅读全文
posted @ 2020-02-01 01:37 ·Iris 阅读(996) 评论(0) 推荐(0)
摘要:最近在网课学习中 了解了一些基本算法 其中在递归算法时 在无优化递归斐波那契时 程序效率低 因为许多数在之前已经被算过一遍了 所以使用记忆化搜索优化 #include<iostream> #include<cstring> #include<Windows.h> using namespace st 阅读全文
posted @ 2020-01-31 16:06 ·Iris 阅读(434) 评论(1) 推荐(0)