
算法
文章平均质量分 60
新时代先锋
Hello World
展开
-
最长公共子序列(Longest Common Subsequence,LCS)
最长公共子序列是一个经典的动态规划问题,通过定义状态和状态转移可以高效地求解。这个算法在生物信息学、文本比较等领域都有广泛的应用。原创 2024-11-24 10:03:06 · 429 阅读 · 0 评论 -
最长上升子序列(Longest Increasing Subsequence,LIS)(动态规划与二分查找结合)
这段代码旨在找到给定整数序列中的最长上升子序列(Longest Increasing Subsequence,LIS)。这种求解方法结合了动态规划思路和二分查找的高效性。列表动态地维护当前可以构成的上升子序列的尾部。通过二分查找方法能够快速定位插入位置,从而保证在 O(log N) 的时间复杂度内完成对。整体的逻辑简单而高效,相较于传统 O(N^2) 的动态规划方法,显著提高了运行效率,特别适合于处理大规模输入数据。因此,这段代码高效地解决了最长上升子序列的问题,适合在面对大数据量时使用。原创 2024-11-23 23:15:26 · 367 阅读 · 0 评论 -
十进制小数转任意N进制小数
进制是数值表达的方式,确定每个数字在数值中的权重。最常用的进制是十进制(基数为10),它使用0到9的数字来表示数值。循环来获取小数部分的值。:在计算机中,浮点数的表示是近似的,这可能导致在进行多次计算时出现精度问题。在上述代码中,函数通过不断地乘以进制做转换,但在浮点运算中,保留小数位可能会累积误差。:数制转换在计算机科学中有重要应用,例如网络编程(IP地址的表示)、编码(如 Base64 编码)等。实际使用中,可以扩展算法,使其支持负数的进制转换,并处理零的情况(如任何进制下的 0 都是表示为 0)。原创 2024-10-28 16:58:00 · 773 阅读 · 0 评论 -
【进制转换】任意进制转任意进制
对于数据量大,一定要用sys替代输入输出,python是这样的~原创 2024-10-20 10:53:11 · 197 阅读 · 0 评论 -
任意进制转为10进制
通过理解位值原理、熟练掌握进制转换的不同方法,我们能够在不同数制之间灵活地进行数值的转换,这对于数学计算和程序设计都是基本而重要的技能。ans = 0return ansk = input() # 基数n = input() # 待转换的进制数据# 九进制正整数 (2022)9 转换成十进制等于多少?原创 2024-10-20 10:21:46 · 284 阅读 · 0 评论 -
高效判断素数(6的倍数原理)
综上所述,素数之所以集中在6的倍数附近,是因为在所有的自然数中,只有6的倍数加减1的位置上的数才有可能满足素数的定义(即只能被1和自身整除)。这个规律是基于数学上的排除法和余数分析得出的,它帮助我们更高效地判断一个数是否为素数。首先,我们需要理解一个数学规律:除了2和3以外,所有的素数都可以表示为6n±1的形式,其中n是一个自然数。换句话说,这些素数都分布在6的倍数的两侧,即6的倍数加减1的位置上。素数(又称质数)是指一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数。原创 2024-09-30 22:32:42 · 1176 阅读 · 0 评论