ural 1012. K-based Numbers. Version 2
来源:互联网 发布:圣剑神域全套完整源码 编辑:程序博客网 时间:2024/06/06 01:25
题意:问K进制的N位数中没有连续的0的数的个数。 2 ≤ K ≤ 10; N ≥ 2; N + K ≤ 180.
分析:和1009方法一样,但要用高精度计算加,乘。
Code:
#include <algorithm>#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <vector>#include <queue>#include <cmath>#include <map>#include <set>#define LL long long#define pb push_back#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)<(b)?(a):(b))using namespace std;const int inf=0x3f3f3f3f;const int maxn=55;int f[200][2][222];int n,k;void add(int a[],int b[],int c[]){ for(int i=1;i<=210;i++){ c[i]+=a[i]+b[i]; c[i+1]+=c[i]/10; c[i]%=10; }}void mult(int a[],int x){ for(int i=1;i<=210;i++){ a[i]*=x; a[i]+=(a[i-1]/10); a[i-1]%=10; }}int main(){ scanf("%d %d",&n,&k); memset(f,0,sizeof(f)); f[1][0][1]=0; f[1][1][1]=k-1; for(int i=2;i<=n;i++){ for(int j=1;j<=210;j++) f[i][0][j]=f[i-1][1][j]; add(f[i-1][0],f[i-1][1],f[i][1]); mult(f[i][1],k-1); } for(int i=1;i<=210;i++){ f[n+1][0][i]+=f[n][0][i]+f[n][1][i]; f[n+1][0][i+1]=f[n+1][0][i]/10; f[n+1][0][i]%=10; } int id=210; while(!f[n+1][0][id]) id--; for(int i=id;i>=1;i--) printf("%d",f[n+1][0][i]); printf("\n"); return 0;}
- URAL 1012. K-based Numbers. Version 2
- ural 1012. K-based Numbers. Version 2
- Ural 1012. K-based Numbers. Version 2
- Ural 1012. K-based Numbers. Version 2 &&1013. K-based Numbers. Version 3 DP+高精度
- ural 1009. K-based Numbers 1012. K-based Numbers. Version 2 1012. K-based Numbers. Version 3
- ural 1012 K-based Numbers. Version 2
- ural 1012. K-based Numbers. Version 2(大数dp)
- URAL 1012K-based Numbers. Version 2 dp+大数
- URAL 1013. K-based Numbers. Version 3
- URAL 1013. K-based Numbers. Version 3
- ural 1013 K-based Numbers. Version 3
- ural 1013 K-based Numbers. Version 3
- URAL 1013 K-based Numbers. Version 3
- ural 1013. K-based Numbers. Version 3
- K-based Numbers. Version 2
- K-based Numbers. Version 2
- ural 1013 K-based Numbers. Version 3(升级版)
- URAL 1009. K-based Numbers
- 解决sdk更新失败
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- python基础教程学习(一)
- 今天在对微信公众帐号时,发现不知道如何在回复的文本信息里加上链接呢,有哪个高人知道的呢?
- Hibernate中get和load方法的区别
- ural 1012. K-based Numbers. Version 2
- 用电视盒看电视经常黑屏
- Round #1 B. Spreadsheets
- disable_irq 和 disable_irq_nosync
- 归并排序(JAVA版)
- hdu 2089 不要62(数位dp入门)
- ORACLE alter system 命令 scope解释
- tomcat链接mysql时超时报错java.io.EOFException: Can not read response from server. Expected to read 4 bytes,
- windows通过vnc连接linux