收集一些关于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 配合咸鱼食用效果更佳(右键新窗口打开) 题 ...
随机推荐
- [NOIP2011]观光公交 题解
题目大意: 就省了吧 思路: 应该算是贪心. 不难发现,加速只对所有在使用加速器之后连续的一段下车时不用等人的站点下车的人有用.这非常重要. 先算出不加速时的和,并预处理出每个站点最迟到的人的时间.每 ...
- mysql在线修改表结构大数据表的风险与解决办法归纳
整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...
- HDU5769 Substring(后缀数组)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769 #include <iostream> #include <stdio.h> ...
- Lua系统库
Lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和OS相关的库.但是Lua还提供了一些扩展库,比如Posix库等.对于文件操作而言,该库仅提供了os.rename函数和os ...
- Canvas实现文字散粒子化
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS一些编译运行问题
1.在运行工程时,出现错误如下所示: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_XXXXX", refer ...
- 第一章-第七题( 有人认为,“中文编程”, 是解决中国程序员编程效率一个秘密武器,请问它是一个 “银弹” 么? )--By 侯伟婷
首先,“银弹”在百度百科中的解释是银色的子弹,我们更熟知的“银弹”一词,应该是在<人月神话>中提到的.银弹原本应该是指某种策略.技术或者技巧可以极大地提高程序员的生产力[1].此题目中关于 ...
- 安卓初級教程(2):SD創建file,儲存與讀寫的方法(1)
package com.sdmadik; import java.io.*; import android.app.Activity; import android.os.Bundle; import ...
- 通过IP地址屏蔽各种“推广”
事情的起因是这样的:最近老是发现iPhone应用的底部出现各种横条广告,一开始以为是Google的广告推广,所以没管它,但是最近这些广告越来越猖狂,里面的内容越来越垃圾.今天仔细一看,原来不是Goog ...
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-2 工程及程序构架介绍
视频简介: 该视频介绍iCore3应用开发平台出厂源代码中ARM部分程序构架. 源视频包下载地址: http://pan.baidu.com/s/1jHGnc7k 银杏科技优酷视频发布区: htt ...
gbr的馒头屋