02 2021 档案

摘要:https://leetcode.com/problems/building-boxes/ 题意:在一个边长是n的立方体中放n个方块,方块可以叠加,但是被叠加的在下方的方块八面必须挨着墙或者别的方块。 问最底部最少可以放多少个方块。 这是一道找规律的题目,我们可以找出底部方块的个数m和最多可以放n个 阅读全文
posted @ 2021-02-20 19:55 Shendu.CC 阅读(130) 评论(0) 推荐(1) 编辑
摘要:题目 题意:判断一个字符串是否可以由三个回文串组成 题解:利用强大的回文树,计算出以每个字符为结尾的回文串,然后从字符串的最后一个字符开始,递归判断。 struct Tree { int next[4005][30]; int fail[4005]; int cnt[4005]; int num[4 阅读全文
posted @ 2021-02-15 11:53 Shendu.CC 阅读(110) 评论(0) 推荐(0) 编辑
摘要:题目 题意:从一个数组找出一个子集,使得子集的和给定的目标最相近。 题解:数组的长度为40,找出全部子集一共有240种可能性,如果把一个数组平均分成两部分,分别算出两部分的所有子集和,每部分有220种可能, 然后再二分查找答案。 遇到这种在数组里找所有子集和, class Solution { pu 阅读全文
posted @ 2021-02-13 17:42 Shendu.CC 阅读(118) 评论(0) 推荐(0) 编辑
摘要:题目 题意:将n个数分成k组,使得k组中的最大值最小。 题解:暴力DFS,但是要注意两个地方剪枝,首先在DFS的过程中判断当前的最大值是不是已经超过了已有答案。 第二个剪枝的地方比较triky,由于我们对k组没有顺序要求的,所以当剩下的组都是空的时候,我们只需要DFS第一个组。 class Solu 阅读全文
posted @ 2021-02-01 20:04 Shendu.CC 阅读(281) 评论(0) 推荐(0) 编辑

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