摘要: 题意:有来自n个专业的学生,每个专业分别有ai个同学,现在要将这些学生排成一行,使得相邻的两个学生来自不同的专业,问有多少种不同的安排方案。分析:首先将所有专业的学生视作一样的,最后再乘以各自学生的数量的阶乘。排列的时候通过动态规划来处理,设状态为前i个系,一共有j个位置相邻位置来自同系,然后转移。具体见代码注释。#include #include #include #include #include using namespace std;typedef long long LL;const LL mod = (int)(1e9)+7;LL A[50];LL C[500][500]; LL 阅读全文
posted @ 2013-11-11 22:52 沐阳 阅读(1064) 评论(0) 推荐(0) 编辑