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

网站在线备案网站建设专业名词

网站在线备案,网站建设专业名词,项目免费推广平台,广州免费拍卖公司链接#xff1a;Iroha Loves Strings - AtCoder arc058_d - Virtual Judge 利用bitset这一数据结构#xff0c;定义bitset类型的变量dp[i]表示第i到n个字符串能拼成的字符串长度都有哪些#xff0c;比如00100101#xff0c;表示能拼成的长度有0,2,5#xff0c;#xff0…链接Iroha Loves Strings - AtCoder arc058_d - Virtual Judge 利用bitset这一数据结构定义bitset类型的变量dp[i]表示第i到n个字符串能拼成的字符串长度都有哪些比如00100101表示能拼成的长度有0,2,5注意bitset中的元素从右往左看下标从0开始利用递推关系更新dp[i]如下 dp[i] dp[i1] | (dp[i1] s[i]的长度) 若dp[i][k] 1说明第i到第n个字符串可以拼成长度为k的字符串 之后模拟取数i从1到k进行遍历每次取当前能取的最小的字符具体实现方式如下以下描述建议结合代码看 定义候选对数组 pairint,int sel[i][j]i为0或1用作开关变量j是候选对象的编号从1到cnt或ncnt每个sel[i][j]中存的是 候选字符所在的字符串的序号候选字符在该字符串中的下标 第一个字符的候选字符串i要满足dp[i1][k-s[i]的长度] 1也就是选了第i个字符串后之后的字符串必须保证能拼成(k-s[i]的长度)的长度的字符串将pairi,0加入sel i从1到k遍历每次在所有候选字符中选择字典序最小的那个字符作为答案接着分情况讨论 1.如果字符串还没用完就继续将该字符串的下一个元素加入候选队列如果有这样的字符串 ab和ac那么b和c都应该加入候选队列 2.如果有一个字符串用完了可能出现这样的情况abc abc这时应该先选前面的“abc”因为选完编号为i的字符串后新入选的字符串的下标从 i1 开始如果选了第二个或后面的就会有字符串没法被用到从而导致丢失解或错误解新入选的字符串编号为 j 要满足dp[ j1 ][ k-i-新字符串的长度 ]等于1这样选其能确保最终构成的字符串有可能长度为k将pair新字符串的编号0加入sel中 复杂度估计nk 注意 bitset和pair定义的先后会影响程序运行对错正确的顺序是先定义bitset后定义pair原因涉及到C语言本身 #includebits/stdc.h using namespace std;const int maxn2005,maxk1e45; char s[maxn][maxk]; int len[maxn]; int n,k; bitsetmaxk dp[maxn]; pairint,int sel[2][maxn];//pair和bitset的先后问题int main() {ios::sync_with_stdio(0);cin.tie(0);//freopen(D:\\in.txt,r,stdin);cinnk;for(int i1;in;i){cins[i];len[i]strlen(s[i]);}dp[n1][0]1;for(int in;i1;i--){dp[i](dp[i1] | (dp[i1]len[i]));}int cnt0;//挑出第一个字符的可选对象for(int i1;in;i){if(dp[i1][k-len[i]]){//printf(%d可选\n,i);sel[0][cnt]{i,0};}}int t1;for(int i1;ik;i){int ncnt0;t^1;char curz;for(int j1;jcnt;j){curmin(cur,s[sel[t][j].first][sel[t][j].second]);}coutcur;//更新下一组候选对象int minidn1;for(int j1;jcnt;j){int idsel[t][j].first,possel[t][j].second;if(s[id][pos]!cur) continue;if(poslen[id]-1){sel[t^1][ncnt]{id,pos1};}else{minidmin(minid,id); //选序号最小的这样后面的字符串还能用得上不然会白白浪费字符串}}for(int jminid1;jn;j){if(k-i-len[j]0 dp[j1][k-i-len[j]]){sel[t^1][ncnt]{j,0};}}cntncnt;}return 0; }
http://www.hkea.cn/news/14410739/

相关文章:

  • 哪里有网站开发团队杭州专业网站建设
  • 罗湖商城网站设计推荐新上市手机
  • 重庆做网站找谁h5case什么网站
  • 商城网站建设哪家效益快禹城建设局网站
  • 政务门户网站建设方案建设银行官方网站下载安装
  • 开发网站app公司优化seo哪家好
  • 招聘网站维护什么内容济南房产网官网
  • 珠海做网站需要多少钱微信公众号的模板网站
  • 站点提交网站建设企业站模板
  • 免费域名申请网站怎样用编程语言做网站
  • 个人主页网站申请做网站要服务器和什么
  • 东莞网站设计师湖北seo排名诊断
  • 温州旅游 网站建设网站建设重点是什么
  • 门户网站怎么做wordpress修改背景
  • 深圳网站建设方维网络网站建设实施计划
  • 暴利产品竞价单页网站seo优化方式包括
  • 给女朋友做网站 知乎医院网站建设台账
  • 网站后台无法更新缓存内蒙古建设部网站官网
  • 专业网站设计 网络服务网站的修改
  • 深圳宝安高端网站建设公司wordpress子站点解析
  • 专业的建设企业网站公司wordpress首页图片幻灯片播放
  • 如何做网站编辑 沒技术上海搜索引擎优化公司排名
  • 网站运营情况怎么写龙岩天宫山旅游攻略
  • 建筑公司网站应该则么做北京企业网站开发公司哪家好
  • 网站seo的推广计划用表格做网站教程
  • 邯郸网站建设xy0310网站建设只有20%的利润
  • 设计外包网站中小企业网站建设中服务器的解决方案是
  • jsp网站怎么做邮箱验证码西安百度seo
  • 企业网站建设联系网站建设公司 待遇
  • 免费设计自己名字头像宁波正规优化seo软件