
算法
算法相关
Peanutty
菜鸡一枚
展开
-
【C++优先队列 priority_queue】求丑数
优先队列的定义在C++的 queue 头文件中定义的优先队列 priority_queue,通常定义方式为priority_queue<int> s;优先队列还接受其他参数priority_queue<long long, vector<long long>, greater<long long> > pq;第一个参数 long long 为数据类型第二个参数 vector< long long> 为保存数据的容器,默认原创 2021-03-05 20:30:27 · 710 阅读 · 0 评论 -
【STL】set集合,输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出
集合:SETset集合中元素不能重复例题输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,单词不区分大小写。样例输入:Today is Sunday! On Sunday, I usually play basketball.样例输出:basketballiisonplaysundaytodayusually解答本题为了展示set的用法,直接使用set保存单词集合。将string类型插入set集合后自动按字典排序。解答时把非字母字符变成空格,然后用st原创 2021-03-04 23:48:16 · 1627 阅读 · 1 评论 -
【蓝桥杯】有一张 m×n 个小方格的地图,一个机器人位于地图的左上角,它每步只能向右或者向下移动一格。。。
题目描述有一张 m×n 个小方格的地图,一个机器人位于地图的左上角(如图标记为 Start 的地方),它每步只能向右或者向下移动一格,如果走到右下角的终点(如图标记为 Finish 的地方),有多少种不同的方法?例如,一个 3×2 的地图,方法数是 3 种,分别是:右 → 右 → 下右 → 下→ 右下 → 右 → 右最优解法:动态规划动态规划,先初始化第一行和第一列的所有格子为1,格子内的数表示到当前格子的路径数,到第一行和第一列格子的路径只有1条,然后从第2行第2列开始,每个格子的路径原创 2021-03-02 17:16:28 · 6436 阅读 · 4 评论 -
0-1背包问题分支界限算法-普通队列
0-1背包问题分支界限算法-普通队列问题描述给定一背包的容量C,和n个物品的重量wi价值vi,求在背包容量允许的条件下能装入的最大价值案例分析找到一个方案, 使得能放入背包的物体总价值最高.设N=3, W=(16,15,15), P=(45,25,25), C=30(背包容量)队列式分支界限法基本思路可以通过画分支限界法状态空间树的搜索图来理解具体思想和流程每一层按顺序对应一个物品放入背包(1)还是不放入背包(0)基本步骤① 用一个队列存储活结点表,初始为空② A为当前原创 2020-11-27 17:27:16 · 2434 阅读 · 0 评论 -
基于回溯法寻找哈密顿回路
基于回溯法寻找哈密顿回路回溯法是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯(其实回溯法就是对隐式图的深度优先搜索转载 2020-11-18 23:42:34 · 5923 阅读 · 0 评论 -
会议与会议室的安排问题
会议与会议室安排问题 Problem 会议安排问题。有一组会议A和一组会议室B,A[i]表示第i个会议的参加人数,B[j]表示第j各会议室最多可以容纳的人数。当且仅当A[i]<=B[j]时,第j个会议室可以用于举办第i个会议。给定数组A和数组B,试问最多可以同时举办多少个会议。12 Example A={1,2,3}转载 2020-10-20 07:53:44 · 3164 阅读 · 0 评论