收集一些关于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 配合咸鱼食用效果更佳(右键新窗口打开) 题 ...
随机推荐
- BZOJ 2431 & DP
题意:求逆序对数量为k的长度为n的排列的个数 SOL: 显然我们可以对最后一位数字进行讨论,判断其已经产生多少逆序对数量,然后对于前n-1位同样考虑---->每一个长度的排列我们都可以看做是相同 ...
- [机器学习] ——KNN K-最邻近算法
KNN分类算法,是理论上比较成熟的方法,也是最简单的机器学习算法之一. 该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 ...
- ZeroMQ接口函数之 :zmq_msg_send – 从一个socket发送一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_msg_send zmq_msg_send(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ ...
- 获取文件hash值
public string getFilesMD5Hash(string file) { //MD5 hash provider for computing the ...
- 实战Java虚拟机之四:提升性能,禁用System.gc() ?
今天开始实战Java虚拟机之四:"禁用System.gc()". 总计有5个系列 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟 ...
- EMF学习,为了实现可扩展可自定义的模型验证 - 各种实现方法学习
自: http://blog.csdn.net/javaman_chen/article/details/6057033 http://www.ibm.com/developerworks/cn/op ...
- 2016总结 wjwdive
2016 成长:收获最大的,学会了耐心,学会了宽容,学会了不强求.一念放下,万般自在.我真的是晚熟啊 ^_^! . 读书:<小王子>.<了不起的盖茨比>.<和任何人都聊得 ...
- 数据库使用数据泵迁移遇到LOB字段
impdp system/Clic1234 attach=SYS_IMPORT_ILEARN_TRA desc ILEARN_TRA.NOTIFI_TACTIC desc ILEARN_TRA.MSG ...
- Codeforces Good Bye 2016 D 模拟搜索?
给出烟花的爆炸方式和爆炸次数 问最后有多少个格子会被炸到 如果dfs的话会超时... 利用模拟每一层来搜索..? 思想就是一开始有一个爆炸点向上 然后模拟完第一段 会产生一个爆炸点 朝两个方向 就用v ...
- React Native 中 CSS 的使用
首先声明,此文原作者为黎 跃春 React Native中CSS 内联样式 对象样式 使用Stylesheet.Create 样式拼接 导出样式对象 下面的代码是index.ios.js中的代码: / ...
gbr的馒头屋