当前位置: 首页 > article >正文

P1832 A+B Problem(再升级)

记录110#includebits/stdc.h using namespace std; long long dp[1010];//注意longlong bool f(int x){//判断素数 if(x2) return false; for(int i2;i*ix;i){ if(x%i0) return false; } return true; } int main(){//完全背包 int n; cinn; dp[0]1;//dp起点 for(int i2;in;i){//遍历数字 if(f(i)){//判断素数i for(int ji;jn;j) dp[j]dp[j-i];//用素数i来组成数字j } } coutdp[n];//输出 return 0;//结束程序 }题目传送门https://www.luogu.com.cn/problem/P1832突破口给定一个正整数 n求将其分解成若干个素数之和的方案总数。 一、题目核心理解 问题描述给定一个正整数n求将 n 表示为若干个素数之和的方案总数。✅ 注意顺序不同视为同一种方案例如25和52算一种允许重复使用同一个素数如223是合法的每个加数必须是素数这实际上是一个“用素数作为物品组成总和为 n 的方案数”的问题。 样例解析输入 #1n 7合法分解不考虑顺序72 52 2 3共 3 种 → 输出3✅输入 #2n 20→ 输出26无需手动验证 二、解题思路完全背包计数模型关键观察素数可以重复使用如两个 2方案不考虑顺序即组合而非排列这正是完全背包的“组合类计数”问题 对比如果考虑顺序如25和52不同则是“排列型”需外层遍历容量本题要求无序组合→ 应外层遍历物品素数内层遍历容量动态规划设计dp[j]表示组成数字 j 的方案总数初始化dp[0] 1空和1 种方案对每个素数p从小到大枚举对j p to ndp[j] dp[j - p]✅ 这样能保证每种组合只按素数递增顺序生成一次避免重复计数分析代码#includebits/stdc.h using namespace std; long long dp[1010]; // dp[j]组成 j 的方案数注意可能很大用 long longn ≤ 1000但方案数可能指数级增长如 n1000 时方案数极大所以用long long防止溢出题目未说取模需存大数bool f(int x){ // 判断 x 是否为素数 if(x 2) return false; for(int i 2; i * i x; i){ if(x % i 0) return false; } return true; }标准的素数判断函数x 2→ 非素数试除到√x即可int main(){ int n; cin n; dp[0] 1; // 基础情况和为 0 有 1 种方案什么都不选for(int i 2; i n; i){ // 枚举所有可能的“物品”2 到 n if(f(i)){ // 如果 i 是素数 for(int j i; j n; j) dp[j] dp[j - i]; // 完全背包用素数 i 更新 dp[j] } } 核心逻辑说明外层循环遍历所有可能的素数i从 2 到 n内层循环j i to n正序正序是完全背包的标志允许重复使用dp[j] dp[j - i]表示在已有方案基础上加入一个i✅ 为什么这样不会重复计数因为我们按素数从小到大依次加入所有方案都以“非递减素数序列”形式生成例如223会被生成但322不会因为 3 在 2 之后才被考虑cout dp[n]; // 输出组成 n 的方案总数 return 0; }⚠️ 关键细节说明细节说明dp[0] 1组合计数问题的标准起点素数判断范围只需判断2..n因为大于 n 的素数不可能用于组成 n内层正序完全背包特征允许多次使用同一素数外层素数顺序保证组合无序避免25和52被重复计算数据类型用long long防止方案数溢出n1000 时方案数可达数百万甚至更多 补充为什么这是“完全背包”背包类型物品使用次数内层循环方向0-1 背包每件最多1次倒序完全背包每件无限次正序本题中每个素数可用任意多次如多个 2所以是完全背包。总结问题与解法对应题目要求DP 设计分解为素数之和物品 所有 ≤n 的素数允许重复完全背包不考虑顺序外层遍历素数从小到大求方案总数dp[j] dp[j - p]初始化dp[0]1

相关文章:

P1832 A+B Problem(再升级)

记录110 #include<bits/stdc.h> using namespace std; long long dp[1010];//注意longlong bool f(int x){//判断素数 if(x<2) return false;for(int i2;i*i<x;i){if(x%i0) return false;}return true; } int main(){//完全背包 int n; cin>>n;dp[0]1;//d…...

终极指南:5分钟学会用KMS_VL_ALL_AIO一键永久激活Windows和Office

终极指南&#xff1a;5分钟学会用KMS_VL_ALL_AIO一键永久激活Windows和Office 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活弹窗烦恼吗&#xff1f;Office软件突然变成只…...

帝国CMS入门操作指南:4步跑通后台搭站流程

第一次进帝国CMS后台&#xff0c;很多人不是“不会点”&#xff0c;而是被菜单数量劝退&#xff1a;入口这么多&#xff0c;到底先做什么才算真正上手&#xff1f;我更建议你先别追求把每个功能都研究透&#xff0c;而是用一条主线把流程跑通——帝国CMS后台登录 → 栏目创建 →…...

ATLAS:AI驱动的遗留代码现代化重构实战指南

1. 项目概述&#xff1a;当AI成为你的代码重构搭档 如果你和我一样&#xff0c;在职业生涯中接手过不少“祖传”代码库&#xff0c;那你一定对那种面对成堆过时技术栈时的无力感深有体会。从VB6到.NET&#xff0c;从Python 2到Python 3&#xff0c;甚至是从jQuery到现代前端框架…...

微软开源RD-Agent:运维监控的深度诊断利器与实战配置指南

1. 项目概述&#xff1a;一个被低估的微软开源运维利器如果你在运维或者DevOps领域摸爬滚打过几年&#xff0c;肯定对“监控”和“诊断”这两个词又爱又恨。爱的是&#xff0c;它们是我们保障系统稳定性的眼睛和耳朵&#xff1b;恨的是&#xff0c;搭建一套好用的工具链&#x…...

老妈浅表性胃炎、HP阳性,四联竟致脱水住院!慢性腹泻缠身难清幽,幸好遇见阿泰宁终获新生

家有老人最怕的就是他们身体不舒服硬扛&#xff0c;担心影响子女工作生活就瞒着子女&#xff0c;等发现时小毛病拖成大麻烦&#xff0c;看着他们遭罪&#xff0c;自己心里又疼又急&#xff0c;那种无力感真的能压得人喘不过气。今年年初&#xff0c;老妈频繁胃痛&#xff0c;吃…...

基于Browser-Use的AI智能体网页自动化:从原理到实战部署指南

1. 项目概述&#xff1a;一个能“看见”和“操作”网页的AI智能体平台如果你正在寻找一个能让AI像真人一样操作浏览器的工具&#xff0c;那么你找对地方了。Browser-Use Web UI 正是这样一个项目&#xff0c;它基于强大的browser-use库构建&#xff0c;提供了一个直观的图形界面…...

终极指南:如何在Windows上直接安装Android应用而不使用模拟器

终极指南&#xff1a;如何在Windows上直接安装Android应用而不使用模拟器 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了笨重缓慢的Android模拟器&#x…...

未来预测:AI Agent Harness Engineering 将如何取代传统的 SaaS 菜单交互模式?

未来预测:AI Agent Harness Engineering 将如何取代传统的 SaaS 菜单交互模式? 1. 引入:你是否已经受够了SaaS的「菜单迷宫」? 相信每一个职场人都有过类似的崩溃经历:你想在公司的CRM系统里导出上周华东区域的To B新客成交数据,给销售团队做绩效排名,还要把排名倒数3名…...

基于开源LLM的生物医学智能体:从RAG到专业问答系统构建

1. 项目概述&#xff1a;当AI遇上生物医学文献如果你是一名生物信息学研究员、药物研发工程师&#xff0c;或者正在攻读生命科学相关学位的研究生&#xff0c;那么你肯定对PubMed、bioRxiv这类数据库又爱又恨。爱的是它们海量的前沿知识&#xff0c;恨的是每天面对动辄数百篇新…...

家庭主妇也能当数学家吗?

家庭主妇也能当数学家吗&#xff1f; 1975 年&#xff0c;《科学美国人》上刊登了一道关于五边形密铺的谜题&#xff1a;哪种形状的五边形可以无缝隙地铺满整个平面&#xff1f; 当时数学界已知的可密铺五边形有 8 种。而一位居住在美国加州、只有高中学历的家庭主妇——Marjor…...

视觉AI终于“开窍“了!谷歌扔了20年的钥匙,何恺明联手引爆Transformer革命

4月25日讯 科技圈今日迎来重大突破——谷歌DeepMind联合何恺明、谢赛宁、Jonathan T. Barron等全球顶尖学者&#xff0c;正式发布视觉AI领域的颠覆性成果"Vision Banana"。这一成果被业界称为计算机视觉的"哥白尼革命"。过去二十年&#xff0c;计算机视觉领…...

力扣994.腐烂的橘子

第一次&#xff0c;广度优先算法遍历图&#xff0c;用了两个队列&#xff0c;100%&#xff0c;17.50%class Solution { public://广度优先遍历int dp[4][2] {{0,1},{0,-1},{1,0},{-1,0}};int orangesRotting(vector<vector<int>>& grid) {int count 0;queue&…...

STM32F103/407的UID到底怎么读?一份代码兼容F1/F4系列芯片的避坑指南

STM32F1/F4系列芯片UID读取全攻略&#xff1a;跨平台兼容代码与实战避坑指南 当你需要在多个STM32开发板上部署同一套代码时&#xff0c;最头疼的问题之一就是不同系列芯片的UID地址差异。上周我就遇到了这样的场景&#xff1a;一个原本在STM32F103上运行良好的设备识别系统&am…...

IgH EtherCAT 从入门到精通:第 22 章 SII 与从站信息管理

第 22 章 SII 与从站信息管理 导读摘要:SII(Slave Information Interface)是存储在从站 EEPROM 中的关键数据,包含设备标识、Sync Manager 配置、PDO 信息等。IgH Master 在总线扫描时自动读取 SII,并据此初始化从站。本章将讲解 SII 的数据格式、FSM 读写流程和 CRC 校验…...

从直线斜率到曲线切线的微积分解析

1. 从直线斜率到曲线切线的直观理解微积分中最迷人的概念之一&#xff0c;就是如何将直线的斜率概念延伸到曲线上。想象你正在山间徒步&#xff1a;走直线道路时&#xff0c;坡度始终不变&#xff1b;而沿着蜿蜒的山路行进时&#xff0c;每走一步面临的坡度都在变化。这正是直线…...

从电赛C题到毕业设计:如何用MSP432P401R和逐飞模块复现一辆智能跟随小车(附完整代码)

智能跟随小车实战指南&#xff1a;基于MSP432P401R的竞赛级解决方案 第一次接触电子设计竞赛的智能车项目时&#xff0c;我被那些在赛道上灵活穿梭的小车深深吸引。作为电子工程专业的学生&#xff0c;能够亲手打造一辆能自主跟随的智能小车&#xff0c;不仅是对专业知识的综合…...

Python怎么计算NumPy数组的切比雪夫距离_使用abs与max求解

<p>切比雪夫距离可手动用np.max(np.abs(a - b))计算&#xff1a;先逐元素相减&#xff0c;再取绝对值&#xff0c;最后取最大值&#xff1b;需确保数组形状兼容广播&#xff0c;批量计算需手动升维或循环。</p>怎么用 np.max 和 np.abs 手动算切比雪夫距离切比雪夫…...

AI驱动的资源聚合平台:从数据采集到智能分类的工程实践

1. 项目概述&#xff1a;一个AI驱动的聚合资源库在AI技术日新月异的今天&#xff0c;无论是研究者、开发者还是技术爱好者&#xff0c;都面临着一个共同的挑战&#xff1a;信息过载。每天都有新的模型、工具、框架和论文涌现&#xff0c;如何高效地发现、筛选和整合这些优质资源…...

VSCode多智能体协作开发:5个被90%开发者忽略的关键配置技巧

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode多智能体协作开发的核心概念与价值 什么是VSCode多智能体协作开发 VSCode多智能体协作开发是指在Visual Studio Code环境中&#xff0c;通过插件化架构集成多个具备特定能力的AI代理&#xff08…...

实战指南:用wxauto打造你的专属微信自动化助手

实战指南&#xff1a;用wxauto打造你的专属微信自动化助手 【免费下载链接】wxauto Windows版本微信客户端&#xff08;非网页版&#xff09;自动化&#xff0c;可实现简单的发送、接收微信消息&#xff0c;简单微信机器人 项目地址: https://gitcode.com/gh_mirrors/wx/wxau…...

数字孪生“大脑”:物理仿真引擎核心技术全景解析

数字孪生“大脑”&#xff1a;物理仿真引擎核心技术全景解析 引言 在数字孪生构建的虚拟世界中&#xff0c;物理仿真引擎扮演着至关重要的“物理规则制定者”与“世界模拟器”角色。它不仅是连接虚拟与现实的技术桥梁&#xff0c;更是驱动自动驾驶、工业优化、智慧城市等前沿应…...

VSCode日志分析进入智能时代(2026正式版首发解读):LLM辅助日志聚类+异常模式自学习实录

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode日志分析进入智能时代&#xff08;2026正式版首发解读&#xff09; VSCode 2026 正式版首次集成原生 Log Intelligence Engine&#xff08;LIE&#xff09;&#xff0c;将日志分析从“人工翻查”…...

【紧急预警】VSCode 2026默认配置正悄悄吞噬你62%可用内存!3步强制启用ZRAM压缩引擎(附patch脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode 2026内存占用异常的根源确认与影响评估 VSCode 2026&#xff08;代号“Nebula”&#xff09;引入了基于 WebAssembly 的扩展沙箱与实时语义索引服务&#xff0c;显著提升了大型代码库的智能感知…...

NumPy数组操作在机器学习中的高效应用

1. NumPy数组操作在机器学习中的核心价值在机器学习的实际开发中&#xff0c;数据处理环节往往占据70%以上的工作量。作为Python科学计算的基础库&#xff0c;NumPy的多维数组对象ndarray提供了高效的数据存储和操作能力。特别是在处理图像、文本序列、传感器数据等结构化信息时…...

为什么Python开发者需要ezdxf?从零开始掌握DXF文件处理的终极指南

为什么Python开发者需要ezdxf&#xff1f;从零开始掌握DXF文件处理的终极指南 【免费下载链接】ezdxf Python interface to DXF 项目地址: https://gitcode.com/gh_mirrors/ez/ezdxf 你是否曾为处理AutoCAD的DXF文件而头疼&#xff1f;无论是需要批量修改图纸、提取数据…...

【数据集】中国31个省农村用电量-含dta及xlsx(1978-2024年)

数据简介&#xff1a;农村用电量是一个动态变化的数据&#xff0c;受到多种因素的影响&#xff0c;包括农村经济发展、人口增长、农业生产活动增加以及电力设备的升级改造等。随着农村经济的发展和农民生活水平的提高&#xff0c;农村用电量呈现出逐年增长的趋势。同时&#xf…...

FAPROTAX 1.2.10数据库升级:微生物功能预测如何实现从“猜“到“知“的跨越?

FAPROTAX 1.2.10数据库升级&#xff1a;微生物功能预测如何实现从"猜"到"知"的跨越&#xff1f; 【免费下载链接】microeco An R package for downstream data analysis of microbiome omics data 项目地址: https://gitcode.com/gh_mirrors/mi/microeco…...

为什么你的MCU跑不动TinyLlama?立即自查这8个C语言隐式类型转换漏洞——基于Clang Static Analyzer扫描出的217处高危告警真实案例

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;嵌入式C语言与轻量级大模型适配的底层矛盾本质 嵌入式C语言以确定性、低开销和硬件直控为核心设计哲学&#xff0c;而轻量级大模型&#xff08;如TinyLLM、MicroLlama&#xff09;依赖动态内存分配、浮…...

VSCode 2026农业插件上线首周即被农业农村部数字乡村试点县批量部署(附12个县域落地配置清单与安全审计日志样本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode 2026农业数据可视化插件概览 VSCode 2026 农业数据可视化插件&#xff08;AgriViz Extension v3.2&#xff09;是专为精准农业开发者与农科研究人员设计的轻量级扩展&#xff0c;支持在本地编辑…...