第七章 数学 6 AcWing 1593. 整数分解

news2024/11/15 10:39:04

第七章 数学 6 AcWing 1593. 整数分解

原题链接

AcWing 1593. 整数分解

算法标签

数学 数论 DP 背包问题

思路

类似AcWing 12. 背包问题求具体方案
把n看成背包的容积N
因为n最多不超过400,然而p进制最少为2
所以物品的价值最大可以取到20(因为20^2 = 400)
所以这道题目就被转化成
从前i个物品中取,体积恰好为j,重量恰好为k的取法的方案的最大价值
所以根据闫氏dp分析法我们可以得到状态转移的方程
f[i][j][k] = max(f[i-1][j][k],f[i][j - v[i]][k - w[i]] + value[i]);

详细思路

问题转换

在这里插入图片描述
在这里插入图片描述

方案计算

在这里插入图片描述
状态转移方程
在这里插入图片描述
在这里插入图片描述

方案选择

在这里插入图片描述

时间复杂度

由于n最多不超过400,p进制最少为2,所以物品的价值最大可以取到20(因为20^2 = 400)。
时间复杂度 20 ∗ 400 ∗ 400 = 3200000 < 1 0 7 20*400*400 = 3200000 < 10^7 20400400=3200000<107,所以可以用dp来进行求解

代码

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
#define ump unordered_map
#define ums unordered_set
#define pq priority_queue
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
typedef pair<int, int> PII;
const int N=405, INF=0x3f3f3f3f3f3f3f3f;
const double Exp=1e-8;
//int t, n, m, cnt, ans; 
int n, k, p, f[21][N][N];
inline int rd(){
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
void put(int x) {
    if(x<0) putchar('-'),x=-x;
    if(x>=10) put(x/10);
    putchar(x%10^48);
}
int pw(int a, int b){
    int res=1;
    rep(i, 0, b){
        res*=a;
    }
    return res;
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	n=rd(), k=rd(), p=rd();
	memset(f, -INF, sizeof f);
	f[0][0][0]=0;
	int m;
	for(m=1;;m++){
	    int v=pw(m, p);
	    if(v>n){
	        break;
	    }
	    rep(i, 0, n+1){
	        rep(j, 0, k+1){
	            f[m][i][j]=f[m-1][i][j];
	            if(i>=v&&j){
	                f[m][i][j]=max(f[m][i][j], f[m][i-v][j-1]+m);
	            }
	        }
	    }
	}
	m--;
	if(f[m][n][k]<0){
	    puts("Impossible");
	}else{
	    printf("%lld = ", n);
	    bool is_first=true;
	    while(m){
	        int v=pw(m, p);
	        while(n>=v&&k&&f[m][n-v][k-1]+m==f[m][n][k]){
	            if(is_first){
	                is_first=false;
	            }else{
	                printf(" + ");
	            }
	            printf("%lld^%lld", m, p);
	            n-=v, k--;
	        }
	        m--;
	    }
	}
	return 0;
}

参考文献

AcWing 1593. 整数分解(PAT甲级辅导课)y总视频讲解

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

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

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

相关文章

Python读取CSV文件,数值精度丢失

Excel保存为csv以后&#xff0c;大数值的列&#xff0c;会把转换为科学计数法&#xff0c;而且后边几位都会被转为0. 搞了很多方法,最后直接安装 openpyxl 组件 和 pandas&#xff0c; 读取Excel文件就行了。 data pd.read_excel("C:/work/20221111AI/cleaned_data_noTi…

第二章 计算机算术

数据表示决定了计算机所执行操作的类型&#xff0c;数据从一个位置传到另一个位置的方法&#xff0c; 以及对存储元件的特性要求。浮点运算是非常重要的&#xff0c;因为它的实现决定了计算机执行复杂图形变换和图像处理的速度&#xff0c; 而且浮点运算对计算的准确度也有很重…

高通平台开发系列讲解(mm-camera篇)MM-CAMERA框架

文章目录 一、Camera软件位置1.1、开源代码1.2、专有源码二、摄像头前端(Camera Frontend)2.1、整体框架2.2、 Camera HAL与mm-camera交互沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍高通平台mm-camera代码框架。 一、Camera软件位置 QTI 针对 An…

Flink 状态编程

状态编程有状态算子状态的管理状态的分类按键分区状态&#xff08;Keyed State&#xff09;支持的结构类型代码实现状态生存时间&#xff08;TTL&#xff09;算子状态&#xff08;Operator State&#xff09;基本概念和特点状态类型代码实现广播状态&#xff08;Broadcast Stat…

DFP 数据转发协议应用实例 .与其它厂商 LoRA 设备匹配

DFP 数据转发协议应用实例 5.与其它厂商 LoRA 设备匹配 DFP 是什么&#xff1f; 稳控科技编写的一套数据转发规则&#xff0c; 取自“自由转发协议 FFP&#xff08;Free Forward Protocol&#xff09;” &#xff0c;或者 DFP&#xff08;DoubleF Protocol&#xff09;&#xf…

【优化求解】粒子群算法求解仓库成本控制优化问题【含Matlab源码 1577期】

⛄一、粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在。生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型&#xff0c;在他的仿真中&#xff0c;每一个个体都遵循&#xff1a;避免与邻域个体相撞&#xff1a;匹配邻域个体…

基于JAVA的网上图书商城参考【数据库设计、源码、开题报告】

数据库脚本下载地址&#xff1a; https://download.csdn.net/download/itrjxxs_com/86427643 主要使用技术 Struts2HibernateJSPCSSJSMysql 功能介绍 系统有五类用户&#xff0c;分别是&#xff1a;会员用户&#xff0c;商品管理员&#xff0c;订单管理员&#xff0c;会员管…

【MSSQL】SQL SERVER导入中文乱码问题解决

公司最近承接了一个项目&#xff0c;甲方现使用旧版SiteServer框架&#xff08;以下简称“SiteCMS”&#xff09;作为门户网站&#xff0c;使用的数据源是SQL Server。 现在需要对SiteCMS进行升级&#xff0c;在升级时数据库和数据库结构也需要同时更新&#xff0c;其中数据库…

硬件顶配、数字先行,路特斯重塑「智能座舱」

诚然&#xff0c;在车联网的高度普及、5G技术的铺开以及汽车产业融合的大势下&#xff0c;传统单一驾驶与乘坐功能的汽车座舱正在被颠覆&#xff0c;更高级、更智能的“智能座舱”应运而生。 从行业发展态势来看&#xff0c;大屏多屏已经是智能汽车的基本操作&#xff0c;智能…

【网络安全】——逻辑漏洞之短信轰炸漏洞

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

程序的环境

文章目录[TOC](文章目录)前言一、程序环境分类二、翻译环境1.总体流程2.编译2.1预编译2.2编译2.3汇编3.链接三、运行环境总结前言 我们平时在编译器上编写代码&#xff0c;然后运行代码&#xff0c;最后得到程序的运行结果。这让我们不经好奇&#xff1a;程序在电脑中到底经过…

Java常用设计模式

前言 设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four (GoF)的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途我们又可以分为三大类&#xff0c;分别为创建型模式、结构型模式和行为型模…

物联网漏洞利用整体情况

物联网 威胁分析漏洞篇物联网威胁分析—漏洞篇 引言 本章将从漏洞利用角度对物联网威胁进行分析。首先&#xff0c;我们分析了 NVD和 Exploit-DB中的物联网 年度漏洞及利用 1 变化趋势&#xff1b;之后统计了绿盟威胁捕获系统捕获到的物联网漏洞利用的整体情况&#xff1b;最…

【算法笔记(五)】排序算法

算法笔记(五) 排序算法算法笔记(五)前言一、冒泡排序1.什么是冒泡排序2.实际需求3.代码实现二、选择排序1.什么是选择排序2.需求规则三.插入排序1.了解插入排序2.需求规则3.代码实现四.希尔排序1.什么是希尔排序2.需求规则3.代码实现五.快速排序1.什么是快速排序2.需求规则3.代…

静态代理和动态代理

静态代理和动态代理代理模式代理模式的主要优缺点&#xff1a;优点&#xff1a;缺点&#xff1a;代理模式的编写要点静态代理实现步骤静态代理方式的弊端动态代理:动态代理的实现步骤:代理模式 代理模式的定义&#xff1a;由于某些原因需要给某对象提供一个代理以控制对该对象的…

Javascript 基础知识学习

Javascript 基础知识学习 参考自&#xff1a;https://www.w3cschool.cn/javascript/ javascript 简介 JavaScript 是互联网上最流行的脚本语言&#xff0c;这门语言可用于 HTML 和 web&#xff0c;更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScri…

计算流体力学的基本方法简介(有限差分法、有限元法、有限体积法)

1、有限差分法&#xff1a; 原理&#xff0c;用差商代替微商&#xff1b; 优缺点&#xff1a; 2、有限元方法&#xff1a; 有限元剖分方法&#xff1a; 特点&#xff1a; 3、有限体积法&#xff1a; 两种方式&#xff0c;格心格式和格点格式&#xff1a; 特点&#xff1a;

基于html的美食网站——速水果介绍8页(HTML+CSS+JavaScript) 带论文

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 家精彩专栏推荐 美食网页介绍 | 甜品蛋糕 | 地方美食小吃文化 | 餐饮文化 | 等网站的设计与制作 | 美食主题网站 | HTML期末大学生网页设计作业 HTML&…

SpringCloud全系列知识(1)——初识微服务和注册中心

SpringCloud(微服务)相关笔记 一 基础框架图 1.微服务技术栈 2.技术栈分类 二 认识微服务 1.单体架构 将业务功能集中在一个项目中&#xff0c;打成一个包部署。 优点&#xff1a;架构简单&#xff0c;部署成本低。 缺点&#xff1a;耦合度高 2.分布式架构 根据业务功能…

最具影响力的15颗国外开放数据气象卫星介绍

1.热带降雨测量任务(TRMM) TRMM 是 NASA 和日本宇宙航空研究开发机构 (以前称日本国家空间发展署) 的合作项目&#xff0c;是 NASA 地球科学计划中的航天任务。日本提供运载火箭和测雨雷达&#xff0c;而由 NASA 提供卫星、4台仪器和卫星运行系统。 TRMM 卫星是三轴稳定的&…