算法设计与分析
文章平均质量分 66
递归与分治策略,动态规划,贪心算法,回溯法,分支限界法
我叫Ycg
身体的勤劳永远代替不了思维的懒惰
展开
-
2024年第十五届蓝桥杯第三期(校内)模拟赛题解
【问题描述】 请问 2023 有多少个约数?即有多少个正整数,使得 2023 是这个正整数的整数倍。【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。【解】最终结果:6【问题描述】 请问有多少组整数对 l, r 满足: 1. l 和 r 都介于 0 (含)到 100 (含)之间; 2. r-l >= 10。【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交原创 2024-03-08 17:12:12 · 4493 阅读 · 9 评论 -
拒绝采样(算法)总结
一把豆子撒下去,每个豆子都是一个“样本”,如果落在小桶外面的大桶里面去了,就“拒绝”这个样本,如果在小桶里,就“采用”这个样本, 就这样拒绝-和采用所有的豆子,小桶里面的豆子数量除以所有的豆子的数量就得到啊小桶在大桶里的占比,也就是豆子落在小桶里的概率……现在有一个只能生成1、2、3、4、5、6、7这7个数字的随机函数Rand7(),问你如何用这个函数实现一个可以随机生成1~10的随机函数Rand10()(。没关系,看第二个,更简单!所谓拒绝 和 采样 :就像是。6和1、6和2、6和3 (拒绝表示)原创 2023-12-31 23:46:04 · 1298 阅读 · 0 评论 -
二分技术 简单篇(三)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为。35. 搜索插入位置。原创 2023-01-26 14:47:46 · 1054 阅读 · 0 评论 -
二分技术 简单篇(二)
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。,你想找出导致之后所有版本出错的第一个错误的版本。278. 第一个错误的版本。原创 2023-01-26 14:45:36 · 977 阅读 · 0 评论 -
二分技术 简单篇(一)
9 出现在 nums 中并且下标为 4。2 不存在 nums 中因此返回 -1。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。原创 2023-01-26 14:42:29 · 658 阅读 · 0 评论 -
动态规划练习(6) 使用最小花费爬楼梯LeetCode C/C++ 5行代码
输入:cost = [1,100,1,1,1,100,1,1,100,1]你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。- 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。- 支付 1 ,向上爬一个台阶,到达楼梯顶部。原创 2022-09-24 16:49:39 · 245 阅读 · 0 评论 -
动态规划练习(6) 剑指 Offer 10- II. 青蛙跳台阶问题 C/C++ 7行代码
链接:https://leetcode.cn/problems/qing-wa-tiao-tai-jie-wen-ti-lcof。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。来源:力扣(LeetCode)原创 2022-09-21 21:30:48 · 496 阅读 · 0 评论 -
动态规划练习(5)买卖股票的最佳时机-LeetCode 动态规划的极致,究极用法,7行代码解决战斗
2、最后一天是卖出日: dp[0][prices]=max( dp[k][prices-1] ),(其中0原创 2022-09-20 23:58:37 · 194 阅读 · 0 评论 -
动态规划练习(4)杨辉三角-LeetCode
最后一步:求最后一行numRows的numRows个数,该行第一个和最后一以后是1,其他的第j个(2原创 2022-08-31 18:23:53 · 199 阅读 · 0 评论 -
动态规划练习(3)爬楼梯-LeetCde
动态规划练习(3)爬楼梯-LeetCde原创 2022-08-31 16:36:54 · 178 阅读 · 0 评论 -
动态规划练习(1)印章
四大步骤:最后一步化成子问题写出表达式。原创 2022-08-13 13:47:32 · 373 阅读 · 0 评论 -
动态规划练习(2)拿金币
1、不知道用几维数组,那就直接用二维,写着写着就知道了,如果写到一半发现根本用不着第二维的下表,那接下来直接写一维呗,但如果一开始用的一维数组,一旦用错了就会发现根本写不下去了,必须得从头再来,麻烦且费时。2、化子问题那一小步或许可能省略不写脑袋想想就行了,但状态转移方程一定一定一定必须写出来!!!!绝对不能偷懒,因为你不知道最后一步情况判断完了没有,也不知道构造的状态方程对不对,一旦哪地方错了,绝对能卡你半小时以上,所以这一步绝对不能偷懒。...原创 2022-08-18 19:02:09 · 451 阅读 · 1 评论 -
子集和问题 工作分配问题 回溯法实验
实验名称: 回溯法 一、实验预习1、实验目的1. 理解并掌握回溯法的设计思想;2. 提高应用回溯法解决问题和设计算法的能力;3. 通过编程实现子集和问题和工作分配问题,进一步理解回溯法的深度优先搜索策略和剪枝函数。2、实验内容1. 子集和问题:子集和问题的一个实例为〈S, c〉。其中,S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在 S 的一个子集 S1,使得...原创 2022-05-29 02:06:44 · 1266 阅读 · 1 评论 -
租用游艇问题 石子合并问题 动态规划实验
实验名称: 动态规划 一、实验预习1、实验目的1. 理解并掌握动态规划方法的设计思想;2. 提高应用动态规划方法解决问题和设计算法的能力;3. 通过编程实现租用游艇问题和石子合并问题,进一步理解动态规划方法解题的四个基本步骤。2、实验内容1. 租用游艇问题:长江游艇俱乐部在长江上设置了 n 个游艇出租站 1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 i ...原创 2022-05-22 23:21:32 · 2682 阅读 · 2 评论 -
最大值问题 众数问题 (二分法)分治策略实验
实验名称: 分治策略 一、实验预习1、实验目的1. 理解并掌握分治法的设计思想;2. 提高应用分治法解决问题和设计算法的能力;3. 通过编程实现最大值问题和众数问题,进一步理解分治法中递归的使用方法及分治合的基本步骤。2、实验内容1. 最大值问题:给定n个整数,用分治法找出其中的最大值。两个测试用例:输入数据分别由文件名为 input 1.txt和input 2.txt的文本文件提供,文件的第一行...原创 2022-05-15 19:59:47 · 1876 阅读 · 0 评论 -
算法设计与分析大作业 关于核算检测次数的问题研究 (分治策略 二分法 实例生活运用)
一、问题描述如今疫情一直困扰着大家的正常生活,迟迟不见好转,反而这几天更是严重,直接变成了三天两检的全员核酸检测。其实,由于数量的原因,核酸检测是很烧钱的,一个核酸检测试剂盒(荧光PCR法)就要5元,如果中国14亿人人均一次那么就要70亿人民币,这还仅仅只是一次,想想我们平时三天两检,上海天天检测,各个交通要塞一直不停地检测,如果不想办法降低成本,这该是多么恐怖的一件事。于是,混检(将10人的拭子装一个试管中进行检测)就出来了,混检可以将成本降低到千分之一,现在我们来设计一个算法实现核酸检测的成本尽可能原创 2022-05-15 20:01:20 · 1823 阅读 · 3 评论