HDU1502 Regular Words
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1502
思路:当只有两个数时,可以用卡特兰数做,当三个数时,没想到卡特兰数的做法。可以使用动态规划。
状态转移方程如下:
dp[i][j][k] = dp[i - 1][j][k] + dp[i][j - 1][k] + dp[i][j][k - 1]
代码如下:
import java.math.BigInteger;
import java.util.Scanner;
public class Main{ public static void main(String[] args){
Scanner cin =new Scanner(System.in);
BigInteger dp[][][] = new BigInteger[61][61][61];
dp[0][0][0] = BigInteger.ZERO;
for(int i = 0; i < 2; i++){
for(int j = 0; j <= i; j++){
for(int k = 0; k <= j; k++){
dp[i][j][k] = BigInteger.ONE;
}
}
} int n;
while(cin.hasNext()){
n = cin.nextInt();
for(int i = 2; i <= n ; i++){
for(int j = 0; j <=i; j++){
for(int k = 0; k <= j; k++){
dp[i][j][k] = BigInteger.ZERO;
if(i - 1 >= j){
dp[i][j][k] = dp[i][j][k].add(dp[i - 1][j][k]);
}
if(j - 1 >= k){
dp[i][j][k] = dp[i][j][k].add(dp[i][j - 1][k]);
}
if(k - 1 >= 0){
dp[i][j][k] = dp[i][j][k].add(dp[i][j][k - 1]);
}
}
}
}
System.out.println(dp[n][n][n]);
System.out.println();
}
}
}
HDU1502 Regular Words的更多相关文章
- HDU1502 Regular Words DP+大数
要是c语言可以和java一样写大数就好了,或者我会写重载就好了,最后还是只能暴力一把. 开始写的记忆化搜索,然而n=10就超过LL了 #include<cstdio> #include&l ...
- 刷题总结——regular words(hdu1502 dp+高精度加法+压位)
题目: Problem Description Consider words of length 3n over alphabet {A, B, C} . Denote the number of o ...
- [LeetCode] Regular Expression Matching 正则表达式匹配
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- MongoVUE1.6.9破解启动提示System.ArgumentException: 字体“Courier New”不支持样式“Regular”
用MongoVUE,发现报错,报错信息如下: System.ArgumentException: 字体"Courier New"不支持样式"Regular". ...
- myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc
今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...
- [LeetCode] 10. Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. DP: public class Solution { publ ...
- No.010:Regular Expression Matching
问题: Implement regular expression matching with support for '.' and '*'.'.' Matches any single charac ...
- scp报错:not a regular file,解决方法:加参数 -r
命令:scp -P1234 /data/aa root@192.0.0..0:/data 文件结构:/data/aa/yearmonth=2015-09 报错:not a regular fi ...
- Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
随机推荐
- 17 任务调度相关类综述——Live555源码阅读(一)任务调度相关类
这是Live555源码阅读的第二部分,包括了任务调度相关的三个类.任务调度是Live555源码中很重要的部分. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/ol ...
- LINUX优化得很好的sysctl.conf配置
最近找了个不错的sysctl.conf的优化参数,在网站响应上已经算不错了的,time超时连接据说几乎为0了. 系统:centos 5.x sysctl.conf配置参数: kernel.msgmn ...
- 【GoLang】golang中可以直接返回slice吗?YES
结论: 可以,slice本质是结构体,返回slice时返回的是结构体的值,结构体的指针.len.cap等信息也全部返回了. 如下: type slice struct { start *uintptr ...
- Spring Data JPA进阶——Specifications和Querydsl
Spring Data JPA进阶--Specifications和Querydsl 本篇介绍一下spring Data JPA中能为数据访问程序的开发带来更多便利的特性,我们知道,Spring Da ...
- Linq查询非泛型集合要指定Student类型(比如List)
#region Linq to 集合查询非泛型集合要指定Student类型 //ArrayList list = new ArrayList(); //li ...
- linux shell脚本通过参数名传递参数值
平常在写shell脚本都是用$1,$2....这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护.Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚 ...
- Windows下查看局域网内某台计算机的MAC地址
我们知道在局域网中,在Windows下,查看局域网内其他主机的ip和对应mac地址的命令是: arp -a 这样可以看到ip和mac地址的对应关系,还是比较方便的 但是有些时候使用arp命令并不能列出 ...
- codeforces 581C. Developing Skills 解题报告
题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...
- H5 前端页面适配响应式
辞职有半个月了,面试了几家公司,还在挣扎中.... 不废话,H5页面适配成响应式,可以用百分比或者rem. rem是相对于html根元素的单位,可以根据根元素的大小做出等比缩放, 通常,假如设置,ht ...
- 【python】下载远程内容到本地
来源:http://www.jb51.net/article/42630.htm urllib模块 urlretrieve方法 urllib.urlretrieve(url[, filename[, ...