洛谷 P1679 神奇的四次方数
题目描述
在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知同学了。在班级里负责联络网的是dm同学,于是v神便找到了dm同学,可dm同学正在忙于研究一道有趣的数学题,为了请dm出山,v神只好请你帮忙解决这道题了。
题目描述:将一个整数m分解为n个四次方数的和的形式,要求n最小。例如,m=706,706=5^4+3^4,则n=2。
输入输出格式
输入格式:
一行,一个整数m。
输出格式:
一行,一个整数n。
输入输出样例
说明
数据范围:对于30%的数据,m<=5000;对于100%的数据,m<=100,000
思路:完全背包。
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,ans,len;
void dfs(int tot,int num,int sum){
if(tot==num){
if(sum==n) ans=tot;
return ;
}
for(int i=;i<=len;i++)
dfs(tot,num+,sum+i*i*i*i);
}
int main(){
scanf("%d",&n);
len=sqrt(sqrt(n))+;
for(int i=;i<=n;i++){
dfs(i,,);
if(ans) break;
}
cout<<ans;
}
50分暴力
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,len;
int f[];
int num[];
int main(){
scanf("%d",&n);
len=ceil(sqrt(sqrt(n))+);
for(int i=;i<=len;i++) num[i]=i*i*i*i;
for(int i=;i<=n;i++) f[i]=0x7f7f7f7f;
for(int i=;i<=len;i++)
for(int j=num[i];j<=n;j++)
f[j]=min(f[j],f[j-num[i]]+);
cout<<f[n];
}
洛谷 P1679 神奇的四次方数的更多相关文章
- 洛谷——P1679 神奇的四次方数
		
P1679 神奇的四次方数 题目描述 在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知同学了.在班级里负责联络网的是dm同学,于是v神便找到了dm同学,可dm同学正在忙于研究一道有趣的数 ...
 - 洛谷P1679神奇的四次方数--DP
		
原题请戳>>https://www.luogu.org/problem/show?pid=1679<< 题目描述 在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知 ...
 - P1679 神奇的四次方数
		
P1679 神奇的四次方数用一些什么东西组成一个什么东西,要求什么东西最优,这时候要考虑背包,不过要分析清楚是什么类型的背包.这题显然是个完全背包. #include<iostream> ...
 - 完全背包---P1679 神奇的四次方数
		
P1679 神奇的四次方数 题解 一看这就是个完全背包 m最多不会超过18^4,所以我们把x^4用数组存起来,然后考虑如何填满m,注意存到18^4,不然会像我一样RE... 那么问题就转化成完全背包问 ...
 - 洛谷 P2615 神奇的幻方
		
传送门 I'm here! 思路 这个题,我们可以直接去模拟,因为范围很小,且\(N\)都是奇数 直接构造一个矩阵,初始值都为\(0\),然后\(while\)循环,根据题目给出的\(4\)个条件进行 ...
 - 【洛谷4587】 [FJOI2016]神秘数(主席树)
		
传送门 BZOJ 然而是权限题 洛谷 Solution 发现题目给出的一些规律,emm,如果我们新凑出来的一个数,那么后面一个数一定是\(sum+1\). 于是就可以主席树随便维护了! 代码实现 #i ...
 - 洛谷 P1045 【麦森数】快速幂
		
不用快速幂,压位出奇迹! 本人是个蒟蒻,不太熟悉快速幂,这里给大家介绍一种压位大法. 让我们来分析一下题目,第一位是送分的,有一个专门求位数的函数:n*log10(2)+1. 然后题目中p<=3 ...
 - [NOIP2015] 提高组 洛谷P2615 神奇的幻方
		
题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...
 - 洛谷——P2615 神奇的幻方 【Noip2015 day1t1】
		
https://www.luogu.org/problem/show?pid=2615 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之 ...
 
随机推荐
- C++ STL:vector
			
不定长数组:vetor 它就像一个二维数组.仅仅是第一维的大小是固定的,可是第二维的大小不固定. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAx ...
 - STL使用————SET&MULTISET
			
SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出后继) 使用基础 #include<se ...
 - linux log日志解析
			
linux log日志解析 其实,可以说成是监控系统的记录,系统一举一动基本会记录下来.这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误 ...
 - spring xml配置文件根元素(文件头文件)说明
			
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
 - 简单STL笔记
			
想了好久,还是把自己了解的先整理一下吧,毕竟老是忘,这里主要简单介绍三种容器 set,queue,vector,以及栈 stack,队列queue 的简单用法.一.set 在set中,效率比vecto ...
 - 运输层协议——UDP
			
UDP概述: UDP只是做了运输层协议能做的最少工作,仅做了复用/分解,少量的差错检验. UDP是无连接的. UDP优点: 关于何时.发送什么数据的应用层控制更为精细:TCP在拥堵时会遏制发送方的发送 ...
 - iOS 平台上常见的安装包有三种,deb、ipa 和 pxl
			
前言:目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl. 其中 deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统 ...
 - hdu 1171 Big Event in HDU(01背包)
			
代码: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; in ...
 - [转]C语言字节对齐问题详解
			
C语言字节对齐问题详解 转载:https://www.cnblogs.com/clover-toeic/p/3853132.html 引言 考虑下面的结构体定义: typedef struct{ ch ...
 - Onvif开发之服务端发现篇
			
服务端的开发相对来说比客户端稍微难一点,也就是给填充相关结构体的时候,需要一点一点的去查阅,验证各个结构中各个成员各自代表什么意思,以及对应的功能需要是那个接口实现,这是开发服务端最头疼的事情.(在开 ...