在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何理解POJ 1986 java代码实现

116次阅读
没有评论

共计 2259 个字符,预计需要花费 6 分钟才能阅读完成。

今天就跟大家聊聊有关如何理解 POJ 1986 java 代码实现,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

package pro.yao10_16LCA;
import java.util.*;
import java.io.*;
7 6
1 6 13 E
6 3 9 E
3 5 7 S
4 1 3 N
2 4 20 W
4 7 2 S
1 6
1 4
2 6
 * @author XASW
 *
 */
public class Main {
static int T,N,Q,S,E,W,set[],vis[],D[],first[]; static Node[] nodes; static List Integer[]  arrayV[]; public static void main(String[] args) throws Exception{BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(bf.readLine()); N = Integer.valueOf(st.nextToken()); Q = Integer.valueOf(st.nextToken()); arrayV = new ArrayList[N+1]; nodes = new Node[Q*2 +2]; set = new int[N+1]; vis = new int[N+1]; D = new int[N+1]; first = new int[N+1]; for (int i = 0; i   N+1; i++) {arrayV[i] = new ArrayList Integer[] set[i] = i; first[i] = -1; for (int i = 0; i   Q *2 +2; i++) {nodes[i] = new Node(); for (int i = 1; i  = Q; i++) {st = new StringTokenizer(bf.readLine()); S = Integer.valueOf(st.nextToken()); E = Integer.valueOf(st.nextToken()); W = Integer.valueOf(st.nextToken()); arrayV[S].add(new Integer[] {E,W}); arrayV[E].add(new Integer[] {S,W}); st = new StringTokenizer(bf.readLine()); Q = Integer.valueOf(st.nextToken()); for (int i = 0; i   Q; i++) {st = new StringTokenizer(bf.readLine()); S = Integer.valueOf(st.nextToken()); E = Integer.valueOf(st.nextToken()); add(S,E,i*2); add(E,S,i*2+1); D[1] = 0; tarjan(1); for (int i = 0; i   Q; i++) { int id = i*2; int u = nodes[id].from; int v = nodes[id].to; int lca = nodes[id].lca; System.out.println(D[u] + D[v]-2*D[lca]); static void tarjan(int u) {vis[u] = 1; for (int i = 0; i   arrayV[u].size(); i++) {Integer[] s = arrayV[u].get(i); if(vis[s[0]]==1) continue; D[s[0]] = D[u]+s[1]; tarjan(s[0]); join(s[0],u); for (int i = first[u]; i != -1; i=nodes[i].next) {int v = nodes[i].to; if(vis[v]==0)continue; nodes[i].lca = nodes[i^1].lca = find(v); static void add(int u,int v,int cnt) {nodes[cnt].to = v; nodes[cnt].from = u; nodes[cnt].next = first[u]; first[u] = cnt; static int find(int a) {if(set[a] == a) {return set[a]; return set[a] = find(set[a]); static void join(int a,int b) {int A = find(a); int B = find(b); if(A!=B) {set[A] = B; static class Node{ int from; int to; int next; int lca; }

看完上述内容,你们对如何理解 POJ 1986 java 代码实现有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计2259字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: aika在线观看 | 四虎影视在线 | 秋霞韩国最新免费观看理论 | 黄色亚洲视频 | 国产揄拍国产精品人妻蜜 | 国产在线不卡一区二区三区 | 日本黄色a级 | 欧美整片在线观看 | 奇米影视四色狠狠888俺去啦 | 在线免费三级 | 一级aaa毛片 | 亚洲午夜成人精品无码app | 久久精品www人人爽人人 | 久久草在线视频 | 久久精品国产亚洲av无码麻豆 | 国产玖玖视频 | 思热99re视热频这里只精品 | 在线天堂中文www官网 | 亚洲无亚洲人成网站77777 | a级大胆欧美人体大胆666 | 亚洲国产成人手机在线观看 | 成人精品亚洲 | 无码中文人妻在线一区二区三区 | 国产成人高清亚洲一区久久 | 九九精品视频在线播放8 | 国产精品久久久久这里只有精品 | 国产精品亚洲日韩欧美色窝窝色欲 | 亚洲免费二区三区 | 成人三级在线视频 | 日本a免费 | 欧美精品国产日韩综合在线 | 久久国产乱子 | 日韩 无码 偷拍 中文字幕 | 秋秋影视午夜福利高清 | 一级黄色毛片免费看 | 国产亚洲av人片在线观看 | 九九免费精品视频 | 成人免费网站久久久 | 免费福利在线视频 | 国产aa视频 | 色欲香天天天综合网站 |