Posts

Algo2

GRAPH ////  dijackstra  const ll N = 1e5+7; vector<pair<ll,ll>>g[N]; bool vis[N]; vector<ll>distancee(N,1e18); ll parent[N]; void djk(ll src) {     set<pair<ll,ll>>sat;     sat.insert({0,src});     distancee[src] = 0;     parent[1] = -1;     while(sat.size()>0)     {         auto pr = *sat.begin();         ll u_wt = pr.ff;         ll u = pr.ss;         sat.erase(sat.begin());         if(vis[u])         {             continue;         }         vis[u] = true;         for(auto &p : g[u])         {             ll v = p.ff;             ll v_wt = p.ss;             if(distancee[u]+v_wt<distancee[v])             {                 distancee[v] = distancee[u]+v_wt;                 sat.insert({distancee[u]+v_wt,v});                 parent[v] = u;             }         }     } } int main() {     ios::sync_with_stdio(false);     cin.tie(0);     ll t;     cin >> t;     while(t--)     {         ll n,e,start,endx;         cin >> n >> e >>

Algo

// Mergesort void merge ( ll arr [], ll lft , ll mid , ll rgt ){     ll n1 = mid - lft + 1 ;     ll n2 = rgt - mid ;     ll a [ n1 + 1 ];     ll b [ n2 + 1 ];     for (ll i = 0 ; i < n1 ; i ++ ){         a [ i ] = arr [ lft + i ];     }     for (ll i = 0 ; i < n2 ; i ++ ){         b [ i ] = arr [ mid + 1 + i ];     }     a [ n1 ] = b [ n2 ] = INT_MAX;     ll i1 = 0 ;     ll i2 = 0 ;     for (ll i = lft ; i <= rgt ; i ++ ){         if ( a [ i1 ] <= b [ i2 ]){             arr [ i ] = a [ i1 ];             i1 ++ ;         }         else {             arr [ i ] = b [ i2 ];             i2 ++ ;         }     } } void mergesort ( ll arr [], ll lft , ll rgt ) {     if ( lft < rgt ){         ll mid = ( lft + rgt ) / 2 ;         mergesort ( arr , lft , mid );         mergesort ( arr , mid + 1 , rgt );         merge ( arr , lft , mid , rgt );     } } //---------------------------------------------------------------------------------------------------- //q

temp2

//https://drive.google.com/drive/folders/1jpkE2jz0UaxAVG3gE6Itk6LbKEqWLDW5 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std ; using namespace __gnu_pbds ; #define ordered_set tree < ll, null_type , less < ll > , rb_tree_tag , tree_order_statistics_node_update > //order_of_key (k) : Number of items strictly smaller than k . //find_by_order(k) : K-th element in a set (counting from zero). (returns to an iterator) #define ll long long int #define llu unsigned long long int #define pi 3.14159265359 #define lcm ( x , y ) (x / gcd (x, y)) * y #define sin ( x ) sin ((x / 180.0 ) * pi ) #define cos ( x ) cos ((x / 180.0 ) * pi ) #define tan ( x ) tan ((x / 180.0 ) * pi ) #define len ( x1 , y1 , x2 , y2 ) hypot (x1 - x2, y1 - y2) #define sorta ( v ) sort ( v . begin (), v . end ()) #define sortd ( v ) sort ( v . begin (), v . end (), greater <>()) #

temp

#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std ; using namespace __gnu_pbds ; #define ordered_set tree < ll, null_type , less < ll > , rb_tree_tag , tree_order_statistics_node_update > #define ll long long int #define llu unsigned long long int #define pi 3.14159265359 #define lcm ( x , y ) (x / gcd (x, y)) * y #define sin ( x ) sin ((x / 180.0 ) * pi ) #define cos ( x ) cos ((x / 180.0 ) * pi ) #define tan ( x ) tan ((x / 180.0 ) * pi ) #define len ( x1 , y1 , x2 , y2 ) hypot (x1 - x2, y1 - y2) #define sorta ( v ) sort ( v . begin (), v . end ()) #define sortd ( v ) sort ( v . begin (), v . end (), greater <>()) #define min_el ( v ) ( * min_element ((v). begin (), (v). end ())) #define max_el ( v ) ( * max_element ((v). begin (), (v). end ())) #define sum ( v ) ( accumulate ((v). begin (), (v). end (), 0 ll )) #define uniq ( v ) v .