鸟题目 ...代码写的超难看,终于过了。。。
#include<iostream>
#include<cstring>
using namespace std;
const int mod=1000000007;
class NoRepeatPlaylist{public:
long long int dp[111];
bool vis[111];
long long int c[111][111];
bool you[111][111];
long long int cc(int x,int y)
{
if(y==0)
{
return 1;
}
if(y==1)
{
return x;
}
if(x==y)
{
return 1;
}
if(you[x][y])
{
return c[x][y];
}
else
{
you[x][y]=true;
c[x][y] = cc(x-1,y) + cc(x-1,y-1);
c[x][y] %= mod;
return c[x][y];
}
}
long long int f(int n,int m,int p)
{
if(m + 1 > n)
{
return 0;
}
long long ans=1;
long long temp;
for(long long int i=n;i>=n-m;i--)
{
ans*=i;
ans%=mod;
}
temp = n - m ;
for(long long int i=1;i<=p-m-1;i++)
{
ans*=temp;
ans%=mod;
}
return ans;
}
long long int x(int n,int m ,int p)
{
if(m+1>n)
{
if(p!=n)
return 0;
else
{
long long int temp=1;
for(int i=n;i>=1;i--)
{
temp*=i;
temp%=mod;
}
return temp;
}
}
if(vis[n])
{
return dp[n];
}
else
{
long long int temp=0;
for(int i=1;i<=n-1;i++)
{
temp += cc(n,i)*x(i,m,p);
temp %=mod;
}
dp[n]=f(n,m,p) - temp;
while(dp[n]<0)
{
dp[n]+=mod;
}
dp[n]%=mod;
vis[n]=true;
return dp[n];
}
}
long long int numPlaylists(int n, int m, int p)
{
memset(vis,false,sizeof(vis));
memset(you,false,sizeof(you));
return x(n,m,p);
}
};
分享到:
相关推荐
topcoder-srm Topcoder SRM竞赛解决方案 测试是使用kawigi edit构建的。
你可以通过这道题去了解Topcoder的题目以及比赛形式
关于TopCoder的竞赛指导,不仅仅是SRM,还有Bug Race、软件比赛的资料,是我从网上收集的,大部分是中文的
topcoder的数学类算法题目。一个整数被称为k-smooth当且仅当它的最大素因子不大于k,给定N和K,计算出1 - N中有多少个整数是k-smooth。1 , 1 <= K <= 1000.
TopCoder SRM程序 我尝试过的TopCoder SRM程序列表。 在大多数时候,比赛时间与我的工作/其他活动冲突,因此我对TopCoder不太活跃。 但是我尽力去参加比赛,因为这很有趣。 就像在任何在线比赛中所期望的那样,代码...
topcoder-srm 顶级编码器srm问题集锦
Topcoder软件比赛注册方法和平台使用 Topcoder算法大赛客户端安装流程 Topcoder算法大赛客户端登陆及使用 Topcoder算法大赛注册流程 Topcoder图形比赛注册方法和平台使用
适合topcoder新手
topcoder算法讲座ppt
topcoder竞赛的算法讲座ppt
TopCoder比赛登录使用的客户端,需要配置Java环境
Topcoder的Java客户端,安装前确定已经安装了JRE
TopCoder新手入门指南,一步步操作既可以了,然后开启您的Topcoder编程之旅吧。
topcoder arena,包含ContestAppletProd.jnlp,CodeProcessor.jar,FileEdit.jar,TZTester,运行需要jre环境
用于topcoder的第3方编辑器插件。
TopCoper SmartWordToy problem 解决方法,C++源码。 Problem Statement The toy company "I Can't Believe It Works!...Form: http://community.topcoder.com/stat?c=problem_statement&pm=3935&rd=6532
topcoder的比赛作品,编译通过的。可以放心使用。
topcoder入门,对想做tc,但又不知道怎么搞的很有帮助,我首先也不知道搞。
给新手提供的TopCoder注册方法和平台使用 十分详细
这是一类关于acm学习的资料,它详细的说明了Acm学习的内容,如何提高编写软件的能力