📜  竞争性编程中的一些重要捷径

📅  最后修改于: 2021-06-25 19:44:53             🧑  作者: Mango

在C / C++中节省时间的最常用工具是typedef和宏。不幸的是,这些功能在Java等其他许多语言中均不可用。

这是我们的C / C++代码的一些示例

捷径:

// Shortcuts for "common" data types in contests
typedef long long ll; 
typedef pair ii; 
typedef vector vii;
typedef vector 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 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)

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。