Рубрики

Некоторые важные ярлыки в конкурентном программировании

Наиболее распространенными инструментами для экономии времени в C / C ++ являются typedefs и макросы. К сожалению, эти функции недоступны во многих других языках, таких как Java.

Вот несколько примеров нашего кода на C / C ++

Ярлыки:

// Shortcuts for "common" data types in contests
typedef long long ll; 
typedef pair<int, int> ii; 
typedef vector<ii> vii;
typedef vector<int> vi;

Бесконечный:

const int INF = 0x3f3f3f3f;

Установка значений в массиве:

// initialize DP memoization table with -1
memset(memo, -1, sizeof memo); 

// to clear array of integers
memset(arr, 0, sizeof arr); 

// Use a vector to creates a dynamic array 
// and initialize it in one statement.
// Creates a vector of size N and values as 0.
vector<int> v(N, 0); // OR vi v(N, 0); 

Следующие ярлыки могут сэкономить время практически на всех языках, включая Java:

// to simplify: if (a) ans = b; else ans = c;
ans = a ? b : c; 

// to simplify: ans = ans + val; and its variants
ans += val; 

// index++; if (index >= n) index = 0;
index = (index + 1) % n; 

// index--; if (index < 0) index = n - 1;
index = (index + n - 1) % n; 

// for rounding to nearest integer
int ans = (int)((double)d + 0.5); 

// min/max shortcut to update max/min
ans = min(ans, new_computation); 

// To return true if a value matches a given
// number, else return false
// if (val == given_no) return true; 
// else return false;
return (val == given_no)

Эта статья предоставлена Приям какати . Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Некоторые важные ярлыки в конкурентном программировании

0.00 (0%) 0 votes