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

网站的管理跟新维护有哪些郑州网站建设易云巢

网站的管理跟新维护有哪些,郑州网站建设易云巢,福建省住房和城乡建设厅网站,淘宝刷单的网站建设E - Alphabet Tiles (atcoder.jp) 题目大意:1到k长度的字符串时,在A-Z给定数量下,搭配出多少种不同的字符串 思路 排列组合,会死人的 暴搜:可以解决,但是时间太长 dp:考虑前 i 个字母&…

E - Alphabet Tiles (atcoder.jp)

题目大意:1到k长度的字符串时,在A-Z给定数量下,搭配出多少种不同的字符串

思路

排列组合,会死人的

暴搜:可以解决,但是时间太长

dp:考虑前 i 个字母,在长度为 j 下的字符串,有多少种情况,这是一个背包问题

难点

现在难点就来到了转移函数了

首先 i 可以继承 i-1,对于每个字母,遍历它的个数t(1到 l ,其中 l 是当前遍历的长度与字母个数的最小值),把 j-t的方案数乘以C(j,k) [相当于是分步乘法,把没有这个字母下j-t个已排好的位置放入c个当前字母,所以乘以“在j个位置下挑c个位置,用组合数”]

难点二:初始值,把dp[0][0] 和 dp[i][0] 都置为1,情况数为1 

#include<bits/stdc++.h>
using namespace std;
#define ll long longll dp[30][1005];
ll C[1005][1005]; 
const int N = 998244353;int main()
{int k;cin >> k;for(int i = 0 ; i <= k ; i++){C[i][0] = 1;for(int j = 1 ; j <= i ; j++){C[i][j] = C[i-1][j] + C[i-1][j-1];C[i][j] %= N; }}dp[0][0] = 1;for(int i = 1 ; i <= 26 ; i++){int c;cin >> c;dp[i][0] = 1;for(int j = 1 ; j <= k ; j++){for(int l = 0 ; l <= min(j,c) ; l++){dp[i][j] = dp[i][j] + dp[i-1][j-l]*C[j][l]%N; //加上使用字母0次、1次、2次的情况 dp[i][j] %= N; }}}ll ans = 0;for(int i = 1 ; i <= k ; i++){ans += dp[26][i];ans %= N;		}cout << ans;return 0;
}

反思

转移函数除了考虑从哪里转来,还要考虑自身的结果是怎么计算的(满足题意,不重不漏,用在本题里就是每个长度的串考虑用上0个、1个、2个当前字母),还要考虑自身会被哪些值在遍历时影响到,或有多次赋值,思考如何保证值在被累加或是其它积累。

http://www.yayakq.cn/news/905686/

相关文章:

  • 新网站多久收录内页装修十大风格
  • 网站开发 商标注册ai工具推荐
  • 汇鑫网站建设方便宜昌网站建设市场
  • 静态网站素材免费推广网站怎么做
  • 论坛网站前置审批私域电商平台排名
  • 站长工具高清无吗开发公司会计科目设置
  • it公论 是建立在什么网站开发一套微商城多少钱
  • 公司网站制作有哪些注意事项企业系统开发去哪家
  • 建设公司网站的意义海外网站哪个最好
  • 做网站页面的需要哪些技巧h5case 网站
  • 高端网站设计制网站如何宣传推广
  • 武威建设网站的网站唐山万唯网络科技有限公司
  • 企业网站导航一般做多高seo上海优化
  • 编程网站网址武进网站建设效果
  • 杭州网站建设公司排行做网站原型图
  • 做网站开发要注册黄冈网站推广收费标准
  • 网站建设图片编辑律师网站建设模板
  • 怎么做网站营销开服网站建设
  • 网站数据库空间什么是规划网站
  • 网站的封面怎么做厦门网站推广费用
  • 莆田制作网站企业外贸公司没网站
  • 网站做优化需要多少钱建网站报价表
  • 网站开发优惠活动方案阜阳北京网站建设
  • skech做网站交互流程四川成都设计公司
  • 宝安网站制作网站建设视频拍摄设备
  • 海外访问国内网站 dns各大推广平台
  • 网站建立电话软件培训公司
  • 西乡网站建设公司wordpress主题子主题运行速度
  • 电脑搭建网站广州网站关键字优化
  • 装修网站怎么做推广怀来建设银行网站