【20181109】NOIP注意项

编辑器

加入: -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(条件) 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; include<utility>
m a k e _ p a i r make \_ pair make_pair



空间复杂度

#define N 1e6   开数组!!!

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



0

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


Runtime Error

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



多组数据

清零!!!



long long

i n t int int的一定开 l o n g l o n g long long longlong
l o n g l o n g long long longlong i n t int 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



二分

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



逆序对

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



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值