6741
6741
< ul class ="metadata page-metadata " data-bi-name ="page info " lang ="en-us " dir ="ltr ">
6742
6742
6743
6743
Last update:
6744
- < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date " title ="June 28 , 2025 20:57:36 UTC "> June 28 , 2025</ span >  
6744
+ < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date " title ="June 29 , 2025 19:28:11 UTC "> June 29 , 2025</ span >  
6745
6745
6746
6746
<!-- Tags -->
6747
6747
@@ -6911,7 +6911,7 @@ <h4 id="implementation-of-the-algorithm">Implementation of the algorithm<a class
6911
6911
< span class ="k "> struct</ span > < span class ="w "> </ span > < span class ="nc "> RealPoint</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
6912
6912
< span class ="w "> </ span > < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> ;</ span >
6913
6913
< span class ="w "> </ span > < span class ="n "> RealPoint</ span > < span class ="p "> ()</ span > < span class ="w "> </ span > < span class ="p "> {}</ span >
6914
- < span class ="w "> </ span > < span class ="n "> RealPoint</ span > < span class ="p "> (</ span > < span class ="n "> T </ span > < span class ="w "> </ span > < span class ="n "> x_</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> T </ span > < span class ="w "> </ span > < span class ="n "> y_</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> (</ span > < span class ="n "> x_</ span > < span class ="p "> ),</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> (</ span > < span class ="n "> y_</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {}</ span >
6914
+ < span class ="w "> </ span > < span class ="n "> RealPoint</ span > < span class ="p "> (</ span > < span class ="n "> ld </ span > < span class ="w "> </ span > < span class ="n "> x_</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> ld </ span > < span class ="w "> </ span > < span class ="n "> y_</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> (</ span > < span class ="n "> x_</ span > < span class ="p "> ),</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> (</ span > < span class ="n "> y_</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {}</ span >
6915
6915
< span class ="p "> };</ span >
6916
6916
< span class ="k "> using</ span > < span class ="w "> </ span > < span class ="n "> pt</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> RealPoint</ span > < span class ="p "> ;</ span >
6917
6917
@@ -6922,7 +6922,7 @@ <h4 id="implementation-of-the-algorithm">Implementation of the algorithm<a class
6922
6922
< span class ="w "> </ span > < span class ="p "> }</ span >
6923
6923
< span class ="p "> };</ span >
6924
6924
6925
- < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="nf "> dist</ span > < span class ="p "> (</ span > < span class ="n "> pt</ span > < span class ="w "> </ span > < span class ="n "> a</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> pt</ span > < span class ="w "> </ span > < span class ="n "> b</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
6925
+ < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="nf "> dist</ span > < span class ="p "> (</ span > < span class ="k " > const </ span > < span class =" w " > </ span > < span class =" n "> pt</ span > < span class ="o " > & </ span > < span class =" w "> </ span > < span class ="n "> a</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k " > const </ span > < span class =" w " > </ span > < span class =" n "> pt</ span > < span class =" o " > & </ span > < span class ="w "> </ span > < span class ="n "> b</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
6926
6926
< span class ="w "> </ span > < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="n "> dx</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> a</ span > < span class ="p "> .</ span > < span class ="n "> x</ span > < span class ="w "> </ span > < span class ="o "> -</ span > < span class ="w "> </ span > < span class ="n "> b</ span > < span class ="p "> .</ span > < span class ="n "> x</ span > < span class ="p "> ;</ span >
6927
6927
< span class ="w "> </ span > < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="n "> dy</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> a</ span > < span class ="p "> .</ span > < span class ="n "> y</ span > < span class ="w "> </ span > < span class ="o "> -</ span > < span class ="w "> </ span > < span class ="n "> b</ span > < span class ="p "> .</ span > < span class ="n "> y</ span > < span class ="p "> ;</ span >
6928
6928
< span class ="w "> </ span > < span class ="k "> return</ span > < span class ="w "> </ span > < span class ="n "> sqrt</ span > < span class ="p "> (</ span > < span class ="n "> dx</ span > < span class ="o "> *</ span > < span class ="n "> dx</ span > < span class ="w "> </ span > < span class ="o "> +</ span > < span class ="w "> </ span > < span class ="n "> dy</ span > < span class ="o "> *</ span > < span class ="n "> dy</ span > < span class ="p "> );</ span >
@@ -6936,8 +6936,8 @@ <h4 id="implementation-of-the-algorithm">Implementation of the algorithm<a class
6936
6936
< span class ="w "> </ span > < span class ="n "> unordered_map</ span > < span class ="o "> <</ span > < span class ="n "> pair</ span > < span class ="o "> <</ span > < span class ="n "> ll</ span > < span class ="p "> ,</ span > < span class ="n "> ll</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> vector</ span > < span class ="o "> <</ span > < span class ="n "> pt</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> CustomHash</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> grid</ span > < span class ="p "> ;</ span >
6937
6937
< span class ="w "> </ span > < span class ="n "> grid</ span > < span class ="p "> .</ span > < span class ="n "> reserve</ span > < span class ="p "> (</ span > < span class ="n "> n</ span > < span class ="p "> );</ span >
6938
6938
6939
- < span class ="w "> </ span > < span class ="n "> mt19937</ span > < span class ="w "> </ span > < span class ="nf "> rd </ span > < span class ="p "> (</ span > < span class ="n "> chrono</ span > < span class ="o "> ::</ span > < span class ="n "> system_clock</ span > < span class ="o "> ::</ span > < span class ="n "> now</ span > < span class ="p "> ().</ span > < span class ="n "> time_since_epoch</ span > < span class ="p "> ().</ span > < span class ="n "> count</ span > < span class ="p "> ());</ span >
6940
- < span class ="w "> </ span > < span class ="n "> uniform_int_distribution</ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> dis </ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> n</ span > < span class ="mi "> -1</ span > < span class ="p "> );</ span >
6939
+ < span class ="w "> </ span > < span class ="n "> mt19937</ span > < span class ="w "> </ span > < span class ="nf "> prng </ span > < span class ="p "> (</ span > < span class ="n "> chrono</ span > < span class ="o "> ::</ span > < span class ="n "> system_clock</ span > < span class ="o "> ::</ span > < span class ="n "> now</ span > < span class ="p "> ().</ span > < span class ="n "> time_since_epoch</ span > < span class ="p "> ().</ span > < span class ="n "> count</ span > < span class ="p "> ());</ span >
6940
+ < span class ="w "> </ span > < span class ="n "> uniform_int_distribution</ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> uniform </ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> n</ span > < span class ="mi "> -1</ span > < span class ="p "> );</ span >
6941
6941
6942
6942
< span class ="w "> </ span > < span class ="n "> ld</ span > < span class ="w "> </ span > < span class ="n "> d</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> dist</ span > < span class ="p "> (</ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="w "> </ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]);</ span >
6943
6943
< span class ="w "> </ span > < span class ="n "> pair</ span > < span class ="o "> <</ span > < span class ="n "> pt</ span > < span class ="p "> ,</ span > < span class ="n "> pt</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> closest</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="p "> {</ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="w "> </ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]};</ span >
@@ -6951,10 +6951,10 @@ <h4 id="implementation-of-the-algorithm">Implementation of the algorithm<a class
6951
6951
< span class ="w "> </ span > < span class ="p "> };</ span >
6952
6952
6953
6953
< span class ="w "> </ span > < span class ="k "> for</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> i</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="n "> i</ span > < span class ="w "> </ span > < span class ="o "> <</ span > < span class ="w "> </ span > < span class ="n "> n</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="o "> ++</ span > < span class ="n "> i</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
6954
- < span class ="w "> </ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> j</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> dis </ span > < span class ="p "> (</ span > < span class ="n "> rd </ span > < span class ="p "> );</ span >
6955
- < span class ="w "> </ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> k</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> dis </ span > < span class ="p "> (</ span > < span class ="n "> rd </ span > < span class ="p "> );</ span >
6954
+ < span class ="w "> </ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> j</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> uniform </ span > < span class ="p "> (</ span > < span class ="n "> prng </ span > < span class ="p "> );</ span >
6955
+ < span class ="w "> </ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> k</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> uniform </ span > < span class ="p "> (</ span > < span class ="n "> prng </ span > < span class ="p "> );</ span >
6956
6956
< span class ="w "> </ span > < span class ="k "> while</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> j</ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> k</ span > < span class ="p "> )</ span >
6957
- < span class ="w "> </ span > < span class ="n "> k</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> dis </ span > < span class ="p "> (</ span > < span class ="n "> rd </ span > < span class ="p "> );</ span >
6957
+ < span class ="w "> </ span > < span class ="n "> k</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> uniform </ span > < span class ="p "> (</ span > < span class ="n "> prng </ span > < span class ="p "> );</ span >
6958
6958
< span class ="w "> </ span > < span class ="n "> consider_pair</ span > < span class ="p "> (</ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="n "> j</ span > < span class ="p "> ],</ span > < span class ="w "> </ span > < span class ="n "> P</ span > < span class ="p "> [</ span > < span class ="n "> k</ span > < span class ="p "> ]);</ span >
6959
6959
< span class ="w "> </ span > < span class ="p "> }</ span >
6960
6960
@@ -6981,7 +6981,7 @@ <h4 id="implementation-of-the-algorithm">Implementation of the algorithm<a class
6981
6981
< span class ="w "> </ span > < span class ="k "> for</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> pt</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> p</ span > < span class ="w "> </ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="n "> it</ span > < span class ="p "> .</ span > < span class ="n "> second</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
6982
6982
< span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="k "> not</ span > < span class ="w "> </ span > < span class ="n "> grid</ span > < span class ="p "> .</ span > < span class ="n "> count</ span > < span class ="p "> (</ span > < span class ="n "> neighbour</ span > < span class ="p "> ))</ span > < span class ="w "> </ span > < span class ="k "> continue</ span > < span class ="p "> ;</ span >
6983
6983
< span class ="w "> </ span > < span class ="k "> for</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> pt</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> q</ span > < span class ="w "> </ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="n "> grid</ span > < span class ="p "> .</ span > < span class ="n "> at</ span > < span class ="p "> (</ span > < span class ="n "> neighbour</ span > < span class ="p "> ))</ span >
6984
- < span class ="w "> </ span > < span class ="n "> candidate_closest </ span > < span class ="p "> (</ span > < span class ="n "> p</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> q</ span > < span class ="p "> );</ span >
6984
+ < span class ="w "> </ span > < span class ="n "> consider_pair </ span > < span class ="p "> (</ span > < span class ="n "> p</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> q</ span > < span class ="p "> );</ span >
6985
6985
< span class ="w "> </ span > < span class ="p "> }</ span >
6986
6986
< span class ="w "> </ span > < span class ="p "> }</ span >
6987
6987
< span class ="w "> </ span > < span class ="p "> }</ span >
0 commit comments