当前位置: 首页 > news >正文

网站建设行业动态推广衣服的软文

网站建设行业动态,推广衣服的软文,网页设计师证书考试,网站开发干嘛题意 传送门 HDU 6391 Lord Li’s problem 题解 仅考虑 S i ≠ T i S_i\neq T_i Si​Ti​ 的数量 m m m,最后答案除以 ( n m ) \binom{n}{m} (mn​) 即可。考虑 X X X 的排列,最后答案除以 k ! k! k! 即可。 d p [ i 1 ] [ j ] dp[i1][j] dp[…
题意

传送门 HDU 6391 Lord Li’s problem

题解

仅考虑 S i ≠ T i S_i\neq T_i Si=Ti 的数量 m m m,最后答案除以 ( n m ) \binom{n}{m} (mn) 即可。考虑 X X X 的排列,最后答案除以 k ! k! k! 即可。

d p [ i + 1 ] [ j ] dp[i+1][j] dp[i+1][j] 代表考虑 X 0 ⋯ X i X_0\cdots X_i X0Xi,这些数字异或和中 1 的数量为 j j j 情况下方案的数量。令 a , b a,b a,b 分别为将 X i X_i Xi 异或进来后,异或和为 0 和 1 的数量,对应的贡献为 d p [ i ] [ j ] ⋅ ( j a ) ⋅ ( n − j b ) dp[i][j]\cdot\binom{j}{a}\cdot\binom{n-j}{b} dp[i][j](aj)(bnj) X i X_i Xi 可以为任意数字,那么要从 d p [ i + 1 ] [ j ] dp[i+1][j] dp[i+1][j] 中减去 X i X_i Xi 之前出现过的情况,对应的贡献为 d p [ i − 1 ] [ j ] ⋅ i ⋅ [ ( n 3 ) − ( i − 1 ) ] dp[i-1][j]\cdot i\cdot[\binom{n}{3}-(i-1)] dp[i1][j]i[(3n)(i1)]。单个样例时间复杂度 O ( n k ) O(nk) O(nk)

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int MOD = 19260817;
constexpr int N = 42;
ll fac[N], inv[N], invf[N];int main() {ios::sync_with_stdio(false);cin.tie(nullptr);fac[0] = invf[0] = 1;fac[1] = inv[1] = invf[1] = 1;for (int i = 2; i < N; ++i) {fac[i] = fac[i - 1] * i % MOD;inv[i] = (MOD - MOD / i) * inv[MOD % i] % MOD;invf[i] = invf[i - 1] * inv[i] % MOD;}auto get = [&](int n, int m) -> ll {if (n < 0 || m < 0 || n < m) {return 0;}return fac[n] * invf[m] % MOD * invf[n - m] % MOD;};auto power = [&](ll x, int n) -> ll {ll res = 1;while (n > 0) {if (n & 1) {(res *= x) %= MOD;}(x *= x) %= MOD, n >>= 1;}return res;};int n, k, tt = 0;while (cin >> n >> k) {tt += 1;if (n == 0 && k == 0) {break;}string s, t;cin >> s >> t;int m = 0;for (int i = 0; i < n; ++i) {m += s[i] != t[i];}vector<vector<ll>> dp(k + 1, vector<ll>(n + 1));dp[0][0] = 1;for (int i = 0; i < k; ++i) {for (int j = 0; j <= n; ++j) {for (int a = 0; a <= 3; ++a) {int b = 3 - a;int nxt = j + (b - a);if (0 <= nxt && nxt <= n) {(dp[i + 1][nxt] += dp[i][j] * get(j, a) % MOD * get(n - j, b) % MOD) %= MOD;}}}if (i - 1 >= 0) {for (int j = 0; j <= n; ++j) {dp[i + 1][j] -= dp[i - 1][j] * i % MOD * (get(n, 3) - (i - 1)) % MOD;(dp[i + 1][j] += MOD) %= MOD;}}}ll res = dp[k][m];(res *= invf[k]) %= MOD;(res *= power(get(n, m), MOD - 2)) %= MOD;cout << "Case #" << tt << ": " << res << '\n';}return 0;
}
http://www.mmbaike.com/news/86561.html

相关文章:

  • 建平台网站费用武汉百度开户电话
  • 家装公司图片网站关键词排名优化工具
  • 做暧暧网站什么是网站外链
  • 蓝奏云注册网站海外网络推广方案
  • 世界疫情最新数据排行榜北京外包seo公司
  • 前端课程网站注册推广赚钱一个80元
  • 别人做的网站怎么安全放在我的公司关键词优化seo费用
  • 像芥末堆做内容的网站外链网盘系统
  • 无版权视频素材网站2024年阳性什么症状
  • 南京正规小程序开发公司seo网站管理招聘
  • 在公司网站投简历该怎么做seo技术培训中心
  • 深圳科技公司seo刷关键词排名优化
  • 江苏做帖子网站如何推广品牌知名度
  • 汇云网站建设苏州seo关键词优化价格
  • 做外贸网站能用虚拟主机吗软文新闻发布网站
  • 台州商城网站建设外贸接单平台
  • 哪里找需要网站建设的最新疫情新闻100字
  • 浦东网站开发培训专业北京seo公司
  • 聊城冠县网站建设宣传推广的形式有哪些
  • 上海兼职网站制作西安关键词排名优化
  • 阿里云建设网站步骤如何创建网站
  • 网站架构图用什么画黄页网
  • 数字媒体艺术设计主要学什么百度优化是什么意思
  • 成都网站建设推荐q479185700顶上推广业务
  • 西安网站建设兼职网络推广怎么收费
  • 中央两学一做专题网站百度搜索推广平台
  • 电子商务网站需要做那些准备工作郑州seo线下培训
  • 免费的动态ppt网站今天刚刚发生的新闻最新新闻
  • python web 做的网站软文范例100字
  • 个人做网站被骗seo点击软件