随笔分类 -  leetcode_rank / lc_2200+

摘要:题目描述 数组含有负数,求一个最短子数组,子数组的和>=k f1-单调队列 基本分析 子数组和的问题怎么优化?前缀和 相比于暴力去枚举,可以有哪两个思路优化?用一个数据结构来存可能的前缀,(1)过河拆桥,如果一个前缀值满足了条件,那么他不用再考虑了,从前面弹出;(2)后浪更迭,当前遍历到的值<= 尾 阅读全文
posted @ 2023-03-16 15:52 zhangk1988 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目描述 给一个整数数组nums,数组长度在40以下 再给一个目标值goal 问怎么能在数组中选一个子序列,让子序列的和最接近值goal? f1-折半+状态压缩+动态规划 基本分析 1.40这个长度怎么看,直接用状态压缩行不行?子集个数是O(2n), 每个子集需要O(n)去找一个子集中的非0元 阅读全文
posted @ 2022-10-27 15:27 zhangk1988 阅读(46) 评论(0) 推荐(0) 编辑
摘要:题目描述 给了一个整数数组jobs表示工作,元素ei表示第i个工作需要花费的时间 给k个人,每个工作都需要分配,且每个只能给一个人 问如果要完成所有工作,求最短的工作时间? f1-状态压缩+动态规划 基本分析 能看出来需要二进制压缩状态,这里n是工作量,k是人数,怎么定义dp定义好?因为给第i个人的 阅读全文
posted @ 2022-10-27 11:48 zhangk1988 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目描述 给一个数组nums,数组里面有一些值,值可能会重复 再给一个k,需要把nums分配到k个子集中,每个子集没有相同元素,且所有子集的不兼容性之和最小? f1-枚举子集+状态压缩+动态规划 基本分析 明显不满足要求的有哪些?某个值的次数>k 是不是存在贪心的思路?没有 因为需要给每个子集放n/ 阅读全文
posted @ 2022-10-26 17:29 zhangk1988 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目描述 给了一个数组nums,数组中最多有50个不同的值 再给了m个顾客的订单数组,数组元素ei的含义是第i个顾客需要有ei个相同的整数 问给的nums能不能满足以上所有顾客的要求? f1-状态压缩+dp 基本分析 人数m不超过10?用二进制表示能满足人的子集 具体地取哪些数字重要吗?值不重要,值 阅读全文
posted @ 2022-10-25 14:04 zhangk1988 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目描述 有n个城市,编号是1-n, 给了一个数组edges表示了城市的连接关系,且每个城市间最多只有一条路(城市间的连接是树), 需要求一个结果ans,其中ans[i]表示城市间最大距离是i+1子树的数目 f1-状态压缩+动态规划 基本分析 城市个数不超过15可以暗示什么?用二进制表示当前城市的选 阅读全文
posted @ 2022-10-24 20:03 zhangk1988 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目描述 给一个列表hats,元素hats[i]表示第i个人喜欢的帽子类型 需要你给每个人都带自己喜欢颜色的帽子,同时不能和其他人一样 求方案数量 提示: 帽子个数不大于40 人数不大于8 f1-状态压缩+动态规划 基本分析 这里帽子个数不大于40,人数不大于8,考虑是帽子找人还是人找帽子?人少,肯 阅读全文
posted @ 2022-10-21 15:35 zhangk1988 阅读(58) 评论(0) 推荐(0) 编辑
摘要:题目描述 给一个m*n的矩阵seats表示教室内座位的分布,如果是坏的用“#”表示不能坐人 同时为了避免作弊,学生左,右,左前,右前4个位置不能有人 求给定座位后,最多能坐多少个学生? 提示: 1<=m<=8 1<=n<=8 f1-动态规划+状态压缩 基本分析 每一行坐人的状态怎么表示?参考给的数据 阅读全文
posted @ 2022-10-21 11:39 zhangk1988 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题目描述 你规划了一个技能清单skills,准备从备选人员中选择, 给了一个人员名单列表people,其中元素people[i]表示第i个人具备的技能。 提示: skills中的元素互不相同 people[i]中的技能都在skills范围内 技能列表长满足 1到16 f1-记忆化搜索+状态压缩 基本 阅读全文
posted @ 2022-10-20 11:42 zhangk1988 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目描述 给了一个无向联通图,图中节点个数是n,编号从0-n-1, 问能访问所有节点的最短路径长度是多少?可以从任一节点开始和停止,可多次访问节点,可重用边。 ####f1-bfs+状态压缩 基本分析 节点的个数不超过12,暗示什么?可能对节点的访问状态进行二进制压缩 每条边长度是1,求最短路径可以 阅读全文
posted @ 2022-10-16 20:59 zhangk1988 阅读(94) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示