oi模板

// Copyright (c) 2016 jszyxw. All rights reversed.

#include <set>
#include <map>
#include <ctime>
#include <cmath>
#include <cctype>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>

#define X first
#define Y second
#define LL long long
#define MP make_pair
#define pii pair<int, int>
#define DEBUG(...) fprintf(stderr, __VA_ARGS__)
#define REP(i, x, y) for (int i = (x), _ = (y); i <= _; ++ i)
#define rep(i, x, y) for (int i = (y), _ = (x); i >= _; -- i)
#define REPedge(i, u) for (int i = st[u]; i; i = e[i].next)

#ifdef __linux__
#define getchar getchar_unlocked
#define putchar putchar_unlocked
#endif

int ___;
const LL OO = 1e18;
const int oo = 2e9;
const int MO = 1e9 + 7;
const double eps = 1e-8;
const int MAXN = 1e5 + 5;
const int MAXM = MAXN * 10;
const int End_Time = CLOCKS_PER_SEC * 0.98;

template <class T> inline bool Chkmin(T &x, T y) { return x > y ? x = y, true : false; }
template <class T> inline bool Chkmax(T &x, T y) { return x < y ? x = y, true : false; }

template <class T> inline T read(T &x)
{
	static int f;
	static char c;
	for (f = 1; !isdigit(c = getchar()); ) if (c == ‘-‘) f = -f;
	for (x = 0; isdigit(c); c = getchar()) x = x * 10 + c - 48;
	return x *= f;
}
template <class T> inline void write(T x, char P = 0)
{
	static char s[25];
	static int top = 0;
	if (x < 0) putchar(‘-‘), x = -x;
	do s[++top] = x % 10 + 48; while (x /= 10);
	do putchar(s[top]); while (-- top);
	if (P) putchar(P);
}
template <class T> inline T qpow(T x, LL n)
{
	T ans = T(1);
	while (n) {
		if (n & 1) ans = ans * x % MO;
		x = x * x % MO;
		n >>= 1;
	}
	return ans;
}

using namespace std;

// EOT

inline void Init()
{
}

inline void Solve()
{
}

// BOT

string Program_Name = "t";
string Iput = Program_Name + ".in";
string Oput = Program_Name + ".out";

int main()
{
	if (fopen(Iput.c_str(), "r") != NULL) {
		freopen(Iput.c_str(), "r", stdin);
		freopen(Oput.c_str(), "w", stdout);
	}

	Init();
	Solve();

	return 0;
}

  

时间: 2024-11-06 02:26:36

oi模板的相关文章

OI模板(3)—— 快速幂(fast_power)

又是一个赤裸裸的模板,倍增思想其实是关键,我们只有稍加改动,也可以得出另外一种运算,快速乘,但实用性不如快速幂,大概只有在大整数乘法时才会用到 而倍增思想并不是仅仅用于快速运算,倍增求lca也是常用的倍增算法 #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <cmath>

OI模板(2) —— 树状数组(BIT)

在codevs上有模板题目,虽说是线段树模板,不过就题目描述来说,树状数组轻松水过 传送门:http://codevs.cn/problem/1080/ 能用线段树就不要用平衡树,能用树状数组就不要用线段树,这话是显然的,代码长度.难道上都有较大区别,BIT是最简单的一个 1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include <cstdlib> 5 #incl

OI模板——线段树(segment_tree)O(lg n)

咱家越来越懒了,连解释都懒得去写了,主要思想就是把一个区间当作一个线段,然后不断的递归二分最后成为各个点,关键在于lazy_tag,当你正在处理的区间完全在目标操作区间时就可以用lazy来处理,不再递归下去,思想是这样的,想要会的话呢,应该先去照着打两遍,边打边理解,然后就可以自己打啦 #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include

(长期更新)OI常用模板

看不惯我码风的同志请见谅-- DFT 离散傅立叶变换 void dft(pdd *a,int l,bool r){ int i,j=l/2,k; for(i=1;i<l;++i){ if(i<j) swap(a[i],a[j]); for(k=l/2;j&k;k>>=1) j^=k; j^=k; } for(i=1;(1<<i)<=l;++i){ int cl=(1<<i); pdd w=mpr(cos(2.0*pi/(double)cl),s

浅谈拓扑排序在OI的应用

by MedalPluS [拓扑排序的定义] 引例: 在大学里有很多学科需要学习,而有的学科需要学习其他学科后才能学习,比如说必须先学数学再学微积分......这就是一个拓扑序的关系 [拓扑排序的应用] 对于上述题目,可以假设如果学习a需要学习b的话,从b连一条边到a,然后对整个图求一次拓扑序列,这便是学习的一种方案 很显然,拓扑排序应该从入度为0,然后1,然后2...来找 [拓扑排序的实现] 很容易想到一种算法,暴力枚举每个点,然后找与之相连的点,删掉这条边,并把点的入度-1,再次寻找,知道找

bzoj2049-洞穴勘测(动态树lct模板题)

Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴.假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径.洞穴都十分坚固无法破坏,然而通道不太稳定,时常因为外界影响而发生改变,比如,根据有关仪器的监测结果,123号洞穴和127号洞穴之间有时会出现一条通

NOI2016 高中OI生涯的最后一站

你乘坐的航班XXX已经抵达终点站——四川绵阳. “呼——”机舱外的天空灰沉沉的,不禁有些压抑与紧张. 一出机场,就看见南山中学的牌子,黄色衣服的志愿者们,还有热情的老师们. 感觉刚才的情绪又一扫而空了,转而迎来的是一种兴奋与激动. 学长和教练都曾说过:就当做一次展现自己实力的机会.从来不要给自己太大压力. 这样的话大多也埋在心里了吧,潜移默化的影响着自己的心情. 那就开心的去面对这几场考试好了. 首先领好东西,还去签名版上签了个名字,发现湖南参赛的选手果然好多呀...不过不知道今年能不能翻身成强

后缀数组(Suffix Array)模板及简析——Part 1:构建SA和rank数组

后缀数组(Suffix Array,SA)是处理字符串的有力工具.它比后缀树更易实现,占用空间更少,并且同样可以解决千变万化的字符串问题 首先推荐罗穗骞的论文(网上搜一下就能搜到),里面对后缀数组的定义.实现和应用都做了详细的阐述 然而不幸的是罗神犇的代码简直魔性,蒟蒻表示这代码压的根本看不懂啊…… 所以在理解了后缀数组的构建过程之后,我重新写了一份模板代码.虽然啰嗦了点(代码比较大,而且变量名故意拉长了),不过相对比较好懂 而且论文中用到的辅助空间是4N,我的模板用了3N,事实上还可以优化到只

OI Trainning 知识体系结构

OI Trainning 知识体系结构 From:http://www.cnblogs.com/hadilo/p/5840434.html 初级 1.1 C语言基础 1.1.1 C语言程序结构(A+B Problem) 1.1.2 变量,常量,数据类型,输入与输出 1.1.3 条件语句 1.1.4 循环语句 1.1.5 数组 1.1.6 字符数组.字符串 1.1.7 指针 1.1.8 共同体.结构体 1.1.9 函数 1.1.10 过关练习题 中级 2.1 深度优先搜索 2.1.1 栈与递归函数