首页 > 其他分享 >【UVA1485】Permutation Counting

【UVA1485】Permutation Counting

时间:2023-02-05 09:55:52浏览次数:40  
标签:le const Counting int long Permutation UVA1485 1000

典中典题。

由于 \(0\le k\le n\le 1000\),能猜到做法大概是 \(n^2\) 的动态规划,接下来写方程。

以排列长度划分阶段,该长度下 \(E\) 值划分子问题,容易想到定义 \(f[i][j]\) 表示长度为 \(i\) 的排列 \(E\) 值为 \(j\) 的个数。

考虑如何转移 \(f[i][j]\)。

第一种情况,没有新增的 \(E\) 值,方案数为 \(f[i-1][j]\times(j+1)\);新增了一个,方案数为 \(f[i-1][j-1]\times(n-k)\)。

发现第 \(i\) 个阶段的值只和第 \(i-1\) 个阶段有关,显然可以滚掉一维。但是对于这道题没有必要(因为多组询问,不如查表输出)。

注意初始化 \(f[i][0]=1\)(即 \(\{1,2,\cdots,i\}\))的排列。

#include <stdio.h>
long long f[1005][1005];
const int N=1000,K=1000;
const int mod=1000000007;
int main()
{
	int i,j,n,k;
    for(i=1;i<=N;++i)
    {
    	f[i][0]=1;
        for(j=1;j<=K;++j)
        {
            f[i][j]=(f[i-1][j]*(j+1)+f[i-1][j-1]*(i-j))%mod;
        }
    }
    while(~scanf("%d %d",&n,&k))
    {
        printf("%lld\n",f[n][k]);
    }
    return 0;
}

标签:le,const,Counting,int,long,Permutation,UVA1485,1000
From: https://www.cnblogs.com/Syara/p/17092886.html

相关文章

  • [LeetCode]Permutation Sequence
    QuestionTheset[1,2,3,…,n]containsatotalofn!uniquepermutations.Bylistingandlabelingallofthepermutationsinorder,Wegetthefollowingsequen......
  • 计数排序(Counting Sort)
    一、算法概述1.1算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排......
  • D. Fixed Prefix Permutations
    D.FixedPrefixPermutationsYouaregiven$n$permutations$a_1,a_2,\dots,a_n$,eachoflength$m$.Recallthatapermutationoflength$m$isasequenceo......
  • 「解题报告」ARC140F ABS Permutation (Count ver.)
    洛谷题解说这题是“巨大蠢题。这是我见过的最垃圾的ARC,没有之一。”好吧,我不会做巨大蠢题。首先我们可以想到,如果\(|a_i-a_j|=m\),那么\(a_i\)和\(a_j\)一定在......
  • D. Fixed Prefix Permutations(字典树)
    Problem-D-Codeforces题意:给一个n行m列的关于m的排列数组,n个m的排列,设为q[n]对于q[i],找到最长的q[q[i]]排列是1,2,...,k,美丽值是k输出每一个的k思路:看样例一......
  • CF1792 D. Fixed Prefix Permutations : Educational Codeforces Round 142 (Rated fo
    给出n个长度为m的排列(a1,a2,a3,...,an)定义一个操作 r=ai•aj:r[k]=a[j][a[i][k]]定义一个排列(p1,p2,...,pn)的beauty为最大的k,使得p[1]=1,p[2]=2,..,p[k......
  • codeforce edu round 142 D. Fixed Prefix Permutations
    题目链接:https://codeforces.com/contest/1792/problem/D题意是给出n个长度为m的排列,定义排列p*q为\(r_j=q_{p_j}\),令一个排列的价值p为最大的k使得\(p_1=1,p_2=2......
  • POJ--2386 Lake Counting(DFS)
    记录0:332023-1-24http://poj.org/problem?id=3617reference:《挑战程序设计竞赛(第2版)》2.2.3p43DescriptionFJisabouttotakehisN(1≤N≤2,000)cows......
  • 2022,Feature Evaluation for Underwater Acoustic Object Counting and F0 Estimatio
    paperAbstract在执行水声目标检测任务时,需要对目标数N进行计数,当N大于1时进行声源分离,并从分离出的噪声中提取每个目标的运动参数(如轴频或FO)。尽管深度学习方法在图像......
  • ZROJ370 Medium Counting - 区间dp -
    题目链接:http://zhengruioi.com/problem/370题解:考虑对于\(S[l..r]\),如果要符合条件必然是在最高位分成了至少两段(也可能没有分出来,那就继续下一位)\(S[l..k]和S[k+1......