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) {
2424 adj [i ] = new ArrayList <>();
2525 }
2626 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 ];
2830 adj [u ].add (new int [] {v , w });
2931 adj [v ].add (new int [] {u , w });
3032 }
@@ -49,8 +51,11 @@ public int[] longestSpecialPath(int[][] edges, int[] nums) {
4951 private void buildDist (int u , int parent , int currDist ) {
5052 dist [u ] = currDist ;
5153 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+ }
5459 buildDist (v , u , currDist + w );
5560 }
5661 }
@@ -78,7 +83,9 @@ private void dfs(int u, int parent) {
7883 }
7984 for (int [] edge : adj [u ]) {
8085 int v = edge [0 ];
81- if (v == parent ) continue ;
86+ if (v == parent ) {
87+ continue ;
88+ }
8289 dfs (v , u );
8390 }
8491 pathStack .remove (pathStack .size () - 1 );
Original file line number Diff line number Diff line change 44
55public class Solution {
66 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 ;
912 for (long i = 0 ; i < b ; ++i ) {
1013 numer = numer * (a - i ) % mod ;
1114 denom = denom * (i + 1 ) % mod ;
1215 }
13- long denom_inv = 1 ;
16+ long denomInv = 1 ;
1417 long exp = mod - 2 ;
1518 while (exp > 0 ) {
1619 if (exp % 2 > 0 ) {
17- denom_inv = denom_inv * denom % mod ;
20+ denomInv = denomInv * denom % mod ;
1821 }
1922 denom = denom * denom % mod ;
2023 exp /= 2 ;
2124 }
22- return numer * denom_inv % mod ;
25+ return numer * denomInv % mod ;
2326 }
2427
2528 public int distanceSum (int m , int n , int k ) {
26- long res = 0 , mod = 1000000007 ;
29+ long res = 0 ;
30+ long mod = 1000000007 ;
2731 long base = comb ((long ) m * n - 2 , k - 2 , mod );
2832 for (int d = 1 ; d < n ; ++d ) {
2933 res = (res + (long ) d * (n - d ) % mod * m % mod * m % mod ) % mod ;
You can’t perform that action at this time.
0 commit comments