试题 算法提高 翔集合

Java集合常见面试题总结 但是,使用数组存储对象存在一些不足之处,因为在实际开发中,存储的数据类型多种多样且数量不确定。与数组相比,Java 集合提供了更灵活、更有效的方法来存储多个数据对象。Java 集合框架中的各种集合类和接口可以存储不同类型和数量的对象,同时还具有多样化的操作方式。相较于数组,Java 集合的优势在于它们的大小可变、支持泛型、具有内建算法等。总的来说,Java 集合提高了数据的存储和处理灵活性,可以更好地适应现代软件开发中多样化的数据需求,并支持高质量的代码编写。我们主要根据集合的特点来选择合适的集合。 阅读详情

资源限制
时间限制:1.0s 内存限制:8.0MB
问题描述
  集合M至少有两个元素(实数),且M中任意两个元素差的绝对值都大于2,则称M为“翔集合”,已知集合S={1,2…,n},请求出n的子集中共有多少个翔集合。
输入格式
  输入共一行,一个整数n.(n>=2)
输出格式
  输出共一行,一个整数表示S的子集中共有多少个翔集合,由于个数可能过大,请输出这个值除以1000007的余数。
样例输入
4
样例输出
1
数据规模和约定
  对于20%的数据,2<=n<=1000000
  对于100%的数据,2<=n<=10^15

**思路利用动态规划来写,我写的不知道算不算动态规划,就是内存超限了。**用递归写的话真的不行,重复计算太多了。
已知f(n-1)为不包含n的所有翔集合的个数、那么我们现在只需要求出包含n的翔集合的个数两个相加就能得到f(n)和f(n-1)的关系式

  • 不包含n的情况:f(n-1)
  • 包含n的情况:要和n组成翔集合首先排除n-1和n-2这两个数,[1,n-3]只能从这里里面选取若干个组成翔集合注意到f(n-3)为Sn-3的翔集合个数它的每一个翔集合都没有n-1和n-2两个数也就式说把n加到这写集合中它们任然是翔集合,所以包含n的且个数超过2个的翔集合的个数就是f(n-3)现在只剩下2个元素的集合易得为n-3个
  • 可以得:
  • f(n)=f(n-1)+f(n-3)+n-3 (f(3)=f(2)=0,f(4)=1)
n = int(input())
mod = 1000007
s = 0
'''
内存超限
'''
nums = [0 for i in range(n)] # 记录走过的数
nums[3] = 1
# f(n) = f(n-1) + f(n-3) + n-3
for i in range(4,n):
    nums[i] = nums[i-1] + nums[i-3] + i-3+1
s = nums[-1]
print(s % mod)

递归的代码:

n = int(input())
mod = 1000007
def fun(n):
    if n <= 3:
        return 0
    elif n == 4:
        return 1 
    else:
        return fun(n-1) + fun(n-3) + n-3
s = fun(n)
print(s % mod)

这个问题暂时没有解决,有待更新,拿来记录一下想法。

参考大佬的文章:传送门

蓝桥试题 算法提高 P1003 JAVA 作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词。不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检查。请编写一个程序,发现这种调整过顺序的关键词。程序的输入有两行,第一行是关键词列表,第二行是待检查的句子。程序的输出为在该句子中所找到的经过顺序调整的关键词。(单词全部为小写,单词之间以一个空格分隔,每一行的单词个数不限) 输入:   guns mines miss... 阅读详情

相关推荐

无人机飞控传感器全解析:从IMU到光流传感器的实战应用

本文深入解析了无人机飞控系统的核心传感器,从IMU、气压计、磁力计到光流传感器,详细阐述了其工作原理、数据融合策略及常见挑战。结合ICF5、Pixhawk 6C等主流飞控硬件,提供了从传感器校准、滤波器调优到应对室内光流定位、强磁干扰等实战场景的系统性优化指南,帮助开发者突破飞控“黑箱”,实现更稳定、可靠的飞行控制。

weixin_28396629的博客 169

蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(1-100)

文章目录四、算法提高ADV-1 两条直线cpp:java:ADV-2 矩阵翻转cpp:java:ADV-3 金属采集cpp:java:ADV-4 道路和航路cpp:ADV-5 最小方差生成树ADV-6 VIP试题 邮票面值设计cpp:java:ADV-7 VIP试题 子集选取cpp:ADV-8 VIP试题 冒泡排序计数cpp:ADV-9 VIP试题 递归倒置字符数组cpp:java:ADV-10 ...

薛崇祥的博客 1839

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1953

蓝桥杯---试题 算法提高 翔集合(矩阵快速幂)

试题 算法提高 翔集合 资源限制 时间限制:1.0s 内存限制:8.0MB 问题描述   集合M至少有两个元素(实数),且M中任意两个元素差的绝对值都大于2,则称M为“翔集合”,已知集合S={1,2…,n},请求出n的子集中共有多少个翔集合。 输入格式   输入共一行,一个整数n.(n>=2) 输出格式   输出共一行,一个整数表示S的子集中共有多少个翔集合,由于个数可能过大,请输出这个值除以1000007的余数。 样例输入 4 样例输出 1 数据规模和约定   对于20%的数据,2<=n&

雪岩的博客 418

基于IC617下Layout XL的使用

基于IC617下Layout XL的使用

weixin_43816759的博客 1万+

HybridCLR热更新打包报错全解析:从原理到实战解决方案

热更新技术是现代游戏和应用开发中实现动态内容交付与Bug修复的核心机制,它允许开发者在无需重新发布完整应用的情况下更新代码逻辑。其原理通常涉及在运行时加载并执行新的代码模块,这要求框架在底层实现安全的代码隔离、内存管理与元数据桥接。在Unity生态中,HybridCLR作为基于IL2CPP的高性能热更新解决方案,通过补充元数据和AOT泛型引用技术,实现了对C#代码的原生级热更支持,显著提升了开发迭代效率与线上问题修复能力。然而,在实际的工程实践中,尤其是在面向Android、iOS等多平台打包构建时,开发者

weixin_29017445的博客 309

算法-蓝桥杯习题(四)

蓝桥杯习题 蓝桥杯练习系统习题加答案更新新地址(已更新200左右习题) http://blog.youkuaiyun.com/rodestillfaraway 目录 算法训练(详见 算法-蓝桥杯习题(一))Go 算法训练(详见 算法-蓝桥杯习题(二))Go 算法提高(waiting...) 历届试题(详见 算法-蓝桥杯习题(六))Go 历届试题(详见 算法-蓝桥杯习题(七))...

weixin_30389003的博客 1526

大众奥迪诊断不求人:手把手解析SAE J2819(CAN TP2.0)协议报文与连接流程

本文深入解析大众奥迪车型诊断核心标准SAE J2819(CAN TP2.0)协议,详细拆解连接建立流程与报文控制字段。通过实战案例展示通道设置、参数协商等关键步骤,提供诊断设备配置建议和常见故障排查技巧,帮助工程师掌握汽车诊断通信协议的精髓。

weixin_30421809的博客 398

蓝桥杯练习系统习题-算法提高1

蓝桥杯练习系统习题-算法提高1题目搜索方式:Ctrl+F—-&gt; 输入题目名称—&gt;定位到解答.入门训练(详见 算法-蓝桥杯习题(1-1))基础练习(详见 算法-蓝桥杯习题(2-1))基础练习(详见 算法-蓝桥杯习题(2-2))算法训练(详见 算法-蓝桥杯习题(3-1))算法训练(详见 算法-蓝桥杯习题(3-2))算法训练(详见 算法-蓝桥杯习题(3-3))算法训练(详见 算法-蓝桥杯习题...

好好学java 7477

【原理图PCB专题】Cadence 17.4版本原理图及PCB 模块复用

在我们设计复杂板卡的时候,往往会遇到一部分电路被反复使用的情况。Cadence允许设计者一开始就将复用模块设计好,以后只要直接调用复用模块就可以直接用以设计更复杂的电路板了。这对于大规模集成设计无疑是非常好的选择,它不仅让设计者不必花费时间在相同模块反复设计上,更有利于电路的模块化设计。

一点硬件 2017

基于C++和Qt开发IEC104规约主站调试软件(第二章)

本章节主要讲解iec104主站软件界面设计和从站的连接功能以及部分功能代码的展示。

半青年的博客 861

负载均衡之子集选择算法

目录 背景 背景 目前的场景下,任务管理集群Apiserver有6个节点,agent集群的数量有36w+。之前的算法是agent通过注册中心获取Apiserver全量的节点数,并建立连接,所以每个Apiserver上维护了36w+的连接池。 当集群负载高时,扩容Apiserver节点并不能解决负载的问题,因为新节点并不能平摊其他节点的连接数,为此需要采用sharding的方式,让每个agent连接到部分的Apiserver节点,并且这个过程需要是幂等的,就是如果APiserver节点没有变更,.

u010512429的博客 1066

PTC Creo软件二次开发:使用C++进行Creo二次开发实战

C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。由Bjarne Stroustrup在贝尔实验室开发,最初作为C语言的增强版出现,后来发展成为一种独立的语言。C++不仅保留了C语言的高效性和灵活性,还引入了类、模板、命名空间等高级特性,使其成为开发复杂系统和软件的理想选择。

kkchenjj的博客 4046

试题 算法提高 翔集合+快速幂/矩阵快速幂

蓝桥杯练习系统上的一道题,翔集合 原题链接在这里 这道题最开始的思路是动态规划,我们来考虑n-1和n的情况,我们假设f(n)代表n个数时翔集合的个数,那它和f(n-1)之间的关系是怎样的呢? 可以这样想:f(n)可以分为n在集合里和n不在集合里两种情况。当n不在集合里时:很明显,这和f(n-1)的值是一样的。当n在集合里时:那么必不能取的是n-1和n-2,那这和f(n-3)有什么关系呢,可以在f(n-3)的每个集合里有个n,也就是说情况数是不变的,这又是一种情况,最后还就一个情况就是只取两个值的时候,前面的

qq_51052824的博客 235

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

算法提高 翔集合

算法提高 翔集合 //矩阵快速幂实现翔集合 #include <iostream> #include <algorithm> #include <cstring> using namespace std; typedef long long ll; struct node{ ll A[5][5]; node(){ for(int i = 0;i<5;i++) for(int j = 0;j<5;j++) A[i][j]=0; } }

第一帅程序猿的博客 487

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

试题 算法训练 集合运算

资源限制时间限制:1.0s 内存限制:512.0MB问题描述  给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入格式  第一行为一个整数n,表示集合A中的元素个数。  第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。  第三行为一个整数m,表示集合B中的元素个数。  第四行有m个互不相同的用空格隔开的整数,表示集合B中的元...

Vastsa的博客 676

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C语言实现 蓝桥杯 算法提高 翔集合

试题 算法提高 翔集合                                         &nbs

xyf0209的博客 2928

蓝桥杯 试题 算法提高 数组求和

资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少? 输入格式   输入的第一行包含两个整数n, m。第二行,共n个整数。 输出格式   输出1行,包含一个整数,连续m个数之和的最大值。 样例输入 10 3 9 10 1 5 9 3 2 6 7 4 样例输出 23 数据规模和约定   0<m<n&l...

weixin_43764596的博客 356

40道java集合面试题含答案(很全)

Java集合是Java编程语言中用于存储和操作数据的一组类和接口。它们提供了对数据的各种操作,如添加、删除、查找和更新等。

a342874650的专栏 6360

Java集合面试题

Java集合框架(Java Collections Framework)是Java提供的一套用于存储和操作对象的统一架构。它包含了一组接口、类和算法,用于表示和操作集合,如列表(List)、集合(Set)、映射(Map)等。

qq_36482202的博客 1015

蓝桥杯 试题解答汇总(c/c++版)

蓝桥杯试题解答目录算法训练算法提高历届试题 算法训练 试题编号 试题名称 ALGO-11 (VIP试题)瓷砖铺放 ALGO-142 P1103 ALGO-150 6-1 递归求二项式系数值 ALGO-226 (VIP试题)最大获利 算法提高 试题编号 试题名称 ADV-18 (VIP试题)实数相加 ADV-150 周期字串 ADV-15...

xyf0209的博客 8020

试题 算法提高 vertex cover

试题 算法提高 vertex cover 资源限制 时间限制:2.0s 内存限制:256.0MB 问题描述   给定一个N个点M条边的无向图G(点的编号从1至N),问是否存在一个不超过K个点的集合S,使得G中的每条边都至少有一个点在集合S中。 输入格式   输入的第一行包含一个整数T,表示数据的组数。   接下来T组数据中:每组输入的第一行包含三个整数n, m, k,分别表示图的点数,边数,集...

weixin_43764596的博客 691

Java 44个集合面试题及答案

但从更大的范围和使用来看,Java 1.2 提出了集合框架,将所有集合接口、实现和算法分组。Java 集合通过使用泛型和并发集合类实现线程安全操作已经取得了长足的进步。它还包括 Java 并发包中的阻塞接口及其实现。通过使用核心集合类而不是实现我们自己的集合类来减少开发工作量。通过使用经过充分测试的集合框架类,代码质量得到提高。通过使用 JDK 附带的集合类减少代码维护工作量。可重用性和互操作性。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 3433

Java面试题汇总-集合篇+JUC篇

Hash 碰撞是指不同的数据通过哈希算法计算后得到相同的哈希值,映射到了哈希表的同一个位置,发生”碰撞”解决方案: 1.拉链法(链地址法): 将哈希表的每一个槽的位置变成一个链表,将哈希值相同的键存储到同一个链表中2.开放寻址法: 如果出现碰撞,就寻找哈希表下一个可用的位置. 3.再哈希法(双重哈希): 在出现碰撞时,使用第二个哈希函数计算新的索引位置, 减少碰撞的概率当一个共享资源被多个线程访问时进行保护的行为叫线程同步,让线程有序访问,目的是为了避免出现数据不一致等问题。延伸→如何保证线程同步?

csdn3043663729的博客 3311
上一篇: 试题 算法提高 天天向上
下一篇: 试题 算法提高 分解质因数
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值