![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 67
qq_1403034144
这个作者很懒,什么都没留下…
展开
-
编程小技巧
【代码】编程小技巧。原创 2023-04-18 18:04:35 · 63 阅读 · 0 评论 -
bp vs 分治 vs 贪心
dp先分解成很多相互联系的子问题,要解决一个子问题,依赖于前面和此子问题相关的已经解决的子问题中选一个最优的 加上这个子问题的解,就是这个子问题的最优解。每一次的贪心都是做出不可撤回的决策(即每次局部最优)dp和分治的不同之处在于。分治分解而成的子问题必须。dp和贪心的不同之处在于。原创 2023-04-12 11:27:02 · 89 阅读 · 0 评论 -
bfs dfs
树迷宫是图的特殊形式迷宫问题常用bfsBFS DFS算法 可以解决图论问题,这只是它们的用途之一= 宽度优先搜索算法 = 广度优先搜索= 深度优先搜索= 宽度优先搜索算法 = 广度优先搜索非递归Dijkstra单源最短路径算法、Prim最小生成树算法 与 宽度优先搜索类似属于一种盲目搜寻法= 深度优先搜索遍历整张图dfs 深度优先搜索 Depthbfs 宽度优先搜索 Breadth非递归:DFS1.栈2 从源节点开始把节点按照深度放入栈,然后弹出。原创 2023-04-11 14:37:35 · 487 阅读 · 0 评论 -
算法基础1
3 每弹出一个节点,就把该节点所有没有进过队列的邻接点放入队列。3 每弹出一个点,把该节点下一个没有进过栈的邻接点放入栈。2 从源节点开始依次按照宽度进队列,然后弹出(头部弹出)2 从源节点开始把节点按照深度放入栈,然后弹出。bfs 宽度优先搜索 Breadth。dfs 深度优先搜索 Depth。原创 2023-04-11 10:05:39 · 51 阅读 · 0 评论 -
普通算法1
1 求一个数的平方根整数 https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c?tpId=117&tags=&title=&difficulty=0&judgeStatus=0&rp=0 class Solution { public: /** * @param x int整型 * @return int整型 */ int sqrt(int原创 2021-09-19 17:24:25 · 242 阅读 · 0 评论 -
动态规划
牛客题 题目 https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa?tab=answerKey Redraiment是走梅花桩的高手。 Redraiment可以选择任意一个起点,从前到后,但只能从低处往高处的桩子走。 他希望走的步数最多,你能替Redraiment研究他最多走的步数吗? 输入: 6 2 5 1 5 4 5 3 3 2 1 输出: 3 1 #include<bits/stdc++.h> #def原创 2021-04-24 10:37:11 · 72 阅读 · 0 评论 -
0-1背包、完全背包、多重背包
思路来源: https://www.cnblogs.com/mfrank/p/10533701.html 问题 n 件物品,物品重量 w[i],物品价值 v[i] 挑物品放入背包,背包承受最大重量 V 如何选择装入的物品,使背包中物品总价值最大? 思路1 - 暴力法 把所有的可能性求出来,选一个最大的 2n2^n2n 种可能,太复杂! 思路2 假设有 4 件物品 每个物品有 2 种可能:不装入包中(0),或 装入包中(1),这就 0 1 状态 最优性原理: 必定至少有一种选择方案,使得背包物品总价值最大(易原创 2021-04-23 20:15:36 · 105 阅读 · 0 评论 -
交换两数,形参/ 实参/ 传参,取地址符 VS 引用 VS 指针
以下均用过子函数交换两数,3个办法: 1 引用传递,可交换 2 指针传递,可交换 3 地址传递,不可交换 代码: #include<bits/stdc++.h> #define num 100 using namespace std; void print(int a, int b) { cout << "a = " << a << endl; ...原创 2020-04-27 08:28:26 · 597 阅读 · 0 评论 -
数据结构3.1 - 串 基础
1. 串 1.1 定义 串用数组表示 串的长度 = 单个字符的个数 数组的长度 = 串长 + 1,其中的1表示 ‘\0’ 空格也是单个字符 多个空格组成的串 叫 ‘空格串’ ,不等于‘空串’ 逻辑上: 串 是限定元素为字符的线性表 操作上不同: 串:针对串内的子串 线性表:针对某一元素 1.2 存储结构 定长 与 变长: 变长用的更广泛 typedef struct //定长 { char ...原创 2020-05-17 11:19:05 · 200 阅读 · 0 评论 -
随机取数(整 + 浮) - 升级最终版
目录1 代码2 运行情况 1 代码 #include<bits/stdc++.h> #define min 1e-4 using namespace std; long long LLmyrand(long long length) { long long r, p; if(length < 32768) return rand()%length; else {...原创 2020-05-05 10:32:09 · 198 阅读 · 2 评论 -
浮点数 转 字符 - sprintf
目录1 背景2 方法:自写函数 与 ecvt()函数2.1 自写函数2.2 ecvt()函数2.3 效果运行比较 1 背景 把很小的数,它接近0但不等于0 通过传参的方式 传给函数形参,会有精度丢失的可能! 解决的方法:把浮点数 字符串化,这样精度就不会丢失了 2 方法:自写函数 与 ecvt()函数 自写函数 ecvt()函数 效果好 效果稍差 限制多 限制少 2.1 自...原创 2020-05-02 19:48:47 · 892 阅读 · 0 评论 -
倒排索引
非原创,内容源自: https://zhuanlan.zhihu.com/p/139041529 https://www.cnblogs.com/zlslch/p/6440114.html 目录1 过程内容分词,形成 “**倒排列表**”,放在磁盘中,调用时调入内存2 出现的问题2.1 问题1 - 哈希冲突2.2 问题2 - 文件太多2.3 问题3 - 读取文档2.3.1 两次遍历法 ( 空间换时间 )2.3.2 排序法 ( 时间换空间 ) 1 过程 假设只有5个网站: 内容分词,形成 “倒排列表”,放在转载 2020-05-16 16:30:28 · 136 阅读 · 0 评论 -
数据结构7.1 - 排序 库函数 sort、qsort
1 写在前面: com函数 和 cmp函数 的函数列表形式对于 一维数组 不可改动! 对于不同数据类型的数组,改动函数内部的数据类型即可 com函数 的函数列表形式 对于结构体 要改动! cmp函数 的函数列表形式 对于结构体 仍不能改动! 2 sort() 2.1 一维数组排序: sort(数组名, 数组名 + 长度, com) com 控制 升序 和 降序 可不写com,这时 默认升序 sor...原创 2020-04-26 13:05:54 · 310 阅读 · 0 评论 -
数据结构7 排序
稳定:排序后相同关键字的相对位置不变 不稳:快些选堆 快 快速 些 希尔 选 简单选择 堆 堆排序 注意: 对于简单选择排序有两种版本:1交换板、2插入板 交换版 就是不稳的 插入版 就是稳定的(简单想想即知) 以下排序均默认升序 1 直接插入 思路:将每个元素插入已排好序的部分(前半部分) 有 for 和 while 两种形式,本质一样 代码第三行 cmp 控制升序 或降序 #include...原创 2020-04-27 21:28:42 · 266 阅读 · 0 评论 -
intx_t、size_t、ssize_t、无穷大表示 与 数组清零
int_t 是结构的标注,相当于type/typedef的缩写 int8_t : typedef signed char; uint8_t : typedef unsigned char; int16_t : typedef signed short ; uint16_t : typedef unsigned short ; int32_t : typedef sig...原创 2020-05-01 14:16:27 · 436 阅读 · 0 评论