-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkeepInMind.txt
More file actions
63 lines (33 loc) · 1.45 KB
/
keepInMind.txt
File metadata and controls
63 lines (33 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1. INTEGER LIMIT OUT OF BOUNDS
-> FOR EXAMPLE: NEGATIVE INDEXING
2. ARRAY INDEX OUT OF BOUNDS
3. DIVISION BY ZERO
4. MEMSET BIG SIZE ARRAY IN EVERY TEST CASE
5. INFINITE LOOP
-> FOR EXAMPLE: USE BINARY SEARCH ON FLOAT TYPE
-> FORGET TO UPDATE LOOP CONTROLLER
7. BIG SIZE ARRAY DECLARATION INSIDE MAIN FUNCTION
8. DELETE ARRAY ELEMENT WHILE IN A LOOP RUNNING ON THE ARRAY
9. DON'T UPDATE ARRAY ELEMENT WITHOUT PROPER MEMORY ADDRESSING
-> FOR EXAMPLE: for (auto &i : array) i++;
-> ALSO, LESSEN RUN TIME
10. FORGET TO RESET THE ARRAY
11. FOR BIG SIZE USE DYNAMIC VECTOR IN C++
12. x&(1<<b)==0 IS WRONG, WRITE ( x&(1<<b) )==0
13. FOR BIG STRING
std::cin >> s; IS BETTER THAN scanf("%s",s);
BUT, AGAIN std::cin>>s IS SLOW WITHOUT ios_base
14. ALWAYS DO THIS, ( a % M + M ) % M
AS, NEGATIVE RES COULD OCCUR
15. TL ISSUE: USE BFS INSTEAD OF DFS, RANGE Q WITH NO UPD: BETTER SPARSE TABLE THAN SEGMENT TREE
16. FIRST DEFINE THE ALGO, THEN IMPLEMENT
17. REDUCE AS MUCH FLOAT OPERATION AS POSSIBLE
-> DON'T DO a/b > c, INSTEAD DO a > b*c
18. vec.erase(vec.begin()) -> CAN CAUSE TL ISSUE
19. cin/cout WITH FASTIO IS FASTER THAN scanf/printf // FROM EXPERIENCE
20. map OR unordered_map
21. ALWAYS DO PRECALCULATIONS ONCE, USE GLOBAL "DONE" VARIABLE
22. FOR LONG LONG INT USE sqrtl()
23. s = s+t, OR, s += t // string CONCAT
24. int n; scanf("%d",&n); int a[n]; // CAN CREATE COMPILATION ERROR
25. sqrtf() IS BAD, RATHER USE sqrtl() OR sqrt()