File tree Expand file tree Collapse file tree 2 files changed +21
-10
lines changed
s3425_longest_special_path
s3426_manhattan_distances_of_all_arrangements_of_pieces Expand file tree Collapse file tree 2 files changed +21
-10
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,9 @@ public int[] longestSpecialPath(int[][] edges, int[] nums) {
24
24
adj [i ] = new ArrayList <>();
25
25
}
26
26
for (int [] e : edges ) {
27
- int u = e [0 ], v = e [1 ], w = e [2 ];
27
+ int u = e [0 ];
28
+ int v = e [1 ];
29
+ int w = e [2 ];
28
30
adj [u ].add (new int [] {v , w });
29
31
adj [v ].add (new int [] {u , w });
30
32
}
@@ -49,8 +51,11 @@ public int[] longestSpecialPath(int[][] edges, int[] nums) {
49
51
private void buildDist (int u , int parent , int currDist ) {
50
52
dist [u ] = currDist ;
51
53
for (int [] edge : adj [u ]) {
52
- int v = edge [0 ], w = edge [1 ];
53
- if (v == parent ) continue ;
54
+ int v = edge [0 ];
55
+ int w = edge [1 ];
56
+ if (v == parent ) {
57
+ continue ;
58
+ }
54
59
buildDist (v , u , currDist + w );
55
60
}
56
61
}
@@ -78,7 +83,9 @@ private void dfs(int u, int parent) {
78
83
}
79
84
for (int [] edge : adj [u ]) {
80
85
int v = edge [0 ];
81
- if (v == parent ) continue ;
86
+ if (v == parent ) {
87
+ continue ;
88
+ }
82
89
dfs (v , u );
83
90
}
84
91
pathStack .remove (pathStack .size () - 1 );
Original file line number Diff line number Diff line change 4
4
5
5
public class Solution {
6
6
private long comb (long a , long b , long mod ) {
7
- if (b > a ) return 0 ;
8
- long numer = 1 , denom = 1 ;
7
+ if (b > a ) {
8
+ return 0 ;
9
+ }
10
+ long numer = 1 ;
11
+ long denom = 1 ;
9
12
for (long i = 0 ; i < b ; ++i ) {
10
13
numer = numer * (a - i ) % mod ;
11
14
denom = denom * (i + 1 ) % mod ;
12
15
}
13
- long denom_inv = 1 ;
16
+ long denomInv = 1 ;
14
17
long exp = mod - 2 ;
15
18
while (exp > 0 ) {
16
19
if (exp % 2 > 0 ) {
17
- denom_inv = denom_inv * denom % mod ;
20
+ denomInv = denomInv * denom % mod ;
18
21
}
19
22
denom = denom * denom % mod ;
20
23
exp /= 2 ;
21
24
}
22
- return numer * denom_inv % mod ;
25
+ return numer * denomInv % mod ;
23
26
}
24
27
25
28
public int distanceSum (int m , int n , int k ) {
26
- long res = 0 , mod = 1000000007 ;
29
+ long res = 0 ;
30
+ long mod = 1000000007 ;
27
31
long base = comb ((long ) m * n - 2 , k - 2 , mod );
28
32
for (int d = 1 ; d < n ; ++d ) {
29
33
res = (res + (long ) d * (n - d ) % mod * m % mod * m % mod ) % mod ;
You can’t perform that action at this time.
0 commit comments