HDU 3723 Delta Wave (高精度+calelan数)
2024-09-04 14:28:30
题意:给定一个图,问你只能向上向下,或者平着走,有多少种方法可以走到最后一个格。
析:首先先考虑,如果没有平的情况就是calelan数了,现在有平的情况,那么就枚举呗,因为数很大,所以要用高精度。
答案应该是sum(C(n, 2*i)*C(n, i)/(i+1)) = a1 + a2 + a3 + ....,然后可以再化简一下,成为一个递推式ai = ai-1 * (n-2*i+1)*(n-2*i+2)/(k*(k+1));
这次用记事本写的,然后没有测试,直接交的,虽然CE了一发,但还是挺好的。
代码如下:
import java.util.*;
import java.math.BigInteger; public class Main{
public static void main(String[] args){
Scanner cin = new Scanner(System.in);
BigInteger mod = BigInteger.TEN.pow(100);
while(cin.hasNext()){
int n = cin.nextInt();
BigInteger ans = BigInteger.ONE;
BigInteger x = BigInteger.ONE;
for(int i = 1; i + i <= n; ++i){
x = x.multiply(BigInteger.valueOf((n-2*i+1)*(n-2*i+2))).divide(BigInteger.valueOf(i*(i+1)));
ans = ans.add(x);
}
System.out.println(ans.mod(mod));
} }
}
最新文章
- iOS10 UI教程基础窗口的内容与设置起始窗口
- python操作excel表格详解(xlrd/xlwt)
- Java跟Javac,package与import
- [z]Google SPDY介绍
- .Net中C#的DllImport的用法
- 0118——RTLabel和正则表达式
- mysql 多实例部署
- 微信内点击链接或扫描二维码可直接用外部浏览器打开H5链接的解决方案
- Git命令备忘
- OJ每日一练试水第1天,聊聊输入输出问题
- 用Python优雅的处理日志
- Web应用的统一异常处理(二十四)
- screen 命令安装使用
- 【前端node.js框架】node.js框架express
- Extjs的各版本下载
- vue相关安装命令
- python扩展
- 如何用Python实现常见机器学习算法-1
- Web—08-移动端库和框架
- Hadoop面试链接