首页 > 其他分享 >E-拼接串

E-拼接串

时间:2024-10-18 18:22:29浏览次数:6  
标签:sum mask masks range 拼接 ans 掩码

题目:
思路:在已有的数组中寻找符合条件,也就是没有重复数字的子数组,以掩码的对应位的形式来表示当前子数组元素的存在,之后双重循环生成所有子数组,内层循环中,判断当前元素是否存在掩码中,存在则推出,不存在则加入掩码并标记。用另一个循环来更新 sum 数组,使得每个掩码的值能反映其对应的最大元素数量。之后遍历所有掩码,计算其和补码的元素之和挑最大的那个输出即可。(ps:这种题目真的是人做的吗?)
程序:
def main():
n = int(input())
arr = list(map(int, input().split()))
sum_masks = [0] * (1 << 18)
is_mask = [0] * (1 << 18)
for l in range(n):
mask = 0
for r in range(l, n):
if (mask >> (arr[r] - 1)) & 1:
break
mask |= (1 << (arr[r] - 1))
sum_masks[mask] = bin(mask).count('1')
is_mask[mask] = 1
for i in range(18):
for j in range(1 << 18):
if (j >> i) & 1:
sum_masks[j] = max(sum_masks[j], sum_masks[j - (1 << i)])
ans = 0
for i in range(1 << 18):
if is_mask[i]:
ans = max(ans, bin(i).count('1') + sum_masks[((1 << 18) - 1) ^ i])
print(ans)
if name == "main":
main()

标签:sum,mask,masks,range,拼接,ans,掩码
From: https://www.cnblogs.com/wqfx/p/18474834

相关文章

  • 关于路径拼接测试脚本,测试加不加/
    importos#与操作系统交互模块importsys#与python解释器和运行环境相关的函数和变量importdjango#django框架模块#迭代版(无需更改,要保证此文件是:根目录/scripts/该脚本即可cwd=os.getcwd()#D:\d_pycharm_program\workshop_managerment\scriptsroot_path=......
  • 如何通过OpenCV实现图像融合拼接?
    图像拼接的意义2024年了,谈论图像拼接,不算新事物,我们这里探讨图像拼接,主要探讨图像拼接的意义、难点和大概的实现思路。图像拼接可以突破设备视野限制,通过拼接低分辨率图像获得高分辨率图像。扩展视野:可以将多张具有重叠部分的图像拼接成一张宽视野的图像,让人们能够看到更广阔的场景......
  • 机器学习:opencv--图像拼接
    目录前言一、两个函数1.显示图像2.计算图片特征与描述符二、代码实例1.准备图像2.特征检测3.特征匹配4.图像变换5.图像融合前言图像拼接是一种将多张图像合成一幅大图的技术,常用于全景图生成、图像拼接和图像合成等应用场景。 一、两个函数1.显示图像defcv......
  • 《OpenCV》—— 图像拼接
    下面是两张需要拼接的图片完整代码:importcv2importnumpyasnpimportsysdefcv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)defdetectAndDescribe(image):gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)descriptor=cv2.SIF......
  • Go五种字符串的拼接
    +funcmain(){s1:="hello"s2:="word"s3:=s1+s2fmt.Print(s3)//s3="helloword"}sprintfs1:="hello"s2:="word"s3:=fmt.Sprintf("%s%s",s1,s2)//s3="hell......
  • AS-VJ900实时视频拼接系统产品介绍:多路视频拼接方法和操作(以九路视频9画面拼接成9x1的
    目录一.拼接平台介绍和无缝拼接理论基础1.1拼接平台简单介绍1.2视频无缝拼接理论基础二.多路视频拼接的准备工作2.1视频选择三.拼接步骤3.1视频录入3.2找出公共部分3.3裁剪和完善3.3.1视频裁剪去重3.3.2继续完善3.4继续拼接直至完成四.视频拼接结果显示   ......
  • 《C++高效字符串拼接之道:解锁性能与优雅的完美结合》
    在C++编程中,字符串拼接是一项常见的操作。然而,如果不采用合适的方法,字符串拼接可能会导致性能低下和代码繁琐。本文将深入探讨如何在C++中进行高效的字符串拼接,带你解锁性能与优雅的完美结合。一、C++中字符串拼接的常见方法及问题在C++中,有几种常见的字符串拼接方法,但......
  • 数据处理与统计分析篇-day07-Pandas数据拼接与空值处理
    一.数据组合连接方式:inner:内连接(交集)left:左外(左表全集+交集)right:右外(右表全集+交集)outer:满外连接(左表全集+右表全集+交集)导包importnumpyasnpimportpandasaspdimportosimportsqlite3​os.chdir(r'D:\CodeProject\03data_pro......
  • 2321. 拼接数组的最大分数
    题目链接2321.拼接数组的最大分数思路最大子数组和-变体题解链接转换成最大子数组和(Python/Java/C++/Go)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:classSolution:defmaximumsSplicedArray(self,nums1:List[int],nums2:Lis......
  • 【图像拼接】基于SIFT/SURF特征算法的图像拼接,matlab实现
         博主简介:matlab图像代码项目合作(扣扣:3249726188)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       本次案例是基于SIFT/SURF特征算法的图像拼接,用matlab实现。 一、案例背景和算法介绍       前面的博客文章......