noip2018 考前提醒!
适应Noilinux
1.终端操作
打开终端 \(Ctrl+Alt+T\)
打开文件夹 \(cd\) +名称
新建文件夹 \(mkdir\) +名称
打开 \(vim\) 配置 \(vim ~/.vimrc\)
打开 \(vim\) 文件 \(vim\) + 文件名
2.强大的\(Vim\)配置
set nu
set mouse=a
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
color desert
map <F9> <Esc>:w<CR>: !g++ % -o %< && ./%< <CR>
imap <F9> <Esc>:w<CR>: !g++ % -o %< && ./%< <CR>
3.\(Vim\) 操作
复制 \(n + yy\)
粘贴 \(p\)
删除 \(n+dd\)
撤销 \(u\)
退出死循环 \(Ctrl+c\)
放大字号 \(Ctrl+shift+'='\)
缩小字号 \(Ctrl+'-'\)
保存 \(:w\)
退出 \(:q\)
进入插入模式 \(i\)
退出插入模式 \(Esc\)
4.对拍
system("./data > data.in");
system("./1 < data.in > try1.out");
system("./2 <data.in > try2.out");
if(sytsem("diff try1.out try2.out")) printf("WA\n");
else printf("AC\n");
5.千万不要闲的用鼠标滑轮!会意外退出!
6.写 \(Vim\) 时刻注意保存!
7.\(Noilinux\) 密码 123456
易犯错误
1.头文件
别忘了 #include<cmath> 和 #include<cstring>
对拍测时间 #include<ctime> (\(clock()\))
2.\(using\) \(namespace\) \(std;\) 别忘写!
3.数组大小
无向图边 \(m \times 2\) ,注意边数与点数
不同数组大小不同时一定要区分!
for(int i=0;i<MAXN;i++) 注意取不到等!
4.数组名称不要搞混
变量(\(i\),\(j\))别写反
5.取模运算
出现减法时 \((\%P+P)\%P\)
需要取模的变量,在任何操作后都要去取模!不要漏!
6.溢出
判断 \(int\) 是否需要转 \(long long\)
运算中间量要不要转
7.\(double\) 问题
判断相等时 \(fabs(r-l)<eps\)
8.位运算
注意优先级,疯狂加括号
不要轻易取反(符号也会变)
9.做题细节
看题不要看漏!题目最细小的地方!!
考虑特殊情况,不要漏!
10.想题时
多举反例,想出一些思路是先别急着高兴,往后想
限时想题,及时放置
动态规划时间复杂度=状态数 \(\times\) 转移时间!转移时间别漏了!
11.输入大于 \(10^5\) 加读入优化
12.代码实现细节
树链剖分:
求重子时别忘了 size[u]+=size[v]
根节点不要 \(dfs\) 两遍;在 \(dfs\) 前赋值
倍增:
数组下标问题,别越界
线段树:
下放 \(lazy\) 的同时正确更新 \(sum\)
结构体名别写错
强连通分量:
\(vis\) 表示进栈情况:0--未进过,1--在栈中,2--已出栈
字符串哈希:
想好是否真的可用
加1减1的事情想清楚,多对拍
并查集:
路径压缩 int getfa(int x) { return x==fa[x] ? x : fa[x]=getfa(fa[x]); }
初始化 \(fa[i]=i\)
\(Dijkstra\):
堆优化,\(pair\) 注意第一关键字为 \(dis\)
\(SPFA\):
\(dfs\) 版的 \(vis\) 表示是否正在遍历
判负环可将 \(dis\) 都设成0
差分约束系统:
大于等于还是小于等于
欧拉回路:
注意在访问完一个节点后,将其加入倒叙的 \(ans\) 中
平衡树:
更新 \(size\) 等时别忘了加上自己的
常见思想
1.求某某最值 -> 转化为二分+判定(前提有单调性)
2.问题分解
3.将问题等价转换
4.有时多求一些东西,包含了答案
5.图论与数据结构相结合,动态规划、数论与图论结合(分层图)
猜结论,找规律——数论大胆推&发现;图论谨慎证明;动规小心陷阱
情况考虑周全——多举反例&特殊例子;眼光放开
不要想麻烦——排除干扰,简化题意;从简单算法(二分、数组)想起
小技巧
1.预处理,前缀和…
2.枚举子集时 for(int i=t;i;i=(i-1)&t)
3.用 \(stl\) 中的 \(set\)
noip2018 考前提醒!的更多相关文章
- NOIP2018考前抱佛脚——图论基础复习
目录 存图方式 邻接矩阵存图 邻接表存图 链式前向星 最小生成树 例1 P1536 村村通 题目描述 输入输出格式 输入输出样例 标程 例2 P1546 最短网络 Agri-Net 题目背景 题目描述 ...
- NOIP2018考前抱佛脚——搜索复习
目录 搜索 DFS 例1 P1101 单词方阵 题目描述 输入输出格式 输入输出样例 标程 例2 P1605 迷宫 题目背景 输入输出格式 输入输出样例 标程 例3 P1019 单词接龙 题目描述 输 ...
- NOIP2018考前抱佛脚——数据结构基础及STL实现
目录 动态数组 栈 队列 优先队列 动态数组 srand(time(0)); std::vector<int> qwq; for(int i = 1;i <= 10;++i) qwq ...
- Noip2018 考前准备
目录 基础算法 二分 模拟(未补) 高精(未学习) 搜索(未补) 排序 图论 树的直径 树的重心 最短路算法 Spfa Dijkstra Floyd 最小生成树 kruskal 数论 线性筛 线性筛素 ...
- 论一个蒟蒻的脑子里可以有多少坑(貌似咕了……目前更新保持在noip阶段)
就是错题整理了,其实也会把一些不该犯的失误整进来. 其实之前一直拖着不想写,直到某次模拟赛,看错了2道题,顺便爆了一道题的int(没错第一个点就会爆)之后爆零了,吓得我赶紧把这篇博客搞出来了..... ...
- 初征——NOIP2018游记
前言 从最初接触oi到今年noip到来,也已经将近有一年了.从对于程序一窍不懂到现在开始学习算法,只是短短的不到一年的时间罢了.这次noip,不仅仅是我oi生涯的第一次noip,更是相当于是对我这一年 ...
- NOIP考纲总结+NOIP考前经验谈
首先来一张图,很直观(截止到2012年数据) 下面是收集的一些,我改了一下 红色加粗表示特别重要,必须掌握 绿色加粗表示最好掌握,可能性不是很大,但是某些可以提高程序效率 高精度 a.加法 b.减法 ...
- NOIP2018 AFO记
仿佛"距NOIP2018还剩30天"的倒计时还在昨天,没想到这一天来的这么快. 考前在机房嘻嘻哈哈打打闹闹,开玩笑说道"我要AFO了",心里暗暗发誓做好自己,不 ...
- NOIP2018旅游记
2018.12.4更新: GD分数线出了,1=分数线310,1=了 好歹能和cyp交代了吧) 2018.11.28更新: 不好意思,太懒了,加上我也不记得后来发生什么了,总之就这样太监了. noip2 ...
随机推荐
- vue中 js获取图片尺寸 设置不同样式
1.JS: 请求到后端数据后 判断图片尺寸 2.HTML代码 根据设置的类型,给图片添加不同的样式 3.CSS代码 添加不同尺寸的样式
- 红米K20 Pro 传感器失效解决方案
最近把Redmi K20 Pro升级到了安卓Q,用了几天,不好用,总是提示屏幕前方有遮挡,于是刷回了安卓9,但是发现重力感应传感器失效了,屏幕不会随这方向转,导航的时候看起来很难受. 网上查了一下,要 ...
- 【Linux】grep笔记
Linux grep命令用于查找文件里符合条件的字符串. 参数: -a 或 --text : 不要忽略二进制的数据. -A<显示行数> 或 --after-context=<显示行数 ...
- Keras mlp 手写数字识别示例
#基于mnist数据集的手写数字识别 #构造了三层全连接层组成的多层感知机,最后一层为输出层 #基于Keras 2.1.1 Tensorflow 1.4.0 代码: import keras from ...
- TestStand 界面重置【小技巧】
有几种情况可能会使用到这个功能: (1)当界面调整的很乱的时候 (2)当界面突然消失的时候(但是软件进程还在)--快捷键 Alt+V 会弹出菜单,再点击Reset UI Configuration即可 ...
- scrf 原理及flask-wtf防护
了解什么是scrf? SCRF跨站点请求伪造Cross—Site Request Forgery) 指恶意用户通过个人用户的点击,然而盗用用户的账号信息,并发送邮件.虚拟货币的转账,以及一些重要的事务 ...
- iOS-NSNotificationCenter通知原理解析
一.基本概念 NSNotification和NSNotificationCenter是使用观察者模式来实现的用于跨层传递消息. NSNotificationCenter采用单例模式. 二.基本实现 通 ...
- jquery中获取ajax请求返回数据的方法
function getPageTotalAndDataTotal(page) { //设置一个变量用于接收ajax返回的值 var pageTotal = 0; // 获取页数与数据总数 $.aja ...
- CPP STL学习笔记
STL的概念 源地址 https://www.ev0l.art/index.php/archives/15/ <li> Iterator (迭代器)<li> Containe ...
- 使用 Python 中 re 模块对测试用例参数化,进行搜索 search、替换 sub
自动化测试用例,如果一百个接口要在Excel写100个sheet表单,每个接口有10个字段,里面有5个都可能是变化的,需要使用参数化,先试用特定的字符进行站位,在构造参数时在进行替换占位符: 一.用力 ...