LightOJ1064 Throwing Dice(DP)
第一眼以为是概率DP,我还不会。不过看题目那么短就读读,其实这应该还不是概率DP,只是个水水的DP。。
- dp[n][s]表示掷n次骰子点数和为s的情况数
- dp[0][0]=1
- dp[i][j]=∑dp[i-1][j-k] (k∈[1,6] 且 j-k>=0)
要求的概率就是情况数/掷n次骰子的总情况数,掷n次骰子总情况数就是6n。
最后的结果分子分母要互质,而分母的质因子只有2和3,所以只要同除以2和3就能化简。
#include<cstdio>
using namespace std;
long long d[][];
int main(){
d[][]=;
for(int i=; i<; ++i){
for(int j=; j<=; ++j){
for(int k=; k<=; ++k){
if(j-k>=) d[i][j]+=d[i-][j-k];
}
}
}
int t,a,b;
scanf("%d",&t);
for(int cse=; cse<=t; ++cse){
scanf("%d%d",&a,&b);
long long p=,q=;
for(int i=b; i<=; ++i) p+=d[a][i];
for(int i=; i<=a; ++i) q*=;
if(p==){
printf("Case %d: 0\n",cse);
continue;
}
while(p%== && q%==){
p/=; q/=;
}
while(p%== && q%==){
p/=; q/=;
}
if(q==){
printf("Case %d: 1\n",cse);
continue;
}
printf("Case %d: %lld/%lld\n",cse,p,q);
}
return ;
}
LightOJ1064 Throwing Dice(DP)的更多相关文章
- LightOJ 1033 Generating Palindromes(dp)
LightOJ 1033 Generating Palindromes(dp) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...
- lightOJ 1047 Neighbor House (DP)
lightOJ 1047 Neighbor House (DP) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730# ...
- UVA11125 - Arrange Some Marbles(dp)
UVA11125 - Arrange Some Marbles(dp) option=com_onlinejudge&Itemid=8&category=24&page=sho ...
- 【POJ 3071】 Football(DP)
[POJ 3071] Football(DP) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4350 Accepted ...
- 初探动态规划(DP)
学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门 ...
- Tour(dp)
Tour(dp) 给定平面上n(n<=1000)个点的坐标(按照x递增的顺序),各点x坐标不同,且均为正整数.请设计一条路线,从最左边的点出发,走到最右边的点后再返回,要求除了最左点和最右点之外 ...
- 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)
.navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...
- Leetcode之动态规划(DP)专题-详解983. 最低票价(Minimum Cost For Tickets)
Leetcode之动态规划(DP)专题-983. 最低票价(Minimum Cost For Tickets) 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行.在接下来的一年里,你要旅行的 ...
- 最长公共子序列长度(dp)
/// 求两个字符串的最大公共子序列长度,最长公共子序列则并不要求连续,但要求前后顺序(dp) #include <bits/stdc++.h> using namespace std; ...
随机推荐
- MyBatis 3源码分析
Mybatis3.2源码分析: 一.加载配置文件. 使用SAX解析配置文件.读取xml配置文件后,调用XMLConfigBuilder.parse()方法,在parse方法中再调用parseC ...
- Objective-C和其他C指针的转换
首先看一下典型的NSString与CFStringRef的相互转换 http://www.tuicool.com/articles/MJRr226 // CFStringRef to NSStri ...
- @version ||= version
# -*- encoding : utf-8 -*- class InterfaceBaseController < ActionController::Base private def set ...
- Redis快速入门
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...
- 完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...
- 部署Office Web Apps Server并配置其与SharePoint 2013的集成
部署Office Web Apps Server并配置其与SharePoint 2013的集成 Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...
- 【UGUI】Canvas和Rect Transform
Canvas 1.所有的UI元件都需要放在Canvas里 2.UI元件的绘制顺序,与在 Hierarchy的顺序相同,在上面的元素会先被绘制,位于后续绘制元素的下面 3.可以选择3种不同的渲染模式: ...
- 利用WinHEX,重构狂牛加密视频1.0.0.1【只适合RIFF(AVI)】
幸亏是视频部分没有进行加密 1.用 WinHEX 打开狂牛加密视频, 查找 [RIFF] 字符串 2.光标放在 RIFF的 [R]上面, 按 CTRL+SHIFT+END 3.把选择的块写入新文件 H ...
- js简单上传进度条
效果如下:
- JDK1.7 ConcurrentHashMap 源码浅析
概述 ConcurrentHashMap是HashMap的线程安全版本,使用了分段加锁的方案,在高并发时有比较好的性能. 本文分析JDK1.7中ConcurrentHashMap的实现. 正文 Con ...