P8700 [蓝桥杯 2019 国 B] 解谜游戏 题解
题目背景 题目描述 小明正在玩一款解谜游戏。谜题由 24 24 24 根塑料棒组成,其中黄色塑料棒 4 4 4 根,红色 8 8 8 根,绿色 12 12 12 根 (后面用 Y 表示黄色、R 表示红色、G 表示绿色)。初始时这...
在 Go 语言中,if 语句的条件短变量声明
在 Go 语言中,if 语句的条件部分可以包含一个可选的短变量声明,格式如下: if condition := someFunction(); condition { // 如果条件为真,则执行这部分代码 } 这里的 condit...
浅谈模拟
浅谈模拟 模拟虽然是入门算法,但这才是所有算法的根源。 所谓模拟,如字面意思,写一段代码让计算机去跟着你的思维跑程序。很多人可能以为模拟题就是那种非常傻逼的“题意要你做什么你就做什么然后就A了的”题。这种讲法并没错,那的确是模拟题,不...
贪心算法和动态规划的区别与联系
1. 联系 都是一种推导算法 都是分解成子问题来求解,都需要具有最优子结构 2. 区别 贪心:每一步的最优解一定包含上一步的最优解,上一步之前的最优解则不作保留。动态规划:全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优...
开宝箱(计算字母出现次数)
题目名称:开宝箱 题目描述 青木在提瓦特大陆冒险时遇到了一个神秘的宝箱,宝箱旁边有一串由 n 个小写字母组成的密文,破解宝箱的方法就藏在这一串密文当中。在青木的不断尝试下,发现开启宝箱的密码是所有仅出现一次的字母按密文中的顺序排列起来...
三角形计数(递推)
题目名称:三角形计数 题目描述 n 等分边长为 n的三角形的每条边,将对应的等分点连接起来(连接线分别平行于三角形三条边),求共有多少个头朝上的三角形? #include <iostream> using namespac...
最长上升子序列:详细题解+动画演示(动态规划和二分查找)
原题链接 题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会...
最长上升子序列——线性DP(C++)
AcWing 895. 最长上升子序列 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤...
放苹果(递归、动态规划、python)
描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。 数据范围:0 <= m <= 10 ,1 &l...