UVA 12034(递推&递归_I题)解题报告

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3185

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

题意:赛马结果,求有多少种

思路:递推关系:dp[i][j]=j*(dp[i-1][j](第i个马和前面的马搭伙到达)+dp[i-1][j-1](第i个马单独算一次))

代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int MAXN =1e3+10;
int ans[MAXN];
int h[MAXN][MAXN]={0};
int T;
const int MOD =10056;

int horse(){
    for(int i=1;i<MAXN;i++){
        h[i][1]=1;
        for(int j=2;j<=i;j++){
            h[i][j]=(h[i-1][j-1]*j%MOD+h[i-1][j]*j%MOD)%MOD;
        }
        for(int j=1;j<=i;j++){
            ans[i]=(ans[i]+h[i][j])%MOD;
        }

    }
    return 0;

}

int main(void){
    horse();
    scanf("%d",&T);
    //freopen("out.txt","wa",stdout);
    for(int i=0;i<T;i++){
        int a=0;
        scanf("%d",&a);

        printf("Case %d: %d\n",i+1,ans[a]);
    }
    return 0;

}

原文地址:https://www.cnblogs.com/caomingpei/p/8352320.html

时间: 2024-10-09 22:36:21

UVA 12034(递推&递归_I题)解题报告的相关文章

HDU 2013(递推&amp;递归_D题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2013 ----------------------------------------------------------------------------------- 题意:每天吃掉一半再多一个,给出第几天吃到只剩一个,求开始时的数量. 思路:递推.按照每天的处理方式反向处理一下,最终得到结果. 代码: #include<cstdio> #include<cstring> #in

HDU 2045(递推&amp;递归_B题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2045 ----------------------------------------------------------------------------------- 题意:3种颜色,方格涂色,从左到右,最后一个方格颜色不能和第一个方格颜色相等,相邻颜色不能相同. 思路:最开始思路想简单了,以为第一个方格3种颜色,第二个方格到倒数第二个方格都是2种选择,最后一个方格一种选择.但是,这种递推需要

HDU 2044(递推&amp;递归_A题)解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 ------------------------------------------------------------------------------------ 题意:只能爬向+1或者+2的房间,求第a个房间到第b个房间的路线多少. 思路:递归,爬向第k个房间只能从第k-1或者k-2个房间爬动,所以相加递归即可. 注意: 递归的题目一般要用数组存上所求的解,防止给出较大值时造成的TLE

UVALive 7431(递推&amp;递归_C题)解题报告

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5453 ----------------------------------------------------------------------------------------------------------------------------------

递推递归小结

已经被递推递归虐了几天了,(┙>∧<)┙へ┻┻ 但是显而易见的是没有任何进展...作为一块并不Q弹好吃的连1116都不会写的蒟蒻突然饿了,我还能说什么呢. 所以只能给对面的一群大神跪了%%%%%%%%%%%%%orz 递推递归主要就是找思路,找到思路就并没有什么区别了. 但是我找不到思路啊 ╮(╯_╰)╭ 所以就找题解,但是递推专项找到的最齐的只有Pascal的代码,所以就看着Pascal的代码码了几道,于是到现在依然是明白了了几道题但是找不到规律一脸懵逼(=?ω?=)神圣与邪恶有汉化更新了呢

递推第3题—极值问题

[问题描述]已知m,n为整数,且满足下列两个条件:                 ①m,n∈{1,2,…,k},即1<=m,n<=k ②(n2-mn-m2)2=1 你的任务是:编程由键盘输入正整数k(1<=k<=109),求一组满足上述两个条件的m,n,并且使m2+n2的值最大.例如,我们从键盘输入k=1995,则输出m=987,n=1597. [问题分析] 典型的数学题……我们可以就条件②出发利用求根公式加上限制条件去解方程,一定能得到正确的解,但是数据范围是109,这种方法只

递推第2题—凸多边形的三角形剖分

[问题描述] 在一个凸多边形中,通过若干条互不相交的对角线,把这个多边形剖分成了若干个三角形.现在的任务是从键盘输入凸多边形的边数n,求不同剖分的方案数Cn.比如当n=5时,有5种不同的方案,所以Cn=5. [问题分析] Catalan数……估计都知道,我就不解释了,直接上代码:这是我写的(好像很短啊,最喜欢短代码了): var c:array[2..22]of longint;//当Catalan数列中n=22时就超出长整型,需要用到高精度 i,n,k:integer; begin fillc

08年acm区域赛北京赛区 部分题解题报告

08年区域赛北京赛区 http://poj.org/searchproblem?field=source&key=Beijing+2008 POJ 3921 Destroying the bus stations 题目还是比较难的,当时的榜似乎只有4/25的通过/提交,其实题目数据很水.学长转换模型写了网络流求最小割,可以AC,不过自己造了个数据推翻了正确性.我写了个很挫的bfs套bfs,外层是最小的删除点数,内层是求最短路,数据很水可以AC.但比较蛋疼的在于bfs耗内存,而且队列中的点数是阶乘

2016.8.27一套简单的题解题报告

一套不错的题,需要相关资料的联系我咯 考试分析: 1.  由于题目的名字加上第一道题没读完时我以为是我最不擅长的treeDP(其实不得不说,树和图上的题我真的是不想写,一般都写不对,上课太不认真,这个弱点要加强训练),我直接跳到了最后一道题,明知考3h还用了30min去分析,不过还是感谢,这30min救了我两道题出来: 这套题的确还是比较简单,后两道题只要认真分析数据都不会有问题,也许是因为暑假切了贪心和递推,我对分析数据比较在行,第三题切完之后还有2h,不过没写高精的我有点慌,打算最后留一点时