zoukankan      html  css  js  c++  java
  • 20201029题解

    t1

    (t)组数据,(inf(s))表示字符串s的无限重复。比较(inf(a))(inf(b))

    (|a|,|b|<=10^5,t<=10)

    直接把(a)(b)扩大二倍然后把短的重复对齐到长的比较即可。

    (std)做法:比较(a+b)(b+a)

    t2

    给出(n,m)。问可以构造出多少序列(x)满足:

    (sqrt{x_1}+sqrt{x_2}+...+sqrt{x_n}=sqrt{m})

    求方案数模(1e9+7).

    先把(sqrt{m})提出最大的系数k,使其根号下剩的数不能表示成(sqrt{x}+sqrt{x})的形式。
    提k的方法:枚举完全平方数,判断m可以整除的最大ii,提出i。
    或者质因数分解,若cnt>=2将k
    =i*cnt/2。
    然后问题转化成经典问题:
    k个相同的球,放进n个不同盒子,可以有空盒的方案数。

    (C^{n-1}_{n+k-1})
    组合数的(O(n))求法:先预处理出阶乘,然后直接带入组合数公式,注意除法取模要求逆元。

  • 相关阅读:
    任务安排(代价提前付)
    10 01模拟赛订正
    哈希hash
    初学期望
    P1251 递推专练3
    P1229-神秘岛
    P1228-重叠的图像
    白银莲花池
    求强连通分量
    割边
  • 原文地址:https://www.cnblogs.com/zdxx/p/13898708.html
Copyright © 2011-2022 走看看