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

2787. 将一个数字表示成幂的和的方案数

Problem: 2787. 将一个数字表示成幂的和的方案数

文章目录

  • 思路
  • 解题过程
  • 复杂度
  • Code

思路

动态规划01背包

解题过程

  1. dp[j]表示“从已经处理过的数里,凑出和为 j 的方案数”。
  2. 遍历数字i的时候,从j = n倒着更新到val(val = i^x)dp[j] = (dp[j] + dp[j - val]) % mod

复杂度

  • 时间复杂度: O(nnx)O(n\sqrt[x]{n})O(nxn)
  • 空间复杂度: O(n)O(n)O(n)

Code

class Solution {
public:int numberOfWays(int n, int x) {const long long MOD = 1e9 + 7;vector<long long> dp(n + 1);dp[0] = 1;for (int i = 1; i <= n; i++) {long long val = pow(i, x);if (val > n) {break;}for (int j = n; j >= val; j--) {dp[j] = (dp[j] + dp[j - val]) % MOD;}}return dp[n];}
};
http://www.dtcms.com/a/327912.html

相关文章:

  • 三维工厂设计软件 AutoCAD Plant 3D 安装图文教程
  • 3DTiles转OSGB格式逆向转换方法研究
  • 国产3D大型装配设计新突破②:装配约束智能推断 | 中望3D 2026
  • Go之封装Http请求和日志
  • 【新启航】飞机起落架减震筒的深孔测量方法探究 - 激光频率梳 3D 轮廓检测
  • 简单认识CSRF
  • 常见认证信息的传递方式
  • 深入理解数据库架构:从原理到实践的完整指南
  • 【QT】QT6下载安装
  • @(AJAX)
  • JS 模块化与打包工具
  • 基于Hadoop的农产品价格数据分析与可视化【Springboot】
  • 【已解决】win10为什么git无法弹出用户登录框呢?
  • 家政小程序系统开发:推动家政行业数字化转型,共创美好未来
  • unity shader ——屏幕故障
  • hashmap如何解决碰撞
  • Pytorch编译
  • 1.Ansible 自动化介绍
  • 网站测评-利用缓存机制实现XSS的分步测试方法
  • 设置默认的pip下载清华源(国内镜像源)和pip使用清华源
  • SQL tutorials
  • 鸿蒙下载图片保存到相册,截取某个组件保存到相册
  • 农业园区气象站在高标准农田的用处
  • 行业热点丨智能仿真时代:电子工程多物理场解决方案创新实践
  • USLR:一款用于脑MRI无偏倚平滑纵向配准的开源工具|文献速递-医学影像算法文献分享
  • 体育数据api接口,足球api篮球api电竞api,比赛赛事数据api
  • vmware虚拟机Ubuntu系统奔溃修复
  • 西安国际数字科创产业园:政策赋能筑长安数字产业集群
  • Linux学习-软件编程(标准IO)
  • 【ROS2】ROS2 基础学习教程 以lerobot-so100为例