题意:给n个球涂上k种颜色,每种颜色要涂c[k]个球。要求颜色序号大的最后一个球必须在颜色序号小的最后一个球后面。问有多少种不同的涂色方案。相同颜色的球没有区别。

先涂颜色k,显然最后一个球肯定只能涂颜色k。然后前面的n - 1个球随便选c[k] - 1个球涂上k颜色。这样涂并不影响其它球的涂法,因为题目的限制只在最后一个球。所以我们就从每个颜色的最后一个球下手。然后再涂颜色k - 1。既然颜色k涂完了,就不用管它了,剩下n - c[k]个未涂色的球,完全可以看成是一排崭新的球去涂k - 1种颜色。所以实际上每个颜色的涂法之间并不干涉,是相互独立的。因此用乘法原理即可解决。

所有球的总数不超过1000,直接预处理组合数即可。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
using namespace std;const int MOD = 1000000007;
const int MAX = 1005;
long long C[MAX][MAX];void initial()
{memset(C, 0, sizeof(C));for(int i = 0; i < MAX; i++){C[i][0] = C[i][i] = 1;for(int j = 1; j <= i/2; j++)C[i][j] = C[i][i - j] = (C[i - 1][j] + C[i - 1][j - 1])%MOD;}
}int main()
{initial();int k, c[MAX];while(scanf("%d", &k) != EOF){int sum = 0;for(int i = 0; i < k; i++){scanf("%d", &c[i]);sum += c[i];}long long ans = 1;while(k--){ans = ans*(C[sum - 1][c[k] - 1])%MOD;sum -= c[k];}printf("%I64d\n", ans);}return 0;
}

Codeforces 553A Kyoya and Colored Balls 给球涂颜色相关推荐

  1. 51Nod 1453(CF553-A) - 抽彩球(Kyoya and Colored Balls) - 解题报告

    51Nod 1453 - 抽彩球 - 解题报告 51Nod 1453 - 抽彩球 - 解题报告 Information Source Description Input Output Sample S ...

  2. codeforces Kyoya and Colored Balls

    题解见:http://blog.csdn.net/libin56842/article/details/46650209 注意这里的组合数取模~~~ 1 /*Author :usedrose */ 2 ...

  3. Unity3D代码动态修改材质球的颜色

    代码动态修改材质球的颜色: gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可 ...

  4. C. Colored Balls: Revisited codeforces 1728A

    Problem - 1728A - Codeforces 题目大意:有n个袋子,每个袋子有cnt个球,每次可以拿出两个不同袋子的球,问最后可能剩下的是编号为多少的袋子 思路:奇数个球每次拿2个,最后至 ...

  5. @codeforces - 553E@ Kyoya and Train

    目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ ...

  6. CodeForces - 780C Andryusha and Colored Balloons(dfs染色)

    Andryusha goes through a park each day. The squares and paths between them look boring to Andryusha, ...

  7. Codeforces Round #309 (Div. 1)

    A. Kyoya and Colored Balls 大意: 给定$k$种颜色的球, 第$i$种颜色有$c_i$个, 一个合法的排列方案满足最后一个第$i$种球的下一个球为第$i+1$种球, 求合法方 ...

  8. python rgb颜色表_RGB颜色对照表

    window系统下,简单的FTP上传和下载操作 先假设有一FTP服务器,FTP服务器:qint.ithot.net,用户名:username   密码:user1234.在本地电脑D:盘创建一个文件夹 ...

  9. java如何控制分屏显示,intellij idea 分屏设置 与快捷键

    1.找到分屏功能 File -> setting -> keymap,搜索(注意大小写): Split Vertically 水平分屏 Split Horizontally 垂直分屏 2. ...

  10. ACM程序设计课程总结

    文章目录 知识总结 一.递归算法 二.贪心算法 三.动态规划 四.分治算法 五.数论 六.STL的简单应用 学习这门课后的感想 知识总结 一.递归算法 [算法描述] 程序直接或间接调用自身的编程技巧称 ...

最新文章

  1. c++11 多线程 1c++ concurrency in action
  2. iOS自动化测试之Appium的安装和使用
  3. python安装numpy-python及numpy安装
  4. mysql中以下正确的sql是_总结MySQL中SQL语法的使用
  5. beego 文件服务器,beego自动化文档
  6. GraphQL:简单开开始一个查询
  7. web程序入门五(http无状态)
  8. 洛谷 刷题 深基部分题解(python版)-2022.01.29
  9. 昇腾AI处理器软件栈--神经网络软件架构
  10. ResNest网络系列
  11. UML--类之间的五种关系
  12. Populating Additional data in Material master record
  13. 米莱狄机器人怎么那么多_米莱狄究竟应该怎么玩?
  14. 秋叶一键重装系统连接服务器失败,秋叶一键重装系统win7系统安装和使用DAEMONToolsLite的方法【图文教程】...
  15. python为什么被称为胶水语言_为什么Python被称为“胶水语言”?
  16. asp.net服务器之间文件,aspnet 服务器文件
  17. 平面解析几何----余弦定理求焦点三角形的面积
  18. Mac电脑下载的google chrome无法使用解决方法?
  19. rmTopCMS——轻便、多变的CMS服务系统
  20. 使用反射+注解封装一个基于Sqlite极简的android数据库框架

热门文章

  1. VMware连接不上网络解决办法
  2. 中科院各大计算所详细介绍
  3. 保研经历-清华计算机、北大、中科院计算所
  4. java考勤表导出_Sql通过存储过程生成全年日历考勤表数据
  5. PHP导出Excel单元格内换行
  6. 【初/中级前端面经】中小型公司面试时都会问些什么?
  7. 第四届IT 2020高端论坛成功举办
  8. 生僻字用计算机的歌词,生僻字歌词翻译成常用汉字 陈柯宇生僻字歌曲翻译谐音版...
  9. Linux权限的理解 | 粘滞位 |权限掩码 |文件类型
  10. 安装vue最新脚手架