【20181109】NOIP注意项

版权声明:小蒟蒻的博客转载也请注明出处哦 https://blog.csdn.net/qq_42835823/article/details/83898487

编辑器

加入: -Wall -Wextra



对拍

@echo off
:loop
make//生成数据的CPP
bf//暴利CPP
dance//正解CPP
fc dance.out bf.out//比较
if errorlevel 1 pause
goto loop

记得加freopen
记事本中打,然后把名字换为: 此处省略.bat

数据生成
#include<cstdlib>
#include<ctime>
int random(int n){
	return (long long)rand()*rand()%n;
}
int main(){
	freopen("1.in","w",stdout);
	srand((unsigned)time(0));
	//…具体内容…
}


随机贪心

int a[N],n;
random_shuffle(e+1,e+n+1);


priority_queue



#include<tr1/unordered_map>

#include<tr1/unordered_map>
using namespace tr1;
unordered_map<,>;

其余和map一样



#include<assert.h>

a s s e r t assert(条件)

  • 如果真就继续
  • 如果假就报错


#include<bits/stdc++.h>

可以用啊!!!



pair

—》 i n c l u d e &lt; u t i l i t y &gt; include&lt;utility&gt;
m a k e _ p a i r make \_ pair



空间复杂度

#define N 1e6   开数组!!!

i n t int       4 B 4B        2147483648 2147483647 -2147483648—2147483647
c h a r char       1 B 1B        128 127 -128—127
f l o a t float       4 B 4B        6 小数点后6位
d o u b l e double       8 B 8B        16 小数点后16位
l o n g i n t long int       4 B 4B        2147483648 2147483647 -2147483648—2147483647
s h o r t i n t short int       2 B 2B        32768 32767 -32768—32767
l o n g l o n g long long       8 B 8B        9223372036854775808 9223372036854775807 -9223372036854775808—9223372036854775807



0

  • 0的阶乘为1
  • 0没有0次方


Runtime Error

  • 数组越界过多
  • 递归层数过多
  • 数学错误(除以0,Mod 0……)



多组数据

清零!!!



long long

i n t int 的一定开 l o n g l o n g long long
l o n g l o n g long long i n t int 不能互相转化!



char

int s[100];
scanf("%s",s+1);


预处理

记住啊!!!



ST表

最大,最小,异或,GCD ……



全局long long

#define int long long
signed main(){
	return 0;
}


括号匹配!!!



调试

cerr<<1;//不是cout


比较

const Node &a;//这样更快


#include < deque >

  • 允许访问下标
  • 每次操作完后,第一位下标都为0



二分

满足单调性即可,不用一定是最大的最小



逆序对

乱序变升序(相邻交换)的最少次数。



猜你喜欢

转载自blog.csdn.net/qq_42835823/article/details/83898487