UVA-12304 Race(递推)
题目大意:求n个人比赛的所有可能的名次种数。比如:n=2时,有A第一B第二、B第一A第二、AB并列第一三种名次。
题目解析:既然是比赛,总有第一名。第一名的人数可能是i (1≤i≤n),则剩下待定的人数就是n-i......
设 f(n)为n个人比赛时的名次种数。则 f(n)= ∑ C(n,i)f(n-i) (1≤ i ≤n)
这道题和前一道 “How to add?” 类似。
代码如下:
# include<iostream># include<cstdio># include<cstring># include<algorithm>using namespace std;const int mod=10056;int c[1005][1005];int f[1005];void init(){ int i,j; c[1][0]=c[1][1]=1; for(i=2;i<=1000;++i){ c[i][0]=1; for(j=1;j<=i;++j) c[i][j]=(c[i-1][j]%mod+c[i-1][j-1]%mod)%mod; }}void init1(){ memset(f,0,sizeof(f)); int i,j; f[0]=0; f[1]=1; for(i=2;i<=1000;++i){ for(j=i;j>=1;--j){ f[i]+=(c[i][j]*f[i-j]); f[i]%=mod; } ++f[i]; f[i]%=mod; }}int main(){ //freopen("UVA-12034 Race.txt","r",stdin); init(); init1(); int T,i,n,cas=0; scanf("%d",&T); while(T--) { scanf("%d",&n); printf("Case %d: %d\n",++cas,f[n]); } return 0;}
转载于:https://www.cnblogs.com/20143605--pcx/p/4677157.html
UVA-12304 Race(递推)相关推荐
- Uva 10074【递推dp】
UVa 10074 题意:求01矩阵的最大子0矩阵. http://www.csie.ntnu.edu.tw/~u91029/MaximumSubarray.html#2 这里说的很清楚.先求Larg ...
- UVa 11021 (概率 递推) Tribles
Tribble是麻球? 因为事件都是互相独立的,所以只考虑一只麻球. 设f(i)表示一只麻球i天后它以及后代全部死亡的概率,根据全概率公式: f(i) = P0 + P1 * f(i-1) + P2 ...
- uva - 1442(cav 递推类 ,思路)
由于燃料为流动性物质. 所以利用任意一个有水的地方往左右延伸其水平面一样高, 可以先从左以尽量高的起点往前延伸遇到顶,下降到顶.遇到地面,上升到与地面同高度. 这样再从右往左贪心一边去每个点的最小值即 ...
- 递推DP UVA 1366 Martian Mining
题目传送门 1 /* 2 题意:抽象一点就是给两个矩阵,重叠的(就是两者选择其一),两种铺路:从右到左和从下到上,中途不能转弯, 3 到达边界后把沿途路上的权值相加求和使最大 4 DP:这是道递推题, ...
- UVa 12627:Erratic Expansion(递推)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=844& ...
- UVA 10910 Marks Distribution(组合数学 或 递推)
题意:一个人N门课程的总成绩为T,每门课程的最低成绩为P,求一共有多少种可能的分配方法. 题解:可以先求出超出的部分 T = T - n*p:剩余的相当于n个里面每个科目放0,1分等. 这题我只懂了递 ...
- UVA - 10253 Series-Parallel Networks(递推式、记忆化搜索写法)
题目:UVA-10253 题目翻译(来自蓝书): 串并联网络有两个端点,一个叫源,一个叫汇,递归定义如下: (1) 一条单独的边是串并联网络. (2) 若G1和G2是串并联网络,把它们的源和源接在一起 ...
- UVa 1645 - Count(递推)
给出一个数n,求n个结点的树有多少种结构满足每个结点的子结点数相同. n结点树,除去根结点,有n-1个结点,根结点的每棵子树需要完全相同,所以根结点的子树个数k,满足(n-1)%k==0.然后就可以递 ...
- 基础算法整理(1)——递归与递推
程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一 ...
- POJ 2229 Sumsets(递推,找规律)
构造,递推,因为划分是合并的逆过程,考虑怎么合并. 先把N展开成全部为N个1 然后合并,因为和顺序无关,所以只和出现次数有关 情况有点多并且为了避免重复,分类,C[i]表示序列中最大的数为2^i时的方 ...
最新文章
- 序列化反序列化api(入门级)
- 使用TCP的简单C/S程序
- 电脑网络信号传输频率_高速数字电路设计中信号完整性
- SNF快速开发平台2019-权限管理模型简介-权限都在这里
- h5jumppage.php,h5使用webviewjsbridge跟原生交互,点击标签调用2次webview
- BGP——Peer Group(讲解+配置)
- socket模块--TCP和UDP协议下的基础网络通话
- window ngnix php配置文件,Window下PHP和Nginx的配置
- 使用sprintf连接字符串
- JCR分区 与 中科院分区的分区方法
- java对象转为map_浅谈对象与Map相互转化
- 关于oneway void
- 微信接龙,查人,查谁没有接龙,工具
- 青海电大随学随考计算机,[青海电大]17秋随学随考中国现当代文学名著导读(1)作业4资料...
- 《Angular之项目启动95%emitting LicenseWebpackPlugin--stop了》
- P8198 [传智杯 #4 决赛] 背单词的小智 二分答案+前缀和
- 手机充电总要充到100%吗?充电时先插手机还是充电器
- HAL库 output level 和 pull up/ pull down 的区别
- 冯扬文:船用燃料油价格大涨对我省航运企业的影响
- android unlock,安卓手机解锁助手 (A Unlock Tool)