贪心
myy_cjw
这个作者很懒,什么都没留下…
展开
-
哈夫曼编码
1.问题2.解析哈夫曼树的构建步骤:1、将给定的n个权值看做n棵只有根节点(无左右孩子)的二叉树,组成一个集合,每棵树的权值为该节点的权值。2、从集合中选出2棵权值最小的二叉树,组成一棵新的二叉树,其权值为这2棵二叉树的权值之和。3、将步骤2中选出的2棵二叉树从集合中删去,同时将步骤2中新得到的二叉树加入到集合中。4、重复步骤2和步骤3,直到集合中只含一棵树,这棵树便是赫夫曼树。构建完哈夫曼树就可以根据根据节点位置确定前缀码了。3.设计给定字符集C={c1,c2,...,cn},每个字符原创 2020-05-12 19:46:20 · 200 阅读 · 0 评论 -
贪心算法之相容问题(活动安排问题)
1.问题设有n个活动的集合A={1,2,3…,n},其中每个活动都要求使用同一资源(一个时间段只能安排一个活动)。每个活动都有一个起始时间st和一个结束时间ft。如果选择了活动i,则它在半开区间[Si,Fi)时间段内占用资源。若区间[si,fi)与区间[sj,fj)不相交,则称活动i和活动j相容不冲突。活动安排问题就是在所给的活动集合中选出最大的相容子集合。2.解析贪心策略是 选择最早结束时...原创 2020-04-28 19:09:41 · 1331 阅读 · 0 评论 -
codeforces 1204D2 Kirk and a Binary String (hard version)题解报告
codeforces 1204D2 Kirk and a Binary String (hard version)题意:给出一个 串 s ,求一个串 t , 要求两个串的最长上升子序列(lis)等长,并且在保证两个串对于每个l,r(1≤l≤r≤n)的lis也相同的情况下,使得串t中0的数量尽可能多。理性分析:1.假如当前位置的值是0,那么这个点一定是以它为起点的串的lis的一部分,也就是说...原创 2020-02-09 21:47:09 · 223 阅读 · 0 评论