Skip to main content

কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি


কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি
আপনি কম্পিটিটিভ প্রোগ্রামিং শব্দটা যদি আজকেই প্রথম শোনেন তবে নিচে আমার দেওয়া টার্গেটগুলো স্টেপ বাই স্টেপ কমপ্লিট করলে আশা করি কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি হয়ে যাবে। প্রথমে সি/সি++/জাভা (আমি বাকি ল্যাংগুয়েজ রিকমান্ড করিনা) একটা শিখে ফেলুন।নিচের দেওয়া টার্গেট কমপ্লিট করুন।
Target 1:
Basic Syntax
Input-output
conditional logic
loops
array
string
functions
some টুকটাক জিনিসপত্র
রেফারেন্স বুকঃ সুবিন ভাই এর বই (প্রথম খন্ড)
Target 2:
Dimik OJ থেকে ১০-১২ টা প্রব্লেম সল্ভ করবেন
কোড মার্শালে যে কয়টা সম্ভব সব সল্ভ করবেন
URI তে 100/120 টা সমস্যা সমাধান করবেন
Multidimensional Array(2D/3D) নিয়ে পড়াশোনা করবেন
LightOj তে গিয়ে প্র্যাক্টিস স্টার্ট করে দিবেন
ম্যাথ,পাজল সল্ভ করবেন রেগুলার
Target 3:
এ পর্যায়ে নিচের বইগুলো পড়বেন
The Art and craft of problem solving
কম্বিনেটরিক্সের হাতেখড়ি
গনিত অলিম্পিয়াডের স্বপ্নযাত্রা।
Ming's combinatorics book
Olympiad Combinatorics
Concrete Abstract Algebra
Number Theory
Math Topic To Cover: Number theory, Combinatory, Basic geometry, Puzzle solving, Mathematical problem solving
Target 4:
সি++ শুরু করে দিন
Teach Yourself C++ পড়ুন ( ক্লাস/স্ট্রাকচার লাগবেনা)
•STL (Standard Template Library) এর ব্যবহার শিখুন
নিচের টপিকগুলো নিয়ে পড়াশোনা করুন-
Vector           String     Set
Queue           Stack    List
Pair              Deque  priority_queue
Target 5:
কোডফোর্সেস এ ডিভিশন 2/3 এর A,B সল্ভ করুন
Atcoder এর ডিভিশন ২ এর A/B/C
Codeforces এ ৫০ টা A এবং ১০০ টা B সল্ভ করুন
সুবিন ভাই এর কম্পিউটার প্রোগ্রামিং পার্ট ২
শাফায়েতের ব্লগ
নিচের বইগুলো
Programming Contest - Data Structure And Algorithm
Graph Algorithm
CP-Handbook

নিচের OJ গুলোতে নিয়মিত প্রব্লেম সল্ভ করতে হবে এবং
চেষ্টা করবেন যেন কমফোর্ট জোনের বাইরে গিয়ে প্রব্ললেম সল্ভ করতে
পারেন
Uva
Lightoj
codeforces
Toph
Hackerrank
Hackerearth
atcoder
spoj
codechef

রেফারেন্সঃ Tasmeem Reza

Comments

Popular posts from this blog

Game Theory with examples

Game Theory with examples Introduction In this article I will be covering problems related to two players game in which it is assumed that both players play optimally and we have to find out the winner of the game. First we will look at the  basic   division of positions to winning and losing . Then we will see the  Game of Nim  and then see how it will be used to solve the  Composite games . Basic Division of positions to winning and losing Problem Statement:  Consider a simple game played by two players A and B . There are n stones on the table. Each player can pick 1 , 2 or 5 stones in each turn. Both players pick the stones alternately until the total number of stones left on the table is 0. The player unable to make the move will lose. Assuming that both the players play optimally, output the winner of the game. Solution:  As you can see positions 1 , 2 and 5 are winning positions since the player can pick up all the stones and other player will n...

Breaking The Summation Formula (Part 1)

 Q. f ( n ) =  - 1 + 2 - 3 + .. + ( - 1) n n .  Given n, find out f(n) Approach(1)- Bruteforce: 1. Calculation sum=n*(n+1)/2 2. loop[i=1,i=n : i+=2] odd+=i 3.ans=sum-2*odd Code: #include < bits / stdc ++. h > using namespace std ; int main (){   long long x ; cin >> x ; long long p =( x *( x + 1 ))/ 2 ; long long bad = 0 ; for ( long long i = 1 ; i <= x ; i += 2 ) bad += i ; cout << p - 2 * bad << endl ; } Approach(2)-Greedy: Basic: s=1+2+3+4+....+n Formula: sum=n*(n+1)/2= (n/2) + (n+1).2 ...

NT Part 2: Generating Primes, Prime Test, Prime Factorization

  Generating primes fast is very important in some problems. Let's cut to the chase and introduce Eratosthenes's Sieve. The main idea is the following. Suppose we want to find all primes between 2 and 50. Iterate from 2 to 50. We start with 2. Since it is not checked, it is a prime number. Now check all numbers that are multiple of    except  2. Now we move on, to number 3. It's not checked, so it is a prime number. Now check all numbers that are multiple of  ,   except  3. Now move on to 4. We see that this is checked - this is a multiple of 2! So 4 is not a prime. We continue doing this. Here's the implementation. #include <stdio.h> int primechk [ 21000 ] ;   void preprocess ( void ) { int i, j ; for ( i = 2 ; i <= 20000 ; i ++ ) { primechk [ i ] = 1 ; } for ( i = 2 ; i <= 20000 ; i ++ ) { if ( primechk [ i ] == 1 ) { for ( j = 2 ; i * j <= 20000...