This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C++ program to find equilibrium | |
// index of an array | |
#include <bits/stdc++.h> | |
using namespace std; | |
int equilibrium(int arr[], int n) | |
{ | |
int sum = 0; // initialize sum of whole array | |
int leftsum = 0; // initialize leftsum |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// { Driver Code Starts | |
#include<bits/stdc++.h> | |
using namespace std; | |
// } Driver Code Ends | |
/* This function is used to detect a cycle in undirected graph | |
* adj[]: array of vectors to represent graph | |
* V: number of vertices |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C++ program to show segment tree operations like construction, query | |
// and update | |
#include <bits/stdc++.h> | |
using namespace std; | |
// A utility function to get the middle index from corner indexes. | |
int getMid(int s, int e) { return s + (e -s)/2; } | |
/* A recursive function to get the sum of values in the given range | |
of the array. The following are parameters for this function. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C++ program for range minimum | |
// query using segment tree | |
#include <bits/stdc++.h> | |
using namespace std; | |
// A utility function to get minimum of two numbers | |
int minVal(int x, int y) { return (x < y)? x: y; } | |
// A utility function to get the | |
// middle index from corner indexes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C program to show segment tree operations like construction, | |
// query and update | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <math.h> | |
// A utility function to get the middle index from corner indexes. | |
int getMid(int s, int e) { return s + (e -s)/2; } | |
/* A recursive function to get the xor of values in given range |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Following program is a C++ implementation of Rabin Karp | |
Algorithm given in the CLRS book */ | |
#include <bits/stdc++.h> | |
using namespace std; | |
// d is the number of characters in the input alphabet | |
#define d 256 | |
/* pat -> pattern | |
txt -> text |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// A C++ program to check if two given line segments intersect | |
#include <iostream> | |
using namespace std; | |
struct Point | |
{ | |
int x; | |
int y; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C++ program to implement Klee's algorithm | |
#include<bits/stdc++.h> | |
using namespace std; | |
// Returns sum of lengths covered by union of given | |
// segments | |
int segmentUnionLength(const vector <pair <int,int> > &seg) | |
{ | |
int n = seg.size(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
/* A utility function to calculate area of triangle formed by (x1, y1), | |
(x2, y2) and (x3, y3) */ | |
float area(int x1, int y1, int x2, int y2, int x3, int y3) | |
{ | |
return abs((x1*(y2-y3) + x2*(y3-y1)+ x3*(y1-y2))/2.0); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// C++ program to print all primes smaller than or equal to | |
// n using Sieve of Eratosthenes | |
#include <bits/stdc++.h> | |
using namespace std; | |
void SieveOfEratosthenes(int n) | |
{ | |
// Create a boolean array "prime[0..n]" and initialize | |
// all entries it as true. A value in prime[i] will | |
// finally be false if i is Not a prime, else true. |