收集一些关于OI/ACM的奇怪的东西……
一、代码:
1、求逆元(原理貌似就是拓展欧几里得,要求MOD是素数):
int inv(int a) {
if(a == 1) return 1;
return ((MOD - MOD / a) * inv(MOD % a)) % MOD;
}
2、底层优化(正确性未验证):
int cmp(int a) {if (!a) return 0; return a < 0 ? -1 : 1;}
int cmp(int a) {return (a >> 31) + (-a >> 31 & 1);}
int abs(int x) {return x > 0 ? x : -x;}
int abs(int x) {int y = x >> 31; return (x + y) ^ y;}
x = (x == a ? b : a)
x ^ = a ^ b
//等于0返回0,大于0返回1,小于0返回-1
int sgn(double x) {
if(fabs(x) < EPS) return 0;
return x > 0 ? 1 : -1;
}
int sgn(double x) {
return (x > EPS) - (x < -EPS);
}
int fastMax(int x, int y) {return (((y-x)>>(32-1))&(x^y))^y;}
int fastMin(int x, int y) {return (((y-x)>>(32-1))&(x^y))^x;}
3、扩栈,这玩意儿在OJ上用能防爆?
#pragma comment(linker, "/STACK:1024000000,1024000000")
4、神速读入fread
struct Reader {
static const int MSIZE = 65536;
char buffer[MSIZE], c;
int l = 0, r = 0;
char readchar() {
if(l == r) {
l = 0;
r = fread(buffer, 1, MSIZE, stdin);
}
return buffer[l++];
}
int readint() {
c = readchar();
while(!isdigit(c)) c = readchar();
int res = 0;
while(isdigit(c)) res = res * 10 + c - '0', c = readchar();
return res;
}
} reader;
二、神牛blog
三、专题
动态规划系列:
字符串系列:
计算几何系列:
数学系列:
四、(伪)算法教学
字符串系列:
数学系列:
ZJU2004 Commedia dell'arte - 八数码问题有解的条件及其推广
组合计数系列:
数论系列:
数据结构系列:
Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
动态规划系列:
图论系列:
JAVA:
其他:
五、OI/ACMer感谢贴/退役贴/经验贴/等等:
六、解题报告
GDCPC2015题解 by lby@SYSU_Spirit_Moon
GDCPC2016题解 by lby@SYSU | Asiimov
七、其他:
数据结构动态演示1:http://www.comp.nus.edu.sg/~stevenha/visualization/
数据结构动态演示2:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
收集一些关于OI/ACM的奇怪的东西……的更多相关文章
- 【封装工程】OI/ACM常用封装
前言 笔者有的时候无聊,就将一些奇怪的东西封装起来. 范围主要是在\(OI\)或者\(ACM\)中的常见数据结构等. 随着笔者的能力的提升,可能会对原来的封装程序进行修改,并且保留原来的版本. [ST ...
- BZOJ-3670 动物园 KMP+奇怪的东西
YveH爷再刷KMP,DCrusher看他刷KMP,跟着两个人一块刷KMP... 3670: [Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MB ...
- OI/ACM 刷题网站 人气OJ简介
SPOJ简介 SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台. SPOJ题目分类:class ...
- OI/ACM最全卡常大招
NO.10: 循环展开: 在缓存和寄存器允许的情况下一条语句内大量的展开运算会刺激 CPU 并发(蛤?这是个什么原理,算了,反正写了没坏处就这么写吧) NO.9: 特殊运算优化:(或许这真的没用) 取 ...
- [打基础]OI/ACM基本功&一些小功能的实现&一些错误(持续更新)
基本功 前导0 如题,有时候需要把3输出成03这样子,可以调用 cout.width(x); ,x表示以几位,用 cout.fill(x); 来给出前导填充的内容,一般x以char的形式给出 例如可以 ...
- IO/ACM中来自浮点数的陷阱(收集向)
OI/ACM中经常要用到小数来解决问题(概率.计算几何等),但是小数在计算机中的存储方式是浮点数而不是我们在作数学运算中的数,有精度的限制. 以下以GUN C++为准,其他语言(或编译器)也差不了多少 ...
- 第七届ACM趣味程序设计竞赛第四场(正式赛) 题解
Final Pan's prime numbers 题目连接: http://acm.uestc.edu.cn/#/problem/show/1272 题意 给你n,要求你在[4,n]范围内找到一个最 ...
- ACM录 之 输入输出。
—— 简单介绍一下ACM里面的输入输出... —— 主要说C++的输入输出(其实其他的我不会...). —— C++里面有输入输出流,也就是cin和cout,用起来也算是比较方便吧... —— 但是, ...
- ACM hust 2.1
来自咸鱼王的呻吟 http://www.xiami.com/song/3599639?spm=a1z1s.3521865.23309997.1.PbLu7E 配合咸鱼食用效果更佳(右键新窗口打开) 题 ...
随机推荐
- [资料分享]Python视频教程(基础篇、进阶篇、项目篇)
Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...
- win7 eclipse 调试storm
windows 下eclipse开发storm 用本地模式,直接run as 运行topology解决了可以什么都不用下,直接把storm-starter的源码下下来,1.在eclipse创建一个ja ...
- jesperreport+ireport简单理解
ireport:主要是生成报表模板 jesperreport:主要是用.jesper文件填充数据(jdbc.javabean)生成面向用户的文件(PDF.HTML等)
- VS2010+64+OSG3.2.1之五Plugins dae编译
VS2010+64+OSG3.2.1之五Plugins dae编译 转自:http://blog.csdn.net/nuaaqsm0915/article/details/38978971 Plugi ...
- 如何在VS2012中使用IL Disassembler中查看项目编译生成的程序集
2016-05-26 11:48:46 测试的WPF项目 MainWindow.xaml代码 MainWindow.xaml.cs 代码 在学习WPF的时候,想验证:删除MainWindow.xaml ...
- Ajax校验
一.Ajax简介 AJAX即(Asynchronous JavaScript and Xml)(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. Ajax的关键元素包括以 ...
- Python开发: DOM
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...
- javascript学习之通过class获取元素
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 20145205 《Java程序设计》第6周学习总结
教材学习内容总结 -若要将数据从来源中取出,可以使用输入串流:若要将数据写入目的地,可以使用输出串流.在java中,输入串流代表对象为java.in.InputStream的实例:输出串流代表对象为j ...
- MySQL配置文件my.cnf 例子最详细翻译
转的 MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用. #BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载 ...
gbr的馒头屋