[JZOJ 3424] 粉刷匠 && [JZOJ 4254] 集体照

原创 2016年05月31日 19:55:36

Description

有k种颜色的球,每种颜色有a[i]个,要把这些球排成一行,相邻的两个位置颜色不能相同,问可行排法。

Analysis

竟然是原题,比赛时我竟然没有想到,也没有看出来是原题( ⊙ o ⊙ ),做过的题又不会做了我真是。。。。
只能怪自己太弱!
其实比赛的时候知道是DP,一直在设状态乱搞。
题解的dp方法的思路非常值得学习。
f[i][j]表示做了前i种颜色,产生了j个不合法的位置。
那我们新来一种颜色,其实就是将若干个相同颜色的球插进原先的一个序列里。
s[n]=ni=1a[i],k表示将当前第i种颜色的球分成k组,t表示有t组将插到原来的j个不合法位置,则转移方程为

f[i][j+a[i]kt]+=f[i1][j]Ck1a[i]1CtjCkts[i1]j+1

三个组合数的意思分别是分组可行方案数,j组分t组可行方案数,剩下插入的方案数。
至于其他部分,可以自己模拟一下。

Key Code

f[0][0]=1;
  fo(i,1,n)
    fo(j,0,s[i-1])
      if(f[i-1][j])
        fo(k,0,a[i])
          fo(t,0,min(k,j))
            (f[i][j+a[i]-k-t]+=f[i-1][j]%mo*C[a[i]-1][k-1]%mo*C[j][t]%mo*C[s[i-1]-j+1][k-t]%mo)%=mo;
版权声明:本文为博主原创文章,转载请标明出处,谢谢。 举报

相关文章推荐

Codeforces 842C Ilya And The Tree(树上DP+因子个数估计)

C. Ilya And The Tree time limit per test2 seconds memory limit per test256 megabytes inputstandar...

HDU 6072 Logical Chain(Kosaraju+bitset优化)

Logical Chain Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

ZOJ 3424 Rescue(和式变形递推公式降低复杂度)

Rescue Time Limit: 3 Seconds Memory Limit: 65536 KB The princess is trapped in a magic place....

windows 的鼠标事件(Event)

OnClick  当单击元素上的鼠标左按钮时(弹起后)  OnDblClick  当鼠标双击元素时发生  OnMouseDown  用任何一个鼠标按钮单击对象时(弹起前)  OnMouseUp  当鼠...

jzoj4467 数字方阵

这题坑了我将近5个小时!!!题目大意: 有一个无限大的平板 我们定义A[i,j]表示平板上第i行第j列的数字: 1. A[i,1] = i, 2. A[i...

bzoj1296 [SCOI2009]粉刷匠

乱搞(?)+背包

bzoj1296【SCOI2009】粉刷匠

DP

jzoj 1568. 【普及模拟】石子游戏 解题报告

1568. 【普及模拟】石子游戏  (File IO): input:stone.in output:stone.out 时间限制: 1000 ms  空间限制: 131072 KB  具体限...

[BZOJ 1296][SCOI2009]粉刷匠

Description windy有 N 条木板需要被粉刷。每条木板被分为 M 个格子。每个格子要被刷成红色或蓝色。 windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。每个格子...

jzoj 2043. 【2016.5.21普及组模拟】约数国王(A king)

2043. 【2016.5.21普及组模拟】约数国王(A king)  (File IO): input:king.in output:king.out 时间限制: 1000 ms  空间限制: ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)