贪心法的正确性证明
原创 2021-08-02 14:24:31
1040阅读
      2013年的某个下午,某老师再一次提到哈夫曼编码的问题,而我也再一次想到如何证明哈夫曼编码正确性的问题,我想啦又想,想出来一半,查阅资料后一切OK啊!现总结一下,如果有错误呢,请您温柔的指出来。    先看个实际问题,比如有 A ,B, C, D 4个字母,现在要用它们发送信息,首先就要对它们进行二进制编码,而它们在信
原创 2013-03-18 21:24:07
6687阅读
哈夫曼树构造 1.哈夫曼树的定义     给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。 2.哈夫曼树的构造     假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1,w2,…,wn,则哈夫曼树的
原创 2012-11-06 19:33:00
6793阅读
1点赞
2评论
来自《Writing Solid Code》的一则小故事,Donald Knuth在其著名的排版软件TEX的封面上写到:“I believe that the final bug in TEX was discovered and removed on November 27, 1985. But...
转载 2015-03-31 20:44:00
102阅读
2评论
【每日算法】为啥不是「背包」是「贪心」,以及「贪心解」的正确性证明 这是 LeetCode 上的 1833. 雪糕的最大数量 ,难度为 中等。
原创 2022-05-20 17:18:39
133阅读
这是 LeetCode 上的 802. 找到最终的安全状态 ,难度为 中等。 Tag : 「图」、「拓扑排序」
原创 2022-05-20 14:15:24
243阅读
1、dp数组的含义 maxDP[i]中存储 以nums[i]为结尾元素的子数组的最大乘积minDP[i]中存储 以nums[i]为结尾元素的子数组的最小乘积 注意到:maxDP[i] >= minDP[i] for all i from 0 to nums.size()-1 2、根据maxDP[i] ...
转载 2021-10-30 22:02:00
37阅读
2评论
这是 LeetCode 上的 1877. 数组中最大数对和的最小值 ,难度为 中等。 Tag : 「贪心算法」
原创 2022-05-20 19:17:47
172阅读
我们令ai表示一个时间区间,具有两个属性si,ei表示开始和结束时间. 现在给定一个a的集合Sk,从Sk中找出一个最大兼容子集,即找出尽量多的时间区间且这些区间互不相交。 以前只是知道按照结束时间排序然后直接贪心即可,没想过证明,昨晚看了黑书的证明。 首先我们假设这么一个定理:令am是Sk中e最小的
转载 2017-06-17 09:35:00
578阅读
2评论
这是 LeetCode 上的 1713. 得到子序列的最少操作次数 ,难度为 中等。 Tag : 「最长公共子序列」、「最长上升子序列」、「贪心」、「二分」
原创 2022-05-20 19:20:52
549阅读
题目描述 这是 LeetCode 上的 1345. 跳跃游戏 IV ,难度为 困难。 Tag : 「图论 BFS」、
原创 2022-05-20 16:25:57
75阅读
这是 LeetCode 上的 1846. 减小和重新排列数组后的最大元素 ,难度为 中等。 Tag : 「贪心」
原创 2022-05-20 17:37:12
368阅读
1点赞
题目描述 这是 LeetCode 上的 561. 数组拆分 I ,难度为 简单。 Tag : 「贪心算法」 给定长度为 2n
原创 2022-05-20 19:37:21
258阅读
    function checkIdcard(idcard) {        var Errors = new Array( "身份证验证通过!", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身
转载 2011-09-06 09:36:42
568阅读
# Java 检测URL正确性 在网络开发中,经常会涉及到处理URL链接的情况。有时候需要检测一个URL是否是一个有效的链接,以确保用户输入的URL是正确的。在Java中,我们可以通过一些方法来检测URL的正确性,并且对其进行处理。 ## URL的结构 URL(Uniform Resource Locator)是一个标准的资源定位格式,用来指定文件的位置。一个URL通常包含以下几个部分:
原创 2月前
49阅读
# Java 校验域名正确性 在网络编程中,经常需要对用户输入的域名进行校验以确保其合法。域名是由一系列由点分隔的标签组成,例如:www.example.com。在 Java 中,我们可以使用正则表达式来校验域名的正确性。 ## 常见的域名校验规则 1. 域名必须由多个标签组成,每个标签之间由点分隔。 2. 每个标签必须由字母、数字和连字符组成。 3. 域名的最后一个标签必须为字母。 4.
原创 5月前
45阅读
本文内容为北大慕课课程的算法分析与设计的课程讲义,将其整理为OneNote笔记同时添加了本人上课时的课堂笔记,且主页中的思维导图就是根据课件内容整理而来,为了方便大家和自己查看,特将此上传到CSDN博文中, 源文件已经上传到我的资源中,有需要的可以去看看,我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 我的主页了解更多计算机学科的精品思维导图整理本文可以转载,但请注明来处,觉得整理的不错的小伙伴可以点赞关注支持一下哦!博客中思维导图的高清...
原创 2021-05-06 11:15:13
143阅读
public class RegisterCheck { /** * 验证输入的邮箱格式是否符合 * @param email * @return 是否合法 */ public static boolean emailFormat(String email) { boolean tag = tr
原创 2023-05-25 15:50:01
492阅读
# 验证SQL语句正确性的流程 ## 1. 确定数据库连接信息 在验证SQL语句之前,首先要确定数据库连接的信息,包括数据库的地址、用户名和密码等。 ## 2. 创建数据库连接 使用Java代码创建与数据库的连接,并创建一个Statement对象。Statement对象用于执行SQL语句。 ```java // 导入必要的包 import java.sql.Connection; imp
原创 7月前
59阅读
Nginx的配置正确性检查报错:[root@ser conf]# /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or di
原创 2016-03-31 13:49:59
1212阅读
  • 1
  • 2
  • 3
  • 4
  • 5