KO
|
EN
gitlite — search
Search
#javascript
#python
#react
#windows
#security
#minecraft
#machine-learning
#hacktoberfest
#android
#open-source
#privacy
#git
Competitive-Programming
★ 39
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
No296Online-ordering-system
:
基于Springboot的网上点餐系统,编程语言:Java ;数据库:MySQL;项目管理工具:Maven 前端技术:VUE、javascript、html、css、jQuery; 后端技术:Spring、SpringMvc、MyBatis
TCS-PhysicsDropper
:
Drops Objects In Edit Mode
pub-studio
:
Manage your flutter/dart packages directly from the editor. Find, install, update, or remove packages without touching the command line.
Deploy-SSD-ON-STM32
:
An interesting project. Deploying SSD object detection model on STM32H7.
Keenetic-Manager
:
Управление политиками клиентов на роутерах Кинетик. Быстрая смена VPN
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
Competitive-Programming
?
Download (.md)
# Competitive Programing(Cp) ## Table of Contents ১. [Competitive Programming](#=cp) - ১.১ [Competitive Programming কি?](#whatiscp) - ১.২ [Competitive Programming এর world-class contest.](#contest) - ১.৩ [God's in Competitive Programming?](#godcp) ২. [Competitive Programming Online Judge](#online-judges)<br> ৩. [Competitive Programming set-up](#repository)<br> ৪. [Competitive Programming Books](#books)<br> ৫. [Programming Language for Competitive Programming](#programming-language)<br> ৬. [Basic of C++](#C++) - ৬.১ [Hello World](#helloWorld) ## Competitive Programming<a name="cp"></a> - ১.১ Competitive Programming কি?<a name="whatiscp"></a> <br> Competitive Programming হলো এক ধরনের intellectual sport যেখানে প্রতিযোগীদের একটি নির্দিষ্ট সময়সীমার মধ্যে algorithmic এবং computational সমস্যার একটি সেট সমাধান করতে দেওয়া হয়। <br> [William Lin: What is Competitive Programming?](https://www.youtube.com/watch?v=ueNT-w7Oluw) - ১.২ Competitive Programming এর world-class contest:<a name="contest"></a><br> ১. [International Collegiate Programming Contest (ICPC)](https://en.wikipedia.org/wiki/International_Collegiate_Programming_Contest)<br> ২. [Google Code Jam (GCJ)](https://en.wikipedia.org/wiki/Google_Code_Jam)<br> ৩. [Meta Hacker Cup (formerly Facebook Hacker Cup)](https://en.wikipedia.org/wiki/Facebook_Hacker_Cup)<br> ৪. [Topcoder Open (TCO)](https://en.wikipedia.org/wiki/Topcoder_Open)<br> ৫. [International Olympiad in Informatics (IOI)](https://en.wikipedia.org/wiki/International_Olympiad_in_Informatics)<br> - ১.৩ God's in Competitive Programming?<a name="godcp"></a><br> [Petr Mitrichev](https://codeforces.com/profile/Petr), [Gennady Korotkevich](https://codeforces.com/profile/tourist), [William Lin](https://codeforces.com/profile/tmwilliamlin168), [Lingyu Jiang](https://codeforces.com/profile/jiangly), [Benjamin Qi](https://codeforces.com/profile/Benq) <br> [Check the Codeforces rating](https://codeforces.com/ratings) ## সব থেকে জনপ্রিয় Competitive Programming Online Judge গুলো <a name="online-judges"></a> - [Codeforces](https://codeforces.com) - [CSES](https://cses.fi) - [CodeChef](https://www.codechef.com) - [AtCoder](https://atcoder.jp) - [TopCoder](https://www.topcoder.com) - [HackerRank](https://www.hackerrank.com) - [HackerEarth](https://www.hackerearth.com) - [SPOJ](https://www.spoj.com) ## Competitive Programming set-up - Competitive Programming set-up এর জন্য এই [repository](https://github.com/nxtsourav7/Compitative-Programming-Setup.git) টি check করতে পারেন। <a name="repository"></a> ## Competitive Programming জন্য সেরা বইগুলি <a name="books"></a> - প্রথম সেমিস্টারের শিক্ষার্থীদের জন্য অথবা যারা কম্পিউটার প্রোগ্রামিং-এর সাথে পরিচিত নন, তারা তামিম শাহরিয়ার সুবিন স্যারের [কম্পিউটার প্রোগ্রামিং ১](cpResources/cProgramming/CP_ComputerProgrammingTamimShariarSubeen.pdf) বইটি পড়তে পারেন। - [Competitive Programming Handbook](cpResources/cpBooks/CompetitiveProgrammersHandbook.pdf) - [Competitive Programming 4 Part 1](cpResources/cpBooks/CompetitiveProgramming4Book1.pdf) - [Competitive Programming 4 Part 2](cpResources/cpBooks/CompetitiveProgramming4Book2.pdf) - [Introduction to Algorithm 4'th edition](cpResources/cpBooks/IntroductiontoAlgorithms4th.pdf) `Competitive Programming শুরু করার জন্য প্রথমে একটি Programming Language এর মৌলিক বিষয়গুলো সুন্দরভাবে শেখা প্রয়োজন। 🌟` ## Competitive Programming এর জন্য কোন Programming Language শেখা উচিৎ? <a name="programming-language"></a> - ৯৫% Competitive Programmers C++ ব্যবহার করে থাকেন। কারণ C++ এ STL (Standard Template Library) রয়েছে এবং এটি low-level data নিয়ে কাজ করার জন্য অত্যন্ত কার্যকর। - Python ও অন্যান্য ভাষা যেমন Java, Rust এবং Kotlinও competitive programming এ ব্যবহৃত হয়। Python এর সহজ syntax এবং শক্তিশালী libraries যেমন NumPy এবং pandas, বিভিন্ন সমস্যার সমাধানে সুবিধা প্রদান করে। ## ৬ Basic of C++<a name="C++"></a> C++ শেখার আগে আমাদের কিছু বিষয় সম্পর্কে জানা খুবই গুরুত্বপূর্ণ।মানুষ ভাষা ব্যবহার করে থাকে একে অন্যের সাথে যোগাযোগ করার জন্য। তেমনই কম্পিটার সাথে যোগাযোগ করার জন্য আমাদের কম্পিউটারের বোধগম্য ভাষার প্রয়োজন। আসলে কম্পিউটার কোনো ভাষাই বুঝতে পারে না একটা হাদারাম; কিন্তু কোনো কাজ বুঝিয়ে দিতে পারলে চোখের পলকে করে দিতে পারে। কম্পিউটার শুধু বুঝতে পারে বিদ্যুৎ এর উপস্থিতি(১) এবং অনুপস্থিতি(০)। এর জন্য আমাদের প্রয়োজন একজন traslator যে এই ভাষা translate করে কম্পিউটারকে বুঝিয়ে দিতে পারে। এই translator কে আমরা বলি compiler। এখন সব ভাষা সরাসরি ০ অথবা ১ এ রূপান্তর করে না। এর বিভিন্ন প্রকারভেদ আছে যেমনঃ - compiled language(C, C++, Rust, Go) সরাসরি code কে `machine code or binary code(0 or 1)` translate করতে পারে। - Interpreted language(Python, JavaScript, PHP, Ruby) সরাসরি code কে `machine code or binary code(0 or 1)` translate করতে পারে না। - Hybrid language(Java, C#) এটা সরাসরি code কে `machine code or binary code(0 or 1)` translate না করে প্রথমে bytecode এ রূপান্তর করে। তারপর কোনো Interpreter সেটা কে `machine code or binary code(0 or 1)` translate করে। <br> ### ৬.১ Hello World <a name="helloWorld"></a> যেকোনো programming language শেখার প্রথমে সাধারণত Hello world print করে শুরু করা হয়। আমরা সেটা দিয়েই শুরু করব। ```cpp #include<bits/stdc++.h> using namespace std; int main() { cout << "Hello, World" << '\n'; return 0; } ``` - ``#include<bits/stdc++.h>`` এটা আবার কী?<br> এটা কে বলে header file। এখন প্রশ্ন আসে header file জিনিসটা আবার কী?<br> Header file হলো function, variable, class এবং অন্যান্য উপাদান এর ঘোষণা। সহজ কথাই বলতে গেলে এটা বলে দেয় তুমি কি কি function, class নিয়ে কাজ করতে পারবা। কিন্তু ঐ function বা class এর পুরো কোড header file এ সধারনত থাকে না। এই কোড আমাদের sourch file এ লেখা লিখতে হয়। এই বিষয় নিয়ে আরও জানতে চাইলে এই [লিংক](https://en.cppreference.com/w/cpp/header) টা দেখতে পারো। এখন [``#include<bits/stdc++.h>``](https://gist.github.com/Einstrasse/ac0fe7d7450621a39364ed3b05cacd11) কোনো ``#include<iostream>`` বা ``#include<string>`` এর মতো standard header file না। এটা competitive programming মাথায় রেখে তৈরি করা। এটা অনেক গুলো standard header file এর সমন্বয়ে তৈরি। যাতে করে বার বার আমাদের header file ঘোষণা করার মতো ঝামেলায় না পরতে হয়। কারণ competitive programming এ সময় খুবই গুরুত্বপূর্ণ বিষয়।