Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Kishan_Basic_Geometry
#include<bits/stdc++.h> using namespace std; #define ll long long int #define pb push_back #define mod 1000000007 #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<pair<ll,ll>, null_type,less<pair<ll,ll>>, rb_tree_tag,tree_order_statistics_node_update> #define Find find_by_order #define Pos order_of_key #define N 1000000 #define F(i,n) for(int i=1;i<=n;i++) #define f(i,n) for(int i=0;i<n;i++) #define pi 3.141592653589793238 struct ft { vector<ll> bit; ll n; ft(ll n1) { n = n1; bit.assign(n,0); } ll sum(ll r) { ll ret = 0; for(; r >= 0; r = (r&(r+1))-1) ret += bit[r]; return ret; } void add(ll idx, ll d) { for(; idx < n; idx = idx | (idx+1)) bit[idx] += d; } ll sum(ll l, ll r) { return sum(r) - sum(l-1); } }; ll power(ll n,ll p) { if(p==0) return 1; ll P=power(n,p/2); if(p%2==0) return ((((P%mod)*(P%mod))%mod)*(1%mod))%mod; if(p%2==1) return ((((P%mod)*(P%mod))%mod)*(n%mod))%mod; } ll prime(ll n) { if(n==1) return 0; for(ll i=2;i<=sqrt(n);i++) { if(n%i==0) return 0; } return 1; } ll fact[N+1]; ll inv[N+1]; ll pre() { fact[0]=1; inv[0]=1; for(int i=1;i<=N;i++) { fact[i]=(fact[i-1]*i)%mod; inv[i]=power(fact[i],mod-2)%mod; } } ll ncr(ll n,ll r) { if(n<r) return 0; if(r==0 || r==n) return 1; return (((fact[n]*inv[r])%mod)*inv[n-r])%mod; } struct point2d { ftype x, y; point2d() {} point2d(ftype x, ftype y): x(x), y(y) {} point2d& operator+=(const point2d &t) { x += t.x; y += t.y; return *this; } point2d& operator-=(const point2d &t) { x -= t.x; y -= t.y; return *this; } point2d& operator*=(ftype t) { x *= t; y *= t; return *this; } point2d& operator/=(ftype t) { x /= t; y /= t; return *this; } point2d operator+(const point2d &t) const { return point2d(*this) += t; } point2d operator-(const point2d &t) const { return point2d(*this) -= t; } point2d operator*(ftype t) const { return point2d(*this) *= t; } point2d operator/(ftype t) const { return point2d(*this) /= t; } }; point2d operator*(ftype a, point2d b) { return b * a; } struct point3d { ftype x, y, z; point3d() {} point3d(ftype x, ftype y, ftype z): x(x), y(y), z(z) {} point3d& operator+=(const point3d &t) { x += t.x; y += t.y; z += t.z; return *this; } point3d& operator-=(const point3d &t) { x -= t.x; y -= t.y; z -= t.z; return *this; } point3d& operator*=(ftype t) { x *= t; y *= t; z *= t; return *this; } point3d& operator/=(ftype t) { x /= t; y /= t; z /= t; return *this; } point3d operator+(const point3d &t) const { return point3d(*this) += t; } point3d operator-(const point3d &t) const { return point3d(*this) -= t; } point3d operator*(ftype t) const { return point3d(*this) *= t; } point3d operator/(ftype t) const { return point3d(*this) /= t; } }; point3d operator*(ftype a, point3d b) { return b * a; } ftype dot(point2d a, point2d b) { return a.x * b.x + a.y * b.y; } ftype dot(point3d a, point3d b) { return a.x * b.x + a.y * b.y + a.z * b.z; } ftype norm(point2d a) { return dot(a, a); } double abs(point2d a) { return sqrt(norm(a)); } double proj(point2d a, point2d b) { return dot(a, b) / abs(b); } double angle(point2d a, point2d b) { return acos(dot(a, b) / abs(a) / abs(b)); } point3d cross(point3d a, point3d b) { return point3d(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x); } ftype triple(point3d a, point3d b, point3d c) { return dot(a, cross(b, c)); } ftype cross(point2d a, point2d b) { return a.x * b.y - a.y * b.x; } point2d intersect(point2d a1, point2d d1, point2d a2, point2d d2) { return a1 + cross(a2 - a1, d2) / cross(d1, d2) * d1; } point3d intersect(point3d a1, point3d n1, point3d a2, point3d n2, point3d a3, point3d n3) { point3d x(n1.x, n2.x, n3.x); point3d y(n1.y, n2.y, n3.y); point3d z(n1.z, n2.z, n3.z); point3d d(dot(a1, n1), dot(a2, n2), dot(a3, n3)); return point3d(triple(d, y, z), triple(x, d, z), triple(x, y, d)) / triple(n1, n2, n3); }
run
|
edit
|
history
|
help
0
Stats - Central Limit Theorem - Normal Distribution with multiple items
riemann
Even Odd using Functions
ClassQuiz2
hilbert
Power of an element
memcpy
Web Browser History - SET
Shuffle algorithm
1068 - Investigation