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

技术支持公司做的网站怎么查非微信官方网页自己做的网站

技术支持公司做的网站怎么查,非微信官方网页自己做的网站,如何用自己的电脑做网站,万网网站开发Leetcode 2065. 最大化一张图中的路径价值 暴力DFS 容易想到,从0点出发DFS,期间维护已经走过的距离(时间)和途径点的权值之和,若访问到0点则更新答案,若下一步的距离与已走过的距离和超出了maxTime&#…

Leetcode 2065. 最大化一张图中的路径价值

暴力DFS

容易想到,从0点出发DFS,期间维护已经走过的距离(时间)和途径点的权值之和,若访问到0点则更新答案,若下一步的距离与已走过的距离和超出了maxTime,则不能向下继续DFS

注意的是,每个点的权值只会计算一次,可以使用一个boolean数组 vis[ ] 来记录该点的权值是否已经计算过
另一种方法是,每当第一次到达一个点并获得权值后,将它的权值修改为0,若后续又一次访问到该点,加0不会影响最终结果,省去vis数组的操作

超时,通过样例59 / 62

class Solution {int res;public void dfs(int x, int[] values, int[][] map, int maxTime, int time, int sum){if(x == 0){res = Math.max(res, sum);}int n = values.length;for(int i = 0 ; i < n; i ++){if(map[x][i] != 0 && time + map[x][i] <= maxTime){int val = values[i];values[i] = 0;dfs(i, values, map, maxTime, time + map[x][i], sum + val);values[i] = val;}}return ;}public int maximalPathQuality(int[] values, int[][] edges, int maxTime) {int n = values.length;int [][] map = new int [n][n];for(int[] e: edges){int a = e[0];int b = e[1];int t = e[2];map[a][b] = t;map[b][a] = t;}res = 0;int val = values[0];values[0] = 0;dfs(0, values, map, maxTime, 0, val);return res;}
}

最短路 优化剪枝

注意到,当判断一个点是否可以继续深入时,可以考虑的一种剪枝方式是,向该点前进后,若剩余的时间不足以返回0点,则不必向该点DFS
该问题转换为,判断x点回到0点的距离是否超过maxTime - time,即为0点出发的最短路问题,使用Dijstra算法实现

另一方面,当图中的点较稀疏时,使用邻接矩阵遍历找边会导致时间的浪费,因此选择使用邻接表实现图的存储

class Solution {int res;public void dfs(int x, int[] values, List<int[]>[] map, int maxTime, int time, int sum, int[] dis){if(x == 0){res = Math.max(res, sum);}int n = values.length;for(int arr[] : map[x]){int y = arr[0];int t = arr[1];// 求和时增加dis,若不足返回0点则不必DFSif(time + t + dis[y] <= maxTime){int val = values[y];values[y] = 0;dfs(y, values, map, maxTime, time + t, sum + val, dis);values[y] = val;}}return ;}public int maximalPathQuality(int[] values, int[][] edges, int maxTime) {int n = values.length;// 邻接表  map[x]为x发出的边的集合List,List中的每个int[],int[0]为终点,int[1]为距离List<int[]>[] map = new ArrayList[n];for(int i = 0 ; i < n; i ++){map[i] = new ArrayList<int[]>();}for(int[] e: edges){int a = e[0];int b = e[1];int t = e[2];map[a].add(new int[]{b, t});map[b].add(new int[]{a, t});}// dijstraint inf = Integer.MAX_VALUE;int dis[] = new int [n];Arrays.fill(dis, inf);for(int [] arr: map[0]){int y = arr[0];int t = arr[1];dis[y] = t;}boolean vis[] = new boolean[n];vis[0] = true;while(true){int min = Integer.MAX_VALUE;int index = -1;for(int i = 0 ; i < n; i ++){if(!vis[i] && dis[i] < min){min = dis[i];index = i;}}if(index == -1)break;vis[index] = true;// 遍历index点发出的边for (int[] arr : map[index]) {int v = arr[0];int t = arr[1];if (!vis[v] && dis[index] + t < dis[v]) {dis[v] = dis[index] + t;}}}// DFSres = 0;int val = values[0];values[0] = 0;dfs(0, values, map, maxTime, 0, val, dis);return res;}
}
http://www.yayakq.cn/news/756887/

相关文章:

  • 百度免费网站建设建设小网站教程
  • 手机可以建设网站吗维护网站建设
  • 上海营销型网站建设平台大理如何做百度的网站
  • 湖南网站建设公司磐石网络网站建设虚线代码
  • 网站建设对企业的发展个体户做网站与公司好
  • 做技术开发的网站莆田市荔城区建设局网站
  • 伦敦做网站百度广告联盟赚广告费
  • 免费广告设计制作网站制作ppt软件免费
  • 微网站制作电话yahoo搜索引擎
  • 自己怎么做视频网站犀牛网站建设
  • 在什么网站可以免费crm客户端
  • 单页网站源码室内设计公司的名字
  • 湖北建设监理协会网站云主机上传wordpress
  • html5网站建设思路公司母婴室建设的意义
  • 网站建设在电子商务中的作用的看法上海服装品牌网站建设
  • 卖产品的网站怎么做建设银行网站理财产品
  • 便捷的网站建设平台wordpress百度小程序
  • 备案 网站语言lollipop Wordpress
  • 网站seoapp商丘市做1企业网站的公司
  • 建设高校实验教学网站的作用做本地网站卖
  • 哪家网站做的好滁州网站建设电话
  • 住房和建设局网站产品网站怎么做
  • 清远建网站的公司盗版小说网站怎么赚钱
  • 哪个网站做中高端衣服html企业网站模板
  • 凡科网站 怎么开支付另一更新正在进行 wordpress
  • 最专业的房地产网站建设扫码登记小程序怎么做
  • 江河建设集团有限公司网站如何开一家公司创业
  • cdr里做网站超级链接哪些网站用wordpress
  • 做空包网站合法吗seo公司推荐推广平台
  • 永久免费wap自助建站网络优化是做什么的