摘要: 问题: 对$n$个不同的数构成的数组$A[1..n]$进行排序,其中$n=2^k$。 解析: 分治思想,对于每个点堆,分成l和r两个点集,分别求每个点集中点的最近对。三种情况: ①$ l = r $:只有一个点,返回 $inf$ ②$l = r – 1$:两个点,返回两个点的点距。 ③$l = r 阅读全文
posted @ 2020-03-30 22:10 Big-Kelly 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意: $n$张卡片,每张卡片有4个属性$w,x,isMagic,isSpellBoost$分别表示花费,伤害,是否为魔法卡,是否为作用卡。如果使用一张魔法卡,可以使所有未使用的作用卡的费用减$1$,已知有$W$的钱,求造成的最大伤害。 思路: $dp[i][j]$表示使用了$i$张魔法卡,花费$j 阅读全文
posted @ 2020-03-30 11:10 Big-Kelly 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个小写字母组成的串,问长度为$K$的不重复的子序列有多少个。 思路: $dp[i][j]$表示长度为$i$的最后一位为$j$的子序列的个数。 转移方程为:$dp[i][j]=\sum_{k=0}^{25}{dp[i-1][k]}$。 特判$K=0$时个数为$1$。 代码: 1 #incl 阅读全文
posted @ 2020-03-30 10:54 Big-Kelly 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定整数$c$和数组$a$,$b$。$a_i$表示通过爬楼梯的方法从第$i$层到$i+1$层需要的时间,$b_i$表示通过坐电梯的方法从第$i$层到$i+1$层需要的时间,坐电梯前需要等$c$单位时间,求从第一层到各层的时间。 思路: $dp[i]=min\left\lbrace\ dp[j 阅读全文
posted @ 2020-03-30 10:37 Big-Kelly 阅读(110) 评论(0) 推荐(0) 编辑