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

网站建设介绍文字/谷歌浏览器直接打开

网站建设介绍文字,谷歌浏览器直接打开,电商网站建设基本流程图,中国建材采购网官网1、设有一个字母表$T$&#xff0c;对于一个单词$w$&#xff0c;若对于任意的$0\leq i< |w|-1$&#xff0c;满足$w_{i}$在$T$中的排名小于等于$w_{i1}$在$T$中的排名&#xff0c;则称$s$在$T$中是合法的。给出一个仅包含小写字母的单词集合$S$&#xff0c;重新排列字母表$T$得…

1、设有一个字母表$T$,对于一个单词$w$,若对于任意的$0\leq i< |w|-1$,满足$w_{i}$在$T$中的排名小于等于$w_{i+1}$在$T$中的排名,则称$s$在$T$中是合法的。给出一个仅包含小写字母的单词集合$S$,重新排列字母表$T$得到新的字母表$T^{'}$,使得$S$中每个单词在$T^{'}$下是合法的。问是否存在这样的$T^{'}$。

思路:建立有向图。不存在环即可。可以拓扑排序或者用floyd判断。

import java.util.*;
import java.io.*;public class AlphabetOrderDiv1
{int[][] g=new int[26][26];public String isOrdered(String[] words){for(int i=0;i<26;++i) g[i][i]=1;for(int i=0;i<words.length;++i){String s=words[i];for(int j=0;j+1<s.length();++j){int x=s.charAt(j)-'a';int y=s.charAt(j+1)-'a';g[x][y]=1;}}for(int i=0;i<26;++i) {for(int j=0;j<26;++j) {for(int k=0;k<26;++k) {g[j][k]|=g[j][i]&g[i][k];}}}for(int i=0;i<26;++i) {for(int j=0;j<i;++j) {if(g[i][j]!=0&&g[j][i]!=0) return "Impossible";}}return "Possible";}
}

  

2、有n个盒子。每个盒子有1个糖。有一个大小为$n*m$转换矩阵$T$。进行$10^{100}$次操作,每次操作如下:(1)选择一个$j,0\leq j< m$,对所有的$i,0\leq i< n$,将第$i$个盒子的糖倒入到第$T[i][j]$个盒子。问最后最少有几个盒子中有糖?

思路:首先,每进行一次操作,有糖的盒子的数目不会变多。其次,假设一开始进行的操作序列为$S$,设这时候的状态为$x$,然后进行一个操作序列$P$,随后再进行一个操作序列$S$,设这时候的状态为$y$,那么$y$时有糖的盒子是状态$x$时有糖的盒子的子集。

基于这两个结果,操作的流程为:判断当前是否存在两个盒子,使得经过某个操作序列$P$后,这两个盒子在操作后合并到同一个盒子,那么就执行该操作序列$P$。直到不存在这样的两个盒子即可。

import java.util.*;public class MovingTokens {int[][] A;int N,M;int[][] B;List<List<Integer>> T=new ArrayList<List<Integer>>();int[][] f;int K=0;boolean dfs(int x,int y,LinkedList<Integer> path){if(x==y) return true;if(f[x][y]==K) return false;f[x][y]=K;for(int j=0;j<M;++j){int xx=A[x][j];int yy=A[y][j];if(dfs(xx,yy,path)) {path.addFirst(j);return true;}}return false;}int cal(int x,int y){if(B[x][y]!=-2) return B[x][y];++K;LinkedList<Integer> path=new LinkedList<Integer>();if(dfs(x,y,path)) {T.add(path);return B[x][y]=T.size()-1;}else {return B[x][y]=-1;}}void transform(int x,int y,int[] a){int id=B[x][y];int[] b=new int[N];for(int cur=0;cur<T.get(id).size();++cur){int j=T.get(id).get(cur);for(int i=0;i<N;++i) {b[i]=a[i];a[i]=0;}for(int i=0;i<N;++i) a[A[i][j]]+=b[i];}}public int move(int n, int m, int[] moves) {A=new int[n][m];for(int i=0;i<n;++i) {for(int j=0;j<m;++j) {A[i][j]=moves[j*n+i];}}this.N=n;this.M=m;B=new int[N][N];f=new int[N][N];for(int i=0;i<N;++i) {for(int j=i+1;j<N;++j) {B[i][j]=-2;}}int[] a=new int[N];for(int i=0;i<N;++i) a[i]=1;while(true){int x=-1,y=-1;all:for(int i=0;i<N;++i) {if(a[i]!=0) {for(int j=i+1;j<N;++j) {if(a[j]!=0&&cal(i,j)!=-1){x=i;y=j;break all;}}}}if(x==-1) break;transform(x,y,a);}int cnt=0;for(int i=0;i<N;++i) {if(a[i]!=0) ++cnt;}return cnt;}
}

  

转载于:https://www.cnblogs.com/jianglangcaijin/p/6519279.html

http://www.lbrq.cn/news/1286011.html

相关文章:

  • 专门做logo的网站/谷歌浏览器怎么下载
  • 网站做常规优化/百度快照优化
  • 免费php开源建站系统/爱站网关键词长尾挖掘工具
  • 做什网站推广真实有效/西安网站快速排名提升
  • 品牌网站建设报价方案/百度产品有哪些
  • 湘潭网站建设/做网站需要什么技术
  • 高级服装定制网站/百度地图推广怎么做的
  • 绍兴网站开发/网址百度刷排名
  • 电子商务网站经营性icp/bt磁力链好用的引擎
  • 网站备案有用/目前好的推广平台
  • 做阿里渠道的销售要有哪些网站/小红书seo是什么意思
  • 做政府门户网站建设/东莞网络排名优化
  • 商商业网站建设/企业网站推广可以选择哪些方法
  • 西安有哪些做网站建设的公司/青岛新闻最新今日头条
  • 网站制作的设备环境/网站服务器查询工具
  • 常州网络公司客户服务/seo全网营销
  • 武汉建设局网站/重庆百度推广优化
  • 网站备案删除/seo费用价格
  • 聊城哪儿做网站便宜/seo基础知识培训
  • 北京网站建设搜q.479185700/北京seo排名外包
  • 财务公司网站模板下载/seo优化快速排名
  • 织梦大气婚纱影楼网站源码/河南网站关键词优化代理
  • 微信公众号做网站/台州seo排名外包
  • 个人门户网站模板下载/免费seo排名网站
  • 马尔康网站建设/苏州网站建设方案
  • 网站做收录/网站制作公司怎么样
  • 青岛开发区网站建设公司/互联网营销培训
  • 网站死链接查询/迅雷磁力链bt磁力种子
  • 国内论坛网站有哪些/我想注册一个网站怎么注册
  • 开封旅游网站建设方案策划书/怎么推广app让人去下载
  • Android ADB命令之内存统计与分析
  • Flutter控件归纳总结
  • Linux——线程同步
  • Zama+OpenZeppelin:将机密智能合约带入 DeFi 和数字资产领域
  • 《Java 程序设计》第 6 章 - 字符串
  • python基础:request模块简介与安装、基本使用,如何发送get请求响应数据,response属性与请求头