![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
课程总结
文章平均质量分 67
mar_ket
market
展开
-
线段树模板
线段树模板。线段树——好用实惠原创 2024-01-30 13:50:02 · 204 阅读 · 0 评论 -
算法——二分
二分法,好用,方便。原创 2023-10-31 17:07:22 · 62 阅读 · 1 评论 -
C++课程总结——数论
假设存在一个合数n不是由若干个质数相乘得出,n存在一个最小的合数m,若a,b均为质数,则与假设相矛盾,假设不成立,若a,b中有一个为质数,则会存在一个更小的合数。1.与埃氏筛原理一样,用质数标记合数。与假设相矛盾,假设不成立。因为m为合数,则定有。(这一步就是求上面的。不能整除就向后推一个。...原创 2022-08-11 15:37:40 · 704 阅读 · 0 评论 -
课程总结——背包
背包是线性DP中一类重要而特殊的模型。原创 2022-07-07 18:30:48 · 140 阅读 · 0 评论 -
C++课程总结——基础图论
普及图论模板文章目录普及图论模板Dijkstra算法(最短路)SPFA(最短路)拓扑排序(topsort)并查集查找合并最小生成树链式前向星存储:遍历:邻接矩阵存储遍历总结:认真背模板,防止考试出现意外Dijkstra算法(最短路)可以求起点 S 到其他点的最短路径,时间复杂度为 O(n2)例: 找 1 到 n 的最短路径,如果不存在输出 −1#include <cstring>#include <iostream>#include <algorithm&g原创 2021-10-01 12:33:30 · 211 阅读 · 2 评论 -
C++课程总结——栈
数据结构——栈(c++)1.栈的意义栈·(stack) 是一种线性存储结构,只能在一端进行删除,插入,查询;且这一端叫做栈顶,不可操作的另一端叫做 栈底。在栈中,插入叫做压栈,删除叫做弹栈,栈可以类似的看为一摞,摞起来的碗;只能从上往下一个一个取出,不能从中间或底部抽出;如图:2.栈的基本操作(1)定义一个栈:stack< int > st;"stack" 是关键字;"< int >" 是栈的类型;"st" 是栈的名字;(2)基本操作st.em原创 2021-07-09 16:01:29 · 128 阅读 · 0 评论 -
C++课程总结——链表
链表什么是链表?举个例子,玩侦探游戏,首先给你一个线索,钥匙,这又指向下一个线索——你必须找到一个锁,找到锁以后,又指向下一个线索——锁是为了锁什么东西……最后找到出口,可以简单看成下图。由此可见列表是由一个结构体数组组成的,有两个成员——1,value指这个节点本来存的值.2,next表示指向下一个节点的地址,链表最开头为"head"指向第一个节点的value,最后一个结点的next为"NULL"——空地址,链表结束,但也有循环列表最后节点指向第一个节点。链表定义str原创 2021-05-22 10:39:36 · 156 阅读 · 5 评论 -
C++课程总结——记忆化搜索
记忆化搜索什么是记忆化搜索?个人认为呢,记忆化搜索就是把算好的结果记录下来,再遇到直接调用的一种算法,是典型的空间换时间。应用。众所周知,循环和递归的开销是非常大的,耗费了大量的时间,但题目往往要求1s-2s;例如,如果数据范围超过1000三重循环就会超过1s,如果数据范围超过50000就只能考虑一重循环,否则也会超过1s。而递归也需要耗费大量的时间,很容易超时,所以就有了记忆化搜索。比如,我算了十分钟得到了210=1024,如果再次遇到–210–就会很快答出:=1024. 以上为记忆原创 2021-05-01 11:30:38 · 310 阅读 · 0 评论 -
C++课程总结——递归
递归:递归函数:指在一个函数直接或间接出现对自身的引用,就是递归函数。递归注意事项1.必须要有边界条件2.递归调用的参数必须向边界靠拢3.必需有一个参数控制边界让我们用一个样例来深刻理解一下阶乘(水题):6!=1 *2 *3 *4 *5 *6("!"是阶乘的符号)1.这题其实可以用一个循环就能A;int sum=1,n;for(int i=1;i<=n;i++){ sum*=i; }cout<<sum;//没有算法,自行理解2.这个原创 2021-04-05 16:46:11 · 165 阅读 · 0 评论 -
C++课程总结————贪心算法
贪心定义:贪心是指简单来说,贪心就死在所有方法中找到最优秀的一个;例题:[usaco 2009 dec]游荡的奶牛原创 2021-04-03 19:15:53 · 238 阅读 · 0 评论 -
C++课程总结————模拟法
模拟法1)模拟定义:模拟类问题,就是根据计算机的相关功能,按照要求,一步一步求出结果。2)个人理解:模拟类题目一般会规定好规则,大部分不需要贪心。 不过,既然有这么高大上的名字,所以模拟绝非简单。 因为模拟类题目都有一个工同的特点: 1.题目长 2.题目复杂 3.题目细节要求多 。所以,一不小心就掉到了题目的坑里,需要静下心来排查细节。3)例题:[usaco2019jan bronze]shell 果壳游戏题目描述:一.为了消磨时光,奶牛Bessie和她的朋友Elsie喜欢玩一种原创 2021-03-27 08:21:56 · 1086 阅读 · 0 评论 -
C++课程总结———暴力(枚举法)
课程总结———暴力(枚举法)1)枚举定义:当我们事先知道结果或某约束条件的范围时,如果范围不是很大我们就用枚举法,枚举通俗称为"暴力",也称为穷举。2)例题:【noip2008提高】火柴棒。-1,首先’+‘号和’='号需要用去4跟火柴棒;......原创 2021-03-13 09:51:43 · 3032 阅读 · 7 评论