蓝桥杯打卡Day13天

news2025/4/8 20:19:50


文章目录

  • 整数拆分
  • 神奇的口袋

一、整数拆分OJ链接

本题思路:本题是一道简单的01背包问题。由于题目中说将数字拆分成2的幂,而且可以重复使用。

Python代码:

N=1000010
mod=int(1e9)

f=[0]*N;

n=int(input())

f[0]=1

i=1
while i<=n:
  for j in range(i,n+1):
    f[j]=(f[j]+f[j-i])%mod
  i*=2
    
print(f[n])
  

C++代码:

#include<bits/stdc++.h>

using namespace std;

constexpr int N=1e6+10;
constexpr int MOD=1e9;

int n;
int f[N];
/*
本题解决方案就是采用完全背包问题的方式:
由于题目中说将数字拆分成2的幂,而且可以重复使用

*/
int main()
{
    cin.tie(nullptr)->sync_with_stdio(false);
    
    cin>>n;
    
    f[0]=1;//如果当前没有数字,此时自己也是一种方案
    for(int i=1;i<=n;i*=2)//枚举2的幂
        for(int j=i;j<=n;j++)//当前状态下能否达到n的状态
            f[j]=(f[j-i]+f[j])%MOD;
    cout<<f[n]<<endl;
            
    return 0;
}

二、神奇的口袋

本题思路:本题是一道简单的01背包问题。状态定义: f[i][j]表示前 i 个物品在总体积等于j下的所有方案数,集合划分: 可以根据选 i 这个物品或者不选 i 这个物品进行划分,状态计算: f[i][j] = f[i - 1][j] + f[i - 1][j - w[i]]。那么此时可以优化空间,以下代码即为优化空间后的代码。

Python代码:

n=int(input())

dp=[0]*45;

dp[0]=1
for i in range(1,n+1):
  x=int(input())
  for j in range(40,x-1,-1):
    dp[j]+=dp[j-x]
print(dp[40])

C++代码:

#include <bits/stdc++.h>

constexpr int N=45;

int n;
int a[N];
int f[N];

int main()
{
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);std::cout.tie(nullptr);
  
  std::cin>>n;
  for(int i=1;i<=n;i++) std::cin>>a[i];
  
  f[0]=1;// 选0个物品且体积恰好为0的方案数为1
  for(int i=1;i<=n;i++)
    for(int j=40;j>=a[i];j--)
      f[j]+=f[j-a[i]];//这里是一维背包优化,这里可以看一下之前的01背包
  std::cout<<f[40]<<std::endl;
  return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1029992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

命名和代码风格

一段代码&#xff0c;一个方法后面要打换行&#xff01;&#xff01;&#xff01;&#xff01; api的js代码引入的时候要分开回车空行&#xff0c;例如api的Project.js 命名规则&#xff1a; t-dialog控件显示的visible命名的时候例如&#xff1a;visibleVerify&#xff0c;显…

sudo apt-get update失败的原因和解决方法

ubuntu更新资源包时出现连接超时的问题&#xff1a; 无法发起与 cn.archive.ubuntu.com:80 (2403:2c80:5::6) 的连接 - connect (101: 网络不可达) 无法连接上 cn.archive.ubuntu.com:80 (45.125.0.6)&#xff0c;连接超时 正在读取软件包列表… 完成 W: 无法下载 http://cn.ar…

一文介绍使用 JIT 认证后实时同步用户更加优雅

首先本次说的 JIT 指的是 Just In Time &#xff0c;可以理解为及时录入&#xff0c;一般用在什么样的场景呢&#xff1f; 还记的上次我们说过关于第三方组织结构同步的功能实现&#xff0c;主要目的是将第三方源数据同步到内部平台中来&#xff0c;方便做管控和处理 此处的管…

java.lang.ClassNotFoundException: rx.Single(hystrix)

做springcloud整合hystrix时候&#xff0c;接口加上HystrixCommand后报错。 原因是hystrix依赖的第三方Jar----rxjava版本低&#xff0c;把rxjava更新为最新jar即可

Linux Day18 TCP_UDP协议及相关知识

一、网络基础概念 1.1 网络 网络是由若干结点和连接这些结点的链路组成&#xff0c;网络中的结点可以是计算机&#xff0c;交换机、 路由器等设备。 1.2 互联网 把多个网络连接起来就构成了互联网。目前最大的互联网就是因特网。 网络设备有&#xff1a;交换机、路由器、…

C语言基础知识点(八)联合体和大小端模式

以下程序的输出是&#xff08;&#xff09; union myun {struct { int x, y, z;} u;int k; } a; int main() {a.u.x 4;a.u.y 5;a.u.z 6;a.k 0;printf("%d\n", a.u.x); } 小端模式 数据的低位放在低地址空间&#xff0c;数据的高位放在高地址空间 简记&#xff…

c指针进阶

目录 char* 指针 指针数组 数组指针 应用 接收一维数组(不常用) 接收二维数组 存放数组指针的数组 一维数组传参 二维数组传参 函数指针 两段有趣的代码 函数指针数组 应用——计算器 指向函数指针数组的指针 回调函数 qsort 修改冒泡排序 char* 指针 一个char*…

Android:创建jniLibs的步骤

一、前言&#xff1a; android libs&#xff0c;jniLibs库的基本使用 libs&#xff0c;jniLibs用来存放各种.so库文件。如果没有jniLibs目录需要自己手动创建&#xff0c;并且库名称也不能随便更改。 二、解决方案&#xff1a; 我之前弄了好久也弄不出来&#xff0c;之前有说…

ubuntu20.04下源码编译colmap3.9

由于稠密重建需要CUDA&#xff0c;因此先安装CUDA&#xff0c;我使用的是3050GPU&#xff0c;nvidia-smi显示最高支持CUDA11.4。 不要用sudo apt安装&#xff0c;版本较低&#xff0c;30系显卡建议安装CUDA11.0以上&#xff0c;这里安装了11.1版本。 下载&#xff1a; cuda_1…

程序员接单实现财富自由?原来是用了这十大良心平台!!!

后疫情时代下,经济复苏缓慢&#xff0c;处于下行阶段。同时&#xff0c;由于强大的生活压力&#xff0c;社会内卷日益严峻 各行各业的打工人&#xff0c;都在公司里“阴暗扭曲爬行”。从“996”到“007”&#xff0c;工作强度简直是苦不堪言。尤其对咱们IT行业&#xff0c;本来…

Python 打印文本进度条

""" 打印文本进度条知识点&#xff1a;1、字符串运算&#xff0c;注意只能适用于加法、乘法&#xff0c;例如&#xff1a;123 123 123123例如&#xff1a;123 * 3 1231231232、循环语句while、for3、条件语句if4、重点&#xff1a;转义字符\r&#xff0c;可以…

浙大mpa项目提前批面试如果拿不到A资格怎么办?

2024年浙江大学MPA项目提前批面试申请已经结束&#xff0c;至今来看总的申请人数跟去年2023届基本相当&#xff0c;超过四百名学员报名提面&#xff0c;按照去年1923人报考的体量来看&#xff0c;大多数人恐怕还是把录取的希望保留到常规批复试中。那么&#xff0c;400提面考生…

Linux 爱好者线下沙龙:LLUG 2023 深圳硬核来袭 | 第三站

导读&#xff1a;2023 年 9 月 24 日下午&#xff0c;我们将在深圳举行 LLUG 2023 深圳场。本文转自 Linux 中国&#xff0c;以下为本次活动介绍。本文字数&#xff1a;1629&#xff0c;阅读时长大约&#xff1a;2分钟 经历过 6 月北京场、7 月上海场&#xff0c;一个月的休整…

关于物联网技术的水电厂电气开关柜测温系统设计应用

摘要&#xff1a;针对洪江水电厂电气开关柜温度无法在线监测的问题,本文提出了一种基于物联网技术的水电厂开关柜温度测量系统。该系统部署简单高效&#xff0c;能快速采集设备温度数据&#xff0c;通过4G或者WiFi无线信号将数据送入物联网云平台&#xff0c;实现开关柜温度远程…

常见的项目进度管理失败的原因及应对建议

在项目管理中&#xff0c;进度管理是核心环节之一。然而&#xff0c;许多项目经理在实施过程中面临失败的困境。为了改善这一状况&#xff0c;本文将分析我们常见三种的进度管理失败的原因&#xff0c;并分享一些有效的提升效率的方法。希望对大家有所帮助。 进度管理失败的原…

ReclerView的多种条目布局

一、效果图 模仿QQ看点的布局&#xff1a; 二、代码 MoreTypeAdapter &#xff1a; package com.example.qq.ThirdFragment.Adapter;import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import an…

[杂谈]-十六进制数

十六进制数 文章目录 十六进制数1、概述2、十六进制数字3、以十六进制计数4、二进制数补零5、十六进制到十进制转换6、十进制到十六进制转换7、二进制到十六进制转换示例8、十六进制转二进制和十进制示例9、总结 1、概述 十六进制 数字是一种以16为基数的计数系统&#xff0c;…

pcl--第八节 点云配准数学原理

学习目的&#xff1a; 能够大致看懂技术算法的论文&#xff08;理论理解能力&#xff09;能够将论文和代码对应起来&#xff08;代码追踪能力&#xff09;知道常见算法函数的代码实现方式&#xff08;算法实现能力&#xff09; 注意&#xff01;不要求能够推导、证明算法论文…

导航菜单布局

制作包含logo、菜单、按钮的3分离布局菜单 完成效果 准备html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

Multisim14.0仿真(二十)74LS161 4位同步二进制加法计数器

一、仿真原理图&#xff1a; 二、仿真效果图&#xff1a;