题目链接

题意 :与1009一样,不过这个题的数据范围变大。

思路:因为数据范围变大,所以要用大数模拟,用java也行,大数模拟也没什么不过变成二维再做就行了呗。当然也可以先把所有的都进行打表,不过要用三维了就 。

 1 //URAL 1012
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <iostream>
 5
 6 using namespace std ;
 7
 8 int a[185];
 9 int dp[185][201] ;
10
11 int main()
12 {
13     int n, k ;
14     scanf("%d%d",&n,&k) ;
15     memset(dp,0,sizeof(dp)) ;
16     dp[1][200] = k-1 ;
17     dp[2][200] = k*(k-1) ;
18     for(int i = 3 ; i <= n ; i++)
19     {
20         memset(a,0,sizeof(a)) ;
21         for(int j = 200 ; j >= 0 ; j--)
22             a[j] = dp[i-1][j]+dp[i-2][j] ;
23         for(int j = 200 ; j >= 0 ; j--)
24         {
25             if(a[j] > 9)
26             {
27                 a[j-1] += a[j]/10 ;
28                 a[j] = a[j]%10 ;
29             }
30         }
31         for(int j = 200 ; j >= 0 ; j--)
32             dp[i][j] = a[j]*(k-1) ;
33         for(int j = 200 ; j >= 0 ; j--)
34         {
35             if(dp[i][j] > 9)
36             {
37                 dp[i][j-1] += dp[i][j]/10 ;
38                 dp[i][j] %= 10 ;
39             }
40         }
41     }
42     int i = 0 ;
43     while(dp[n][i] == 0) i++ ;
44     for( ; i <= 200 ; i++)
45         printf("%d",dp[n][i]) ;
46     printf("\n") ;
47     return 0 ;
48
49 }

View Code

转载于:https://www.cnblogs.com/luyingfeng/p/3664046.html

URAL 1012 K-based Numbers. Version 2(DP+高精度)相关推荐

  1. ural 1012K-based Numbers. Version 2 1013. K-based Numbers. Version 3

    1013. K-based Numbers. Version 3 Time Limit: 2.0 second Memory Limit: 64 MB Let's consider K-based n ...

  2. poj 1205 :Water Treatment Plants (DP+高精度)

    题意:有n个城市,它们由一个污水处理系统连接着,每个城市可以选择 1.将左边城市过来的污水和右边城市过来的污水连同本身的污水排到河里  >V< 2.将左边来的污水连同自己的污水排到右边   ...

  3. URAL 1013 K-based Numbers. Version 3

    URAL_1013 和URAL_1009的思路是一样的,只不过需要高精度,所以就直接用java写了.具体的一些思路可以参考我的URAL_1009的题解:http://www.cnblogs.com/s ...

  4. Codeforces 1077F2 Pictures with Kittens (hard version)(DP+单调队列优化)

    题目链接:Pictures with Kittens (hard version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:数据量5000, ...

  5. codeforces215 E. Periodical Numbers(数位dp)

    E. Periodical Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  6. F - Tmutarakan Exams URAL - 1091 -莫比乌斯函数-容斥 or DP计数

    F - Tmutarakan Exams 题意 : 从 < = S 的 数 中 选 出 K 个 不 同 的 数 并 且 gcd > 1 .求方案数.   思路 :记 录 一 下 每 个 数 ...

  7. Codeforces Round #617 (Div. 3) E2. String Coloring (hard version) 思维 + dp + Dilworth定理

    传送门 文章目录 题意: 思路: 题意: 让你给一个串染色,不同颜色且相邻的一对字符可以互换位置,用最少的颜色,使交换后这个字符串字典序最小. 思路: 考虑将字符串分成若干个非递减的子序列,由于其非递 ...

  8. 【2018.4.7】模拟赛之一-ssl2382 K好数【数位dp】

    正题 大意 如果一个数每一位都小于k那么这个数是好数.给出n和k,求1-n里有多少个好数. 解题思路1 将起改为一个k+1进制的数,那么每次加1后这个数都是好数.然后判断一下是否大于n(十进制的情况下 ...

  9. The 2018 ACM-ICPC上海大都会赛 J Beautiful Numbers (数位DP)

    题意:求小于等于N且能被自己所有位上数之和整除的数的个数. 分析:裸的数位dp.用一个三位数组dp[i][j][k]记录:第i位,之前数位之和为j,对某个mod余数为k的状态下满足条件的个数.这里mo ...

  10. 【蓝桥杯官网试题 - 算法训练 】K好数(线性dp与优化)

    题干: 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.2 ...

最新文章

  1. python给一列数据增加前缀_python自制工具----给文件添加前后缀。
  2. VTK:Procrustes 对齐过滤器用法实战
  3. enableEventValidation错误原因分析以及解决办法
  4. 删除顺序表中重复元素,并按照原序输出
  5. android——根据MVC框架设计的结构
  6. cocos2dx之Http网络编程(一)——网络请求的发送和接收
  7. Dalvik和Java运行环境的区别
  8. 《HelloGitHub》第 73 期
  9. pdms二次开发入门 c#语言
  10. 算法设计与分析基础(第3版)
  11. Win7 旗舰版 SP1环境下安装ArcGIS Pro 2.5
  12. 漫威超级英雄大全(一)
  13. 域名解析邮箱服务器地址,邮件域名设置解析
  14. dB、dBm、dBw、dBi……到底有啥区别?
  15. 【xla】五.1、XlaCache命中规则
  16. JVM知识点精华汇总 侵立删
  17. ThinkPad 声卡出现未安装任何音频输出设备
  18. php对接腾讯云直播,聊天,im,云录制产生回放
  19. 重量级锁和轻量级锁(自旋锁)
  20. Perl代码混淆解决

热门文章

  1. 其实我的直觉告诉了我的未来
  2. QSqlQueryModel结合QTreeView遇到的查询结果不显示的问题
  3. android文件操作和SDCard卡操作
  4. 20、C++ Primer 4th 笔记,重载运算符(1)
  5. S32K116使用记录
  6. PHP代码中解决出现中文乱码的问题
  7. Socket 学习(三).5 UDP 的弱点
  8. ARPG游戏打击感相关的技术简单总结
  9. 虚继承 - C++快速入门29
  10. 常用排序算法之插入排序 ( 直接插入排序、希尔排序 )