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

vi设计理念和设计思路太原百度网站排名优化

vi设计理念和设计思路,太原百度网站排名优化,质控中心网站建设申请,微信公众号运营模式解析 比较复杂的一道题 看数据范围#xff0c;我们肯定要从种类很少的颜色入手 因为第二种加边方式和颜色密切相关 所以设计disi,kdis_{i,k}disi,k​表示 i 号节点到颜色为 k 的节点的最小步数 通过对每个k bfs一遍就能得出答案 然后两个点之间的距离就可以写出转移式#…解析 比较复杂的一道题 看数据范围我们肯定要从种类很少的颜色入手 因为第二种加边方式和颜色密切相关 所以设计disi,kdis_{i,k}disi,k​表示 i 号节点到颜色为 k 的节点的最小步数 通过对每个k bfs一遍就能得出答案 然后两个点之间的距离就可以写出转移式 fi,jmin⁡(∣i−j∣,min⁡k8disi,kdisj,k1)f_{i,j}\min (|i-j|, \min_k^8dis_{i,k}dis_{j,k}1)fi,j​min(∣i−j∣,kmin8​disi,k​disj,k​1) 考虑这样我们就得到了一种n2n^2n2的算法 考虑如何加速 首先由于最差情况就是aabbcc…这样的情形答案不会超过15所以第一项我们只需要在距离[i-15,i-1]的区间考虑可以暴力求解 关键是对后面一项的处理 设计coli,jcol_{i,j}coli,j​表示从任意 i 颜色的块走到任意 j 颜色的块的最小步数 这个也可以在bfs时顺便转移 可以得到一个不等关系式 colai,j≤disi,j≤colai,j1col_{a_i,j}\leq dis_{i,j}\leq col_{a_i,j}1colai​,j​≤disi,j​≤colai​,j​1 为什么 也比较显然如果任何一个不等关系不符合col和dis数组就会在bfs时互相更新使这个不等关系重新满足 所以我们的dis-col的差值只可能为0或1,我们可以把8个对应的差值状态压缩然后一起求解 实现上建议把所有状态的结果预处理出来会在瓶颈部分少一个8的循环应该快很多 代码 #includebits/stdc.hconst int N1e5100; const int mod1e97; #define ll long long using namespace std; inline ll read() {ll x(0),f(1);char cgetchar();while(!isdigit(c)) {if(c-)f-1;cgetchar();}while(isdigit(c)) {x(x1)(x3)c-0;cgetchar();}return x*f; }int n,m;int col[9][9],dis[N][9],a[N]; bool vis[N]; char s[N]; int q[N],st,ed; int dx[3]{0,1,-1}; vectorintv[9]; void bfs(int k){memset(vis,0,sizeof(vis));st1;ed0;for(int i1;in;i){if(a[i]k) q[ed]i,vis[i]1;}col[k][k]0;while(sted){int nowq[st];for(int i1;i2;i){int tonowdx[i];if(vis[to]||to0||ton) continue;vis[to]1;dis[to][k]dis[now][k]1;q[ed]to;}if(col[k][a[now]]1e9){col[k][a[now]]dis[now][k];for(int i0,tpv[a[now]].size();itp;i){int xv[a[now]][i];if(!vis[x]){dis[x][k]dis[now][k]1;q[ed]x;vis[x]1;}}}}return; } int mi[15],cst[2060][2060]; int sta[N],num[2060]; int main(){ #ifndef ONLINE_JUDGEfreopen(a.in,r,stdin);freopen(a.out,w,stdout); #endifnread();scanf( %s,s1);for(int i1;i8;i){for(int j1;j8;j) col[i][j]1e9;}for(int i1;in;i) a[i]s[i]-a1,v[a[i]].push_back(i);for(int i1;i8;i) bfs(i);mi[0]1;for(int i1;i11;i) mi[i]mi[i-1]1;for(int i0;imi[11];i){for(int j0;jmi[11];j){int a(i8)1,b(j8)1;int res2e9;for(int k1;k8;k){resmin(res,col[a][k]1col[b][k]((imi[k-1])?1:0)((jmi[k-1])?1:0));}cst[i][j]res;}}for(int i1;in;i){int sa[i]-1,oa[i];for(int k8;k1;k--){s1;if(dis[i][k]col[o][k]) s|1;}sta[i]s;}int ans(0);ll sum(0);for(int i1;in;i){for(int jmax(i-15,1);ji;j){int wmin(i-j,cst[sta[i]][sta[j]]);if(wans){answ;sum1;}else if(wans) sum;}for(int s0;smi[11];s){if(!num[s]) continue;if(cst[s][sta[i]]ans) anscst[s][sta[i]],sumnum[s];else if(cst[s][sta[i]]ans) sumnum[s];}if(i16) num[sta[i-15]];}//printf(st[1]%d st[7]%d\n,sta[1],sta[7]);//printf(dis[1][1]%d col[3][1]%d\n,dis[1][1],col[3][1]);printf(%d %lld\n,ans,sum);return 0; }
http://wiki.neutronadmin.com/news/220781/

相关文章:

  • 做app网站的软件叫什么名字吗网站开发项目推荐
  • 网站源码上传安装广州百度推广电话
  • 上海建设手机网站高州网站开发公司
  • 青岛网站推广企业广西红豆社区梧州论坛
  • 基于lamp网站建设实例深入理解wordpress
  • 微网站开发商网站建成
  • 在线观看免费网站开发公司会议提纲
  • WordPress整站搬家插件网站建设ningqueseo
  • wordpress升级需要ftp网站优化的主要目的是什么
  • 黄州区精神文明建设网站网站制作包括数据库吗
  • 丹江口网站制作办公室装修设计网站
  • 群晖wordpress建站教程网站建设邀标比选
  • 兰州专业网站建设公司wordpress个人下载网站模板
  • 对网站建设的维护wordpress知更鸟企业主题
  • 一般网站建设公司怎么收费网站备案规定
  • 在线优化网站建设郑州 服装网站建设
  • 安卓图形网站建设西安seo关键词排名优化
  • 网站建设与管理职业分析市场调研报告总结
  • 做五金上哪个网站推广wordpress修改元内容
  • wordpress扒站一般营销方式三大步骤
  • 企业建设营销网站的目的西宁好的网站建设公司
  • 自助网站设计平台百度怎么做开锁网站
  • 什么叫网站策划书我的个人主页模板
  • 网站更换服务器对seo的影响无锡企业网站建设报价
  • 家居企业网站建设报价抖音seo怎么做的
  • 网站制作排名网站的分页效果怎么做
  • 申请学校网站建设申请书个人怎么做互联网推广平台
  • 镇赉县做网站的企业团队建设案例公司
  • 中国建设银行网站的社保板块在哪里查询优惠券的网站如何做
  • 个人网站建立展示型网站 asp.net