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

洛谷——P1679 神奇的四次方数

P1679 神奇的四次方数

题目描述

在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知同学了。在班级里负责联络网的是dm同学,于是v神便找到了dm同学,可dm同学正在忙于研究一道有趣的数学题,为了请dm出山,v神只好请你帮忙解决这道题了。

题目描述:将一个整数m分解为n个四次方数的和的形式,要求n最小。例如,m=706,706=5^4+3^4,则n=2。

输入输出格式

输入格式:

 

一行,一个整数m。

 

输出格式:

 

一行,一个整数n。

 

输入输出样例

输入样例#1:  复制
706
输出样例#1:  复制
2

说明

数据范围:对于30%的数据,m<=5000;对于100%的数据,m<=100,000

 

搜索??似乎不大可行、、、(因为连样例都跑不出来、、、(ORZ))

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,ans=99999;
int read()
{
    int x=0,f=1; char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
    return x*f;
}
void dfs(int tot,int s)
{
    if(s==n) 
    {
        ans=min(ans,tot);
        return ;
    }
    for(int i=20;i>=1;i--)
     if(s+pow(i,4)<=n)
      dfs(tot+1,s+pow(i,4)); 
}
int main()
{
    n=read();
    dfs(0,0);
    printf("%d",ans);
    return 0;
}
ZZ搜索


完全背包

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 101000
using namespace std;
int n,m,f[N],w[20];
int read()
{
    int x=0,f=1; char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
    return x*f;
}
int main()
{
    memset(f,127,sizeof(f));
    m=read(),n=18,f[0]=0;
    for(int i=1;i<=n;i++)
     w[i]=i*i*i*i;
    for(int i=1;i<=n;i++)
     for(int j=w[i];j<=m;j++)
      if(f[j]>f[j-w[i]]+1)
       f[j]=f[j-w[i]]+1;
    printf("%d",f[m]);
    return 0;
}

 

转载于:https://www.cnblogs.com/z360/p/7860521.html

相关文章:

  • 怎样解决spoolsv.exe应用程序错误
  • 【TUP第11期】豆瓣网解彦博:好钢用在刀刃上
  • halcon算子翻译——dev_unmap_prog
  • Windows 8:HTML5和JavaScript只是一种选择
  • 关于virtualbox配置centos7的网络问题
  • 极速理解设计模式系列:8.策略模式(Strategy Pattern)
  • Deploy Office Communications Server 2007R2 Group Chat Server(二)
  • 不怕狼一样的敌人,就怕狗一样的朋友
  • Powershell管理系列(九)删除Exchange用户邮箱中多余的电子邮件地址
  • 微距镜头
  • 《Visual Studio Hacks 》(五)
  • Android应用程序框架层和系统运行库层日志系统源代码分析
  • 次世代游戏引擎光影制作简述(转)
  • linux查看硬件信息及驱动设备相关整理
  • 烂泥:HTML编辑器中使用img插入图片
  • 【mysql】环境安装、服务启动、密码设置
  • 5、React组件事件详解
  • JS变量作用域
  • MaxCompute访问TableStore(OTS) 数据
  • MD5加密原理解析及OC版原理实现
  • Mocha测试初探
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue-loader 源码解析系列之 selector
  • 分享一份非常强势的Android面试题
  • 简单易用的leetcode开发测试工具(npm)
  • 理清楚Vue的结构
  • 嵌入式文件系统
  • 如何利用MongoDB打造TOP榜小程序
  • 深度学习入门:10门免费线上课程推荐
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • Hibernate主键生成策略及选择
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # Java NIO(一)FileChannel
  • #FPGA(基础知识)
  • #ifdef 的技巧用法
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • ${factoryList }后面有空格不影响
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (04)odoo视图操作
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (十一)c52学习之旅-动态数码管
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)一些感悟
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Core中的去虚