技巧&注意事项合集
技巧&注意事项合集
杂项
- OI Wiki有很多实用的东西
编程环境
- 打开Dev-C++中工具-编译选项-代码生成/优化-代码警告-显示最多警告信息的开关,可以检查出一堆傻逼错误
define O3 attribute((optimize(3))),把“O3”加到每个函数前面,如"O3 void does(int x)"
- 循环进不去就在里面输出一段字符试试看是不是真的没有进去
- Dev-C++调试的时候如果把一个不带参数的函数用鼠标选中,就会把那个函数执行一遍!
算法实现
- SPFA在while循环最后记得清空bz[x]!!!
- 正式比赛用SPFA一定要加上SLF优化,或者再加一个:把队头随机与队列中某一个交换
- 在splay上对任何一个不为根的节点进行操作后都要把它旋到根保证时间复杂度。
- 懒标记的含义应为“这个点已经更新,但儿子还未更新”
- 动态开点的线段树值域可能为负数,这个时候直接/2会出问题(l+1==r时mid会等于r),所以应该mid=(l+r)>>2,这样是取小的那个,就可以避免这种问题了。
- 两个数相乘取模时,如果那两个数本来是大于模数的,那么就会爆掉,要先模再乘
- 求点双的时候,记得判断根是不是割点
做题技巧
树上问题可以处理出dfs序/欧拉序等,转化为序列问题做
求区间数字种类一般用分块/莫队搞。
求A~B的数字是否在序列中连续排列(不要求顺序)一般找出A~B中最靠左的数和最靠右的数,若间隔为B-A+1则连续。
求树中选择点的顺序考虑转化为给每一条边定向。
曼哈顿距离和切比雪夫距离可以相互转化。https://www.cnblogs.com/zwfymqz/p/8253530.html 如果要求曼哈顿距离小于等于D的点的个数,那么可以转化为切比雪夫距离。求两点切比雪夫距离不超过D的点个数,就变为询问一个矩形内点的个数,扫描线解决。

一个一直感性理解,无法理性证明的容斥公式
判断能不能取到某个数,套路是取模后跑最短路。如

线段树不仅仅可以维护极值和sum,还可以维护很多其他的东西,比如JZOJ5060(维护最小生成树)或JZOJ6293(维护最短路)
比赛策略
- 每个程序交之前肉查三遍,一遍检查数组是否开大开小,有没有爆空间,一遍检查n与m,x与y这些有没有打反。还要检查题目要不要求模,模数是多少。
- 看完全部题的优先级高于一切,在前30分钟至少吧前三题都看完并初步思考。过50分钟左右就必须开始打了,不然时间不够。先把零散的暴力分拿满
- 不要过分相信大样例!!
技巧&注意事项合集的更多相关文章
- Android中的对话框AlertDialog使用技巧合集-转载
Android中的对话框AlertDialog使用技巧合集 文章来自:http://blog.csdn.net/blue6626/article/details/6641105 今天我用自 ...
- 掘金 Android 文章精选合集
掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...
- 面试必备:高频算法题终章「图文解析 + 范例代码」之 矩阵 二进制 + 位运算 + LRU 合集
Attention 秋招接近尾声,我总结了 牛客.WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对.测试.欢迎食用 本 ...
- 不容错过的UI设计素材大合集
免费PSD素材 TETHR by InVision 这是出自InVision的8款PSD文件,其中包含了100个模板和超过500个UI控件.来自InVision和UI8的设计师一同协作完成了这套UI ...
- 大量Javascript/JQuery学习教程电子书合集
[推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人 不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小 15天学会jQuery(完整版).pd ...
- JavaScript推荐资料合集(前端必看)
这份合集覆盖了所有的JavaScript基本知识,从基本网络编程技巧,如变量.函数和循环语句,到高级一些的专题,如表单验证.DOM操作.客户端对象.脚本程序调试.学习前端的你不容错过! 资料名称 下载 ...
- FFmpeg示例程序合集-批量编译脚本
此前做了一系列有关FFmpeg的示例程序,组成了<最简单的FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player: ...
- 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总
Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...
- 24个 CSS 高级技巧合集
上期入口:史上最全实用网络爬虫合集! 1.使用CSS复位 CSS复位可以在不同的浏览器上保持一致的样式风格.您可以使用CSS reset 库Normalize等,也可以使用一个更简化的复位方法: ** ...
随机推荐
- HTML-参考手册: URL 编码
ylbtech-HTML-参考手册: URL 编码 1.返回顶部 1. HTML URL 编码 参考手册 URL 编码会将字符转换为可通过因特网传输的格式. URL - 统一资源定位器 Web 浏览器 ...
- Backdoor CTF 2013 :电子取证250
0x00题目 h4x0r厌烦了你对他的城堡的所有攻击,所以他决定报复攻击你,他给你发来一封带有图片的邮件作为警告,希望你能找出他的警告消息:-) 消息的MD5值就是flag. 图片如下: 0x01解题 ...
- Struts1.3——Struts入门
1.Struts的几个基本概念 1.struts是一个开源框架(frameset) 2.struts是一个Web框架 3.struts是一个基于MVC的Web框架 2.为什么有struts 因为我们对 ...
- Linux NIO 系列(03) 非阻塞式 IO
目录 一.非阻塞式 IO 附:非阻塞式 IO 编程 Linux NIO 系列(03) 非阻塞式 IO Netty 系列目录(https://www.cnblogs.com/binarylei/p/10 ...
- lzma 知识点滴
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xuweiwei1860/article/details/31419195 LZMA(Lempel-Z ...
- RPC协议的介绍
根据网上搜索的一些资料摘抄汇总的,如果有误,欢迎斧正. 早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来.假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进 ...
- dns轮训python
环境 python3 先安装dnspython模块 httpclient模块 resolver模块 pip install dnspython pip install hhtpclient pip i ...
- 关于KiCAD的一些插件
关于KiCAD的一些插件 https://gitee.com/KiCAD-CN/KiCad-CN-Forum/blob/master/KiCad_help_zh_CN.md#swapit-%E5%B7 ...
- 虚拟机linux系统 硬盘/root路径扩容
调整完后,重新打开虚拟机,使用fdisk -l查看,可以看到我们刚刚扩容的空间已经可以看到,但没有分区,还不能使用./dev/sda已经拥有了扩大的空间. 使用Linux的fdisk分区工具给磁盘/d ...
- HDU-3001 TSP+三进制DP
题意:给出一个无向图,每个点不能被经过超过两次,选择一个起点问经过所有点至少一次的最短路径. 解法:注意此题是每个点不能经过超过两次,这和一般的TSP问题不同.但是也没有使得此题变得很复杂,原来的状态 ...