题目链接

思路: ①dp    ②卡特兰数

①:画图,取右下三角形分析,每次都只能向右或向上走。如图所示:

说明:蓝色是初始化, 黑色是行列号,紫色是 该点=左点+下点

所以状态转移方程为  dp[i][j] = dp[i][j-1] + dp[i+1][j];

AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;long long dp[40][40];int main() {int n, cnt = 1;while(~scanf("%d", &n) && n != -1) {memset(dp, 0, sizeof(dp));//初始化for(int j = 1; j <= n+1; j++) //初始化dp[n+1][j] = 1;for(int i = n; i >= 1; i--) {for(int j = n+2-i; j <= n+1; j++) {dp[i][j] = dp[i+1][j] + dp[i][j-1];}}printf("%d %d %lld\n", cnt++, n, dp[1][n+1]*2);//2倍 爆int}
} 

②:卡特兰数

卡特兰数经典例子:扫描01串,任意位置 保证经过1的个数大于等于0的个数。还有左右括号,进栈出栈问题,这里转化为卡特兰数是因为说了不能越过对角线,暗含的意思就是任意位置,向右走的得大于等于向上走的

AC代码:

import java.math.BigInteger;
import java.util.Scanner;public class Main {static BigInteger catalans[] = new BigInteger[10010];//开数组static BigInteger four = new BigInteger("4");//好用static BigInteger tow = new BigInteger("2");static BigInteger one = new BigInteger("1");public static void init() {//初始化函数catalans[1] = new BigInteger("1");for(int i = 2; i < 10010; i++) {//这里真的酷!catalans[i] = catalans[i-1].multiply(four.multiply(BigInteger.valueOf(i)).subtract(two)).divide(BigInteger.valueOf(i+1));}}public static void main(String[] args) {init();Scanner scanner = new Scanner(System.in);//输入处理while(scanner.hasNext()) {int n = scanner.nextInt();//输出也好用System.out.println(catalans[n].divideAndRemainder(new BigInteger("1000000007"))[1]);}}
} 

看到了这位大佬的博客,燃起了我心中的Java  链接

第一个AC的Java代码,心得:

下载编译器,JDK,(汉化包没弄好),知道了如何编写,提交的时候要改成Main,不要package。

以后大数就用JAVA了。


转载于:https://www.cnblogs.com/ACMerszl/p/9572958.html

HDU2067 小兔的棋盘相关推荐

  1. HDU2067——小兔的棋盘(迷宫,动态规划,卡特兰数)

    Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(n,n)的最 ...

  2. 杭电2067小兔的棋盘

    小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  3. 小兔的棋盘 (卡特兰数) 递推动规

                                                   小兔的棋盘 Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间, ...

  4. 第5周作业(杨辉三角形,队列元素逆置,银行排队——队列,整数划分问题,买票问题——卡特兰数,小兔的棋盘——卡特兰数)

    一.杨辉三角形 [问题描述]杨辉三角形的打印,请用循环队列实现.不采用"循环队列",不给分. [样例输入] 4 [样例输出] 1 1 1 1 2 1 1 3 3 1 #includ ...

  5. 杭电oj-2067 小兔的棋盘(卡特兰数)

    杭电oj-2067 小兔的棋盘(卡特兰数) Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天 ...

  6. 小兔的棋盘(HDU-2067)

    Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终 ...

  7. 小兔的棋盘(卡特蘭數)

    Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终 ...

  8. HDU-2067-小兔的棋盘(dp)

    小兔的棋盘 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0 ...

  9. HDU-2067-小兔的棋盘

    转载自 ______________白白の屋 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2067 这个题目,题意都没有弄明白,有点难度啊!这个题目是 ...

最新文章

  1. bzoj3993 [SDOI2015]星际战争
  2. 离散数学及其应用第6版中文版勘误
  3. SQL Server数据库中、获得刚插入新记录的自动ID号
  4. [转] VS2010中VC9.0Runtime与VC10.0Runtime在win7上装不上提示error code 1603
  5. 【Python】Python figure显示的两种方式
  6. 微软发布的两个MSF过程指导(Process Guidance)
  7. (36)FPGA打N拍设计(第8天)
  8. 神牛驾到!James B. Orlin 的 O(nm)最大流算法论文翻译!!
  9. 网管学习笔记-hybrid口配置
  10. mysql 事务不生效_@Transactional事务不生效的几种解决方案
  11. 数据分析最具价值的49个案例(建议收藏)
  12. 转:用友华表Cell报表面面观
  13. 关于计算机听课如何做笔记,如何高效地听课记录笔记
  14. 从零开始学_JavaScript_系列(五)——dojo(基础,动画移动,重力模拟,动画合并,添加标签)...
  15. 微软计算机电源怎么接,电源线,详细教您电脑电源线怎么接
  16. 快学Scala 学习笔记-1: (第一章到第三章)
  17. DIYGW-UI-PHP是一款基于thinkphp framework和 element admin开发而成的前后端分离系统
  18. 池州计算机一级考试试题题库,池州科目一考试题库
  19. 亲测,idea切换分支异常:error: The following untracked working tree files would be overwritten by checkout
  20. 【论文】文本相似度计算方法综述

热门文章

  1. 如何在Eclipse里显示BPMN格式的流程图
  2. 自己开发的在线视频下载工具,基于Java多线程
  3. Jerry的WebClient UI 42篇原创文章合集
  4. final关键字_Java中的final关键字
  5. 取0-1中间任意数java_java – 找到一个整数n 0,其中包含以下三个条件
  6. centos 6.5 openldap php,centos6.5安装openldap+phpldapadmin
  7. 工业机器人焊钳制作_一种工业焊接机器人及其冷却装置的制作方法
  8. flutter打包的app有多大_Flutter原生混合开发
  9. oracle定时任务会漂移,定时任务与手动执行脚本时的一个重要注意事项
  10. eclipse 配置java路径_如何在eclipse的配置文件里指定jdk路径