zoukankan      html  css  js  c++  java
  • [做题记录-计数] Luogu P5333 [JSOI2019]神经网络

    (f_i)表示这棵树拆出(i)条链的方案数。
    枚举链的个数为下表构造(EGF)可得:

    [F = sum_{i = 1} f_ii!sum_{j = 1}^{i}inom{i - 1}{j - 1}(-1) ^ {i - j}frac{x^j}{j!} ]

    这部分是任意树的(EGF), 现在考虑怎么把第一棵树的第一个点丢最前面, 那么钦定这条链在前面就好了。针对第一棵树构造下面的东西:

    [F = sum_{i = 1} f_i(i - 1) !sum_{j = 1}^{i}inom{i - 1}{j - 1}(-1) ^ {i - j}frac{x^{j - 1}}{(j - 1)!} ]

    然后减去最后一条链也是来自第一棵树的方案。

    [F = sum_{i = 1} f_i(i - 1) !sum_{j = 2}^{i}inom{i - 1}{j - 1}(-1) ^ {i - j}frac{x^{j - 2}}{(j - 2)!} ]

    参加内部标号, 但是不参与全体链的排列。

    然后你发现这个树dp真tm恶心

    以前一直搞最优化所以重复转移没啥事, 这次终于被计数制裁了
    考虑设(dp_{x, i, 0/1/2})表示(x)点拼了(j)条链, (x)点现在拼好了/是单点/是链的方案数。
    我们钦定链的形成只在每条边去决策, 保证计数不重复。
    诶其实发现还好, 是自己sb了

    /* 00 */
    pls(g[i + j][0], 1ll * dp[x][i][0] * dp[y][j][0] % P);
    /* 012 */
    pls(g[i + j + 1][0], 1ll * dp[x][i][0] * dp[y][j][1] % P);
    pls(g[i + j + 1][0], 2ll * dp[x][i][0] * dp[y][j][2] % P);
    /* 10 */
    pls(g[i + j][1], 1ll * dp[x][i][1] * dp[y][j][0] % P);
    /* 11 */ 
    pls(g[i + j][2], 1ll * dp[x][i][1] * dp[y][j][1] % P);
    pls(g[i + j + 1][1], 1ll * dp[x][i][1] * dp[y][j][1] % P);
    /* 12 */
    pls(g[i + j + 1][1], 2ll * dp[x][i][1] * dp[y][j][2] % P);
    pls(g[i + j][2], 1ll * dp[x][i][1] * dp[y][j][2] % P);
    /* 20 */
    pls(g[i + j][2], 1ll * dp[x][i][2] * dp[y][j][0] % P);
    /* 21 */
    pls(g[i + j + 1][0], 2ll * dp[x][i][2] * dp[y][j][1] % P);
    pls(g[i + j + 1][2], 1ll * dp[x][i][2] * dp[y][j][1] % P);
    /* 22 */
    pls(g[i + j + 1][0], 2ll * dp[x][i][2] * dp[y][j][2] % P);
    pls(g[i + j + 1][2], 2ll * dp[x][i][2] * dp[y][j][2] % P);
    
  • 相关阅读:
    ubuntu 可以用 root 登录 ftp
    正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
    HttpUtility.UrlEncode,Server.UrlEncode 的区别
    HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5
    C# 多线程task
    NET Framework 4.5 有更加简便的方法 Task.Run()
    Tuple<int, int> Dictionary<string, object>妙用
    sha1加密
    MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数
    3、Task.Factory属性
  • 原文地址:https://www.cnblogs.com/clover4/p/15328385.html
Copyright © 2011-2022 走看看