01 basics and stl
DESCRIPTION
TRANSCRIPT
![Page 1: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/1.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Introductory Lecture
Topics: basics, resources, stl, bitwise tricks
League of Programmers
ACA, IIT Kanpur
October 21, 2012
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 2: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/2.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 3: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/3.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 4: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/4.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 5: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/5.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 6: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/6.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 7: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/7.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 8: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/8.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 9: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/9.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Aim
Discussion camp not a lecture series. You need to showmotivation.
To help you introduce to the world of algorithms andcompetitive programming
Many useful algorithms, mathematical insights
Useful for any programming contest that you may encounter
After this you can rock in job/internship interviews
It's fun too!
There are handsome rewards - prestige, joy of learning newthings, and yes lots of money!
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 10: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/10.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Language speci�cations
Language we will stress upon: C, C++, JavaACM-ICPC O�cial languages. Allowed in almost everycontests
But, Java is comparatively very slow, so sometimes an optimalalgorithm might time out on the judge
C has too restrictive and does not support stl/templates/classes
Use Library functions and Data Structures instead of writingyour own every time
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 11: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/11.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Language speci�cations
Language we will stress upon: C, C++, JavaACM-ICPC O�cial languages. Allowed in almost everycontests
But, Java is comparatively very slow, so sometimes an optimalalgorithm might time out on the judge
C has too restrictive and does not support stl/templates/classes
Use Library functions and Data Structures instead of writingyour own every time
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 12: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/12.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Language speci�cations
Language we will stress upon: C, C++, JavaACM-ICPC O�cial languages. Allowed in almost everycontests
But, Java is comparatively very slow, so sometimes an optimalalgorithm might time out on the judge
C has too restrictive and does not support stl/templates/classes
Use Library functions and Data Structures instead of writingyour own every time
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 13: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/13.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Language speci�cations
Language we will stress upon: C, C++, JavaACM-ICPC O�cial languages. Allowed in almost everycontests
But, Java is comparatively very slow, so sometimes an optimalalgorithm might time out on the judge
C has too restrictive and does not support stl/templates/classes
Use Library functions and Data Structures instead of writingyour own every time
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 14: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/14.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Programming competitions
ACM-ICPC
Google Code Jam - Google's annual programming contest
Facebook Hacker Cup - an easy gateway to facebook job
IOPC (IITK), Shaastra (IITM), Bitwise (IITKgp)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 15: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/15.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Programming competitions
ACM-ICPC
Google Code Jam - Google's annual programming contest
Facebook Hacker Cup - an easy gateway to facebook job
IOPC (IITK), Shaastra (IITM), Bitwise (IITKgp)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 16: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/16.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Programming competitions
ACM-ICPC
Google Code Jam - Google's annual programming contest
Facebook Hacker Cup - an easy gateway to facebook job
IOPC (IITK), Shaastra (IITM), Bitwise (IITKgp)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 17: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/17.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Programming competitions
ACM-ICPC
Google Code Jam - Google's annual programming contest
Facebook Hacker Cup - an easy gateway to facebook job
IOPC (IITK), Shaastra (IITM), Bitwise (IITKgp)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 18: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/18.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Websites for practice
Compete against Indian coders in live contests: Codechef
Short Programming Contests: Codeforces, Topcoder
Problem set Archives: SPOJ, Project Euler, livearchive,acm.sgu.ru and many more
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 19: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/19.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 20: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/20.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Over�ow
#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a+b);
return 0;
}
What if the given numbers are HUGE?
Not all the input constraints are explicit
Always think about the worst case scenario, edge cases, etc.
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 21: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/21.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Over�ow
#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a+b);
return 0;
}
What if the given numbers are HUGE?
Not all the input constraints are explicit
Always think about the worst case scenario, edge cases, etc.
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 22: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/22.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Over�ow
#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a+b);
return 0;
}
What if the given numbers are HUGE?
Not all the input constraints are explicit
Always think about the worst case scenario, edge cases, etc.
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 23: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/23.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Over�ow
#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a+b);
return 0;
}
What if the given numbers are HUGE?
Not all the input constraints are explicit
Always think about the worst case scenario, edge cases, etc.
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 24: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/24.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Others
Comparing doublesAlways keep a cushion of ε
double a, b;
a==b, not a very good idea
instead, do the following
#define EPS 0.0000001
(a-EPS<b and a+EPS>b)
Segmentation fault
Invalid memory referenceUsing too much memory than provided
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 25: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/25.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Others
Comparing doublesAlways keep a cushion of ε
double a, b;
a==b, not a very good idea
instead, do the following
#define EPS 0.0000001
(a-EPS<b and a+EPS>b)
Segmentation fault
Invalid memory referenceUsing too much memory than provided
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 26: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/26.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Others
Comparing doublesAlways keep a cushion of ε
double a, b;
a==b, not a very good idea
instead, do the following
#define EPS 0.0000001
(a-EPS<b and a+EPS>b)
Segmentation fault
Invalid memory referenceUsing too much memory than provided
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 27: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/27.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Others
Comparing doublesAlways keep a cushion of ε
double a, b;
a==b, not a very good idea
instead, do the following
#define EPS 0.0000001
(a-EPS<b and a+EPS>b)
Segmentation fault
Invalid memory referenceUsing too much memory than provided
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 28: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/28.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Others
Comparing doublesAlways keep a cushion of ε
double a, b;
a==b, not a very good idea
instead, do the following
#define EPS 0.0000001
(a-EPS<b and a+EPS>b)
Segmentation fault
Invalid memory referenceUsing too much memory than provided
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 29: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/29.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 30: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/30.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 31: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/31.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 32: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/32.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 33: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/33.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 34: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/34.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 35: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/35.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 36: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/36.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 37: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/37.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
Understand what the program is expected to do.
Understand the Input/Output format and use exactly thatformat
Meaning of constraints
What do time limit and memory limit mean??
Predict the order requirements of the given problem
1sec ≈ (1− 2) ∗ 108 operations
xMB ≈ x/4 ∗ 106 sized int arrays
For example, 10 test cases with N = 10000 means O(N2) isrequired
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 38: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/38.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 39: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/39.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 40: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/40.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 41: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/41.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 42: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/42.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 43: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/43.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 44: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/44.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problem Solving Methodology
1 Understanding the problem, mathematical formulation of theproblem
2 Categorizing the problem into one of the many types known
3 Formulate a solution
4 Verify with the sample test cases, make sure your solutionatleast works for them
5 Generate some small test cases of your own, the sample testcases may not be include some boundary cases.
6 Coding the solution (the easiest part of all)
7 Debugging (TLE: time limit exceeded, WA : incorrect solutionetc.)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 45: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/45.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Some optimizations
Not all operations are equally fast:operations on unsigned ints/long long are fasterbitwise operators and shift operators (&ˆ |��)Using too much memory (> 10MB) slows down programmes
Look at other people's code for reference and optimisations
Read this: http://www.codeproject.com/KB/cpp/C___Code_Optimization.aspx
I/O: do NOT use cin/cout for large input output
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 46: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/46.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Some optimizations
Not all operations are equally fast:operations on unsigned ints/long long are fasterbitwise operators and shift operators (&ˆ |��)Using too much memory (> 10MB) slows down programmes
Look at other people's code for reference and optimisations
Read this: http://www.codeproject.com/KB/cpp/C___Code_Optimization.aspx
I/O: do NOT use cin/cout for large input output
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 47: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/47.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Some optimizations
Not all operations are equally fast:operations on unsigned ints/long long are fasterbitwise operators and shift operators (&ˆ |��)Using too much memory (> 10MB) slows down programmes
Look at other people's code for reference and optimisations
Read this: http://www.codeproject.com/KB/cpp/C___Code_Optimization.aspx
I/O: do NOT use cin/cout for large input output
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 48: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/48.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Some optimizations
Not all operations are equally fast:operations on unsigned ints/long long are fasterbitwise operators and shift operators (&ˆ |��)Using too much memory (> 10MB) slows down programmes
Look at other people's code for reference and optimisations
Read this: http://www.codeproject.com/KB/cpp/C___Code_Optimization.aspx
I/O: do NOT use cin/cout for large input output
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 49: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/49.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Some Standard paradigms
Sorting
Searching
Preprocessing
Divide-and-Conquer
Dynamic Programming
Greedy Algorithms
Graph
Network Flow
Backtracking
Computational Geometry
Pure maths
Ad-hoc problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 50: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/50.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 51: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/51.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 52: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/52.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vector
stackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 53: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/53.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstack
queuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 54: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/54.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueue
priority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 55: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/55.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queue
setmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 56: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/56.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queueset
map
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 57: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/57.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 58: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/58.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 59: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/59.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�nd
max, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 60: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/60.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, min
sortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 61: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/61.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsort
reverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 62: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/62.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverse
swap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 63: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/63.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Standard template library
Website: http://www.cplusplus.com/reference1 Data Structures
vectorstackqueuepriority_queuesetmap
2 Algorithms
�ndmax, minsortreverseswap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 64: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/64.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stackPop(): removes the newest itemTop(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 65: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/65.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stackPop(): removes the newest itemTop(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 66: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/66.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stack
Pop(): removes the newest itemTop(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 67: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/67.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stackPop(): removes the newest item
Top(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 68: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/68.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stackPop(): removes the newest itemTop(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 69: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/69.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Stack
1 Last in, �rst out (LIFO)
2 Supports three constant-time operations
Push(x): inserts x into the stackPop(): removes the newest itemTop(): returns the newest item
3 C++ and Java have implementations of stack
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 70: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/70.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queueDequeue(): removes the oldest itemFront(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 71: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/71.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queueDequeue(): removes the oldest itemFront(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 72: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/72.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queue
Dequeue(): removes the oldest itemFront(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 73: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/73.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queueDequeue(): removes the oldest item
Front(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 74: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/74.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queueDequeue(): removes the oldest itemFront(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 75: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/75.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Queue
1 First in, �rst out (FIFO)
2 Supports three constant-time operations
Enqueue(x): inserts x into the queueDequeue(): removes the oldest itemFront(): returns the oldest item
3 C++ and Java have implementations of queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 76: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/76.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 77: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/77.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 78: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/78.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is p
RemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 79: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/79.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priority
Top(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 80: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/80.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 81: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/81.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 82: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/82.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Priority Queue
1 Each element in a PQ has a priority value
2 Three operations:
Insert(x, p): inserts x into the PQ, whose priority is pRemoveTop(): removes the element with the highest priorityTop(): returns the element with the highest priority
3 All operations can be done quickly if implemented using a heap
4 C++ and Java have implementations of priority queue
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 83: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/83.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
1 Complete binary tree with the heap property:value of a node ≥ values of its children
2 The root node has the maximum value
3 Constant-time: top()
4 Inserting/removing a node can be done in O(log n) timewithout breaking the heap property
5 May need rearrangement of some nodes
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 84: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/84.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
1 Complete binary tree with the heap property:value of a node ≥ values of its children
2 The root node has the maximum value
3 Constant-time: top()
4 Inserting/removing a node can be done in O(log n) timewithout breaking the heap property
5 May need rearrangement of some nodes
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 85: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/85.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
1 Complete binary tree with the heap property:value of a node ≥ values of its children
2 The root node has the maximum value
3 Constant-time: top()
4 Inserting/removing a node can be done in O(log n) timewithout breaking the heap property
5 May need rearrangement of some nodes
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 86: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/86.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
1 Complete binary tree with the heap property:value of a node ≥ values of its children
2 The root node has the maximum value
3 Constant-time: top()
4 Inserting/removing a node can be done in O(log n) timewithout breaking the heap property
5 May need rearrangement of some nodes
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 87: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/87.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
1 Complete binary tree with the heap property:value of a node ≥ values of its children
2 The root node has the maximum value
3 Constant-time: top()
4 Inserting/removing a node can be done in O(log n) timewithout breaking the heap property
5 May need rearrangement of some nodes
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 88: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/88.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 89: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/89.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Inserting a Node
1 Make a new node in the last level, as far left as possible. If thelast level is full, make a new one
2 If the new node breaks the heap property, swap with its parentnode. The new node moves up the tree, which may introduceanother con�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = tree height = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 90: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/90.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Inserting a Node
1 Make a new node in the last level, as far left as possible. If thelast level is full, make a new one
2 If the new node breaks the heap property, swap with its parentnode. The new node moves up the tree, which may introduceanother con�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = tree height = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 91: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/91.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Inserting a Node
1 Make a new node in the last level, as far left as possible. If thelast level is full, make a new one
2 If the new node breaks the heap property, swap with its parentnode. The new node moves up the tree, which may introduceanother con�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = tree height = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 92: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/92.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Inserting a Node
1 Make a new node in the last level, as far left as possible. If thelast level is full, make a new one
2 If the new node breaks the heap property, swap with its parentnode. The new node moves up the tree, which may introduceanother con�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = tree height = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 93: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/93.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Deleting the Root Node
1 Remove the root, and bring the last node (rightmost node inthe last level) to the root
2 If the root breaks the heap property, look at its children andswap it with the larger one. Swapping can introduce anothercon�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 94: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/94.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Deleting the Root Node
1 Remove the root, and bring the last node (rightmost node inthe last level) to the root
2 If the root breaks the heap property, look at its children andswap it with the larger one. Swapping can introduce anothercon�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 95: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/95.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Deleting the Root Node
1 Remove the root, and bring the last node (rightmost node inthe last level) to the root
2 If the root breaks the heap property, look at its children andswap it with the larger one. Swapping can introduce anothercon�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 96: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/96.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Heap
Deleting the Root Node
1 Remove the root, and bring the last node (rightmost node inthe last level) to the root
2 If the root breaks the heap property, look at its children andswap it with the larger one. Swapping can introduce anothercon�ict
3 Repeat 2 until all con�icts are resolved
4 Running time = O(log n)
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 97: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/97.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 98: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/98.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Introduction to Bitwise Operators
1 Numbers are stored in binary and processing on bits is wayfaster.
2 Our weapons:<< (left shift); >> (right shift); & (bitwise and);| (bitwise or); � (bitwise xor); ∼ (bitwise not)
3 Speed up the code by upto 100 times. Caution: try to usebitwise operations on unsigned integers only
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 99: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/99.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Introduction to Bitwise Operators
1 Numbers are stored in binary and processing on bits is wayfaster.
2 Our weapons:<< (left shift); >> (right shift); & (bitwise and);| (bitwise or); � (bitwise xor); ∼ (bitwise not)
3 Speed up the code by upto 100 times. Caution: try to usebitwise operations on unsigned integers only
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 100: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/100.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Introduction to Bitwise Operators
1 Numbers are stored in binary and processing on bits is wayfaster.
2 Our weapons:<< (left shift); >> (right shift); & (bitwise and);| (bitwise or); � (bitwise xor); ∼ (bitwise not)
3 Speed up the code by upto 100 times. Caution: try to usebitwise operations on unsigned integers only
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 101: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/101.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 102: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/102.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single int
Do set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 103: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/103.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 104: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/104.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 105: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/105.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .
Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 106: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/106.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| time
Generate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 107: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/107.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a time
Generate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 108: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/108.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elements
Count the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 109: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/109.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set S
Remove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 110: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/110.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 111: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/111.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 112: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/112.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Beauty of Bitwise
1 Example:
Any subset of 0,1. . . 31 is a single intDo set union/intersection/complement in one operationincrement/decrement all elements by x in one operation
2 Even more:
Find if x ∈ S .Generate all subsets of S in 2|S| timeGenerate all subsets of 1..n changing one bit at a timeGenerate all subsets of S which have exactly t elementsCount the number of elements of elements in a set SRemove smallest element from S
Check if |S| = 1
3 Never multiply or divide or take remainder modulo power of 2
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 113: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/113.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Outline
1 Aim and Clari�cations
2 Common Problems
3 Parsing a problem
4 Standard Template Library
5 Using Bitwise
6 Problems
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks
![Page 114: 01 basics and stl](https://reader033.vdocument.in/reader033/viewer/2022042601/549b0b5cb479593d098b4690/html5/thumbnails/114.jpg)
Aim and Clari�cationsCommon ProblemsParsing a problem
Standard Template LibraryUsing Bitwise
Problems
Problems
Added on the contest on VOC http://ahmed-aly.com/voc/
Contest ID: 2578Name: ACA, IITK LOP 01Author: pnkjjindalLinks:
1 http://spoj.pl/problems/WEIRDFN
2 http://www.spoj.pl/problems/HOMO/
3 http://spoj.pl/problems/HISTOGRA
4 http://spoj.pl/problems/SUBSEQ
5 http://www.spoj.pl/problems/NGM2/
6 http://www.spoj.pl/problems/JOCHEF
7 http://www.spoj.pl/problems/SWTHIN/
8 http://www.spoj.pl/problems/LAZYPROG/
League of Programmers Introductory Lecture Topics: basics, resources, stl, bitwise tricks