ural 1012. K-based Numbers. Version 2(大数dp)
2024-09-30 20:55:18
和1009相同,只是n达到了180位,可以模拟大数加和大数乘,这里用的java中的大数。
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
int n = cin.nextInt();
int k = cin.nextInt();
BigInteger[][] dp = new BigInteger[200][2];
dp[1][0] = BigInteger.ZERO;
dp[1][1] = BigInteger.valueOf(k - 1);
for (int i = 2; i <= n; i++) {
dp[i][0] = dp[i - 1][1];
dp[i][1] = dp[i - 1][0].add(dp[i - 1][1]).multiply(
BigInteger.valueOf(k - 1)); } BigInteger ans = dp[n][0].add(dp[n][1]);
System.out.println(ans);
} }
}
最新文章
- 使用POI替换word中的特定字符/文字改进版
- Python入门神图
- JS动态广告浏览
- mif_maker2010.exe下载和使用说明
- 使用UEditor
- 转载八个最佳Python IDE
- Spring 框架系列之事务管理
- memcache图形化管理工具MemAdmin
- gradlew在Travis CI没可执行权限 permission denied
- Kubernetes1.7—DNS安装
- ubuntu16.04 anaconda的安装和卸载
- 洛谷P1039 侦探推理(模拟)
- 微信小程序onLaunch异步,首页onLoad先执行?
- C# 对Excel操作与分析
- 【Java并发编程】6、volatile关键字解析&;内存模型&;并发编程中三概念
- SpringMvc 文件上传注意事项
- 异常 java.net.ConnectException: Connection refused: no further information
- iOS强引用和弱引用
- 一道C++练习题,替换一个字符串里所有实例
- Linux命令之chmod