Dollar Days POJ 3181 完全背包+高精度
来源:互联网 发布:香港手机网络运营商 编辑:程序博客网 时间:2024/05/17 09:30
这个和之前的Sumsets差不多,都是完全背包的模板题
但是这个我们要注意的是数的范围比较大,已经超了long long 了,我们需要用到高精度
参考http://www.cnblogs.com/kuangbin/archive/2012/09/20/2695165.html
模拟高精度加法
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const int maxn = 1005;long long dp[maxn][100];void ADD(int n,int m){ for(int i=0;i<=60;i++) { dp[n][i]+=dp[m][i]; if(dp[n][i]>=10) { dp[n][i]=dp[n][i]%10; dp[n][i+1]++; } }}int main(){ int n,k; scanf("%d %d",&n,&k); dp[0][0]=1; for(int i=1;i<=k;i++) { dp[0][0]=1; for(int j=i;j<=n;j++) ADD(j,j-i); } int t=60; while(t>0&&dp[n][t]==0) t--; for(int i=t;i>=0;i--) printf("%d",dp[n][i]); printf("\n"); return 0;}
或者用两个long long 来实现
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const int maxn = 1005;long long a[maxn];long long b[maxn];const long long inf=1e18;int main(){ int n,k; scanf("%d %d",&n,&k); b[0]=1; for(int i=1;i<=k;i++) { for(int j=i;j<=n;j++) { a[j]=a[j]+a[j-i]+(b[j]+b[j-i])/inf; b[j]=(b[j]+b[j-i])%inf; } } if(a[n]==0) printf("%I64d\n",b[n]); else printf("%I64d%018I64d\n",a[n],b[n]); return 0;}
这里的a表示高位,b表示低位,当a不为0,b又没有到18位的时候记得要补0
0 0
- Dollar Days POJ 3181 完全背包+高精度
- poj 3181 Dollar Dayz 高精度+完全背包
- POJ 3181 Dollar Dayz(高精度完全背包)
- POJ 3181 Dollar Dayz 完全背包 + 高精度
- poj 3181 Dollar Dayz (完全背包+高精度)
- POJ 3181 - Dollar Dayz(完全背包+高精度)
- POJ 3181 Dollar Dayz(完全背包+简单高精度加法)
- Dollar Dayz POJ - 3181 dp,完全背包,简单高精度加法
- POJ--3181--Dollar Dayz--背包/高精度
- poj 3181 Dollar Dayz 钱币兑换问题 大数/高精度 完全背包
- POJ 3181 Dollar Dayz (完全背包)
- poj 3181 Dollar Dayz dp 完全背包
- poj 3181 Dollar Dayz(完全背包)
- POJ 3181 Dollar Dayz(完全背包+大数)
- poj 3181 Dollar Dayz(完全背包)
- poj Dollar Dayz(完全背包)
- POJ3181-Dollar Dayz-完全背包+高精度
- POJ 3181 Dollar Dayz 01完全背包问题
- javaSE_8系列博客——Java语言的特性(三)--类和对象(12)--类成员的访问控制
- TCP/IP五层模型的协议
- EasyUI的accordion(手风琴)折叠面板
- eventbus基本使用
- java中的String...args是什么意思
- Dollar Days POJ 3181 完全背包+高精度
- linux下多线程的创建与等待详解
- Goblog--Arrays,slices(and strings):The mechanics of 'append'
- ext2文件系统
- Android Litepal数据库操作
- python爬虫之异步IO
- mybatis的select_resultMap_discriminator鉴别器
- python(2):使用python分析大日志文件思路及过程
- React-classnames库