期待suqingnian.h
不定期更新,跟着自己的进度走的。
有什么好的东西可以收录的尽管留言
UPD:话说真的没人发现本宝宝的$Martix$类的$operator$打错了么?$qwq$ $2018.7.19$
/*by Qingnian Su,Only want to write sonething useful*/
#ifndef suqingnian
#define suqingnian template<typename _Element_pow>
_Element_pow
_pow(_Element_pow _a,_Element_pow _b,_Element_pow _mod)
{
_Element_pow _res=;
for(;_b;_b >>= , _a= _a * _a % _mod)
if(_b & ) _res = _res * _a % _mod;
return _res ;
} template<typename _Element_gcd>
_Element_gcd
_gcd(_Element_gcd _m, _Element_gcd _n)
{
while (_n != )
{
_Element_gcd _t = _m % _n;
_m = _n;
_n = _t;
}
return _m;
} bool __check[];
int __size;
int _num[];
void _prime(int __n)
{
for(int _i=;_i<=__n;_i++)
{
if(!__check[_i]) _num[__size++]=_i;
for(int _j=;_j<__size;_j++)
{
if(_i*_num[_j]>__n) break;
__check[_num[_j]*_i]=;
if(_i%_num[_j]==) break;
}
}
return ;
}
bool _isprime(int __n) {return ~__check[__n];} template<typename _Element_stack>
struct _stack{
_Element_stack __st[];
int __size_st;
void __push(_Element_stack __x)
{__st[++__size_st]=__x;return ;}
void __pop()
{__size_st--;return ;}
_Element_stack __top()
{return __st[__size_st];}
bool _empty() {return __size_st==;}
}; template<typename _Element_compare_max>
_Element_compare_max
_max(
const _Element_compare_max &a,
const _Element_compare_max &b )
{ return a > b ? a : b ;} template<typename _Element_compare_min>
_Element_compare_min
_min(
const _Element_compare_min &a,
const _Element_compare_min &b )
{ return a > b ? b : a ;} template<typename _Element_fabs>
_Element_fabs
_fabs(
const _Element_fabs &a )
{return a>(_Element_fabs)?a:-a;} template<typename _Element_swap>
void
_swap(
_Element_swap &a,
_Element_swap &b ){
a^=b^=a^=b;
return ;
} #include<cstdio>
struct file_io{
#define isdigit(ch) ((ch) >= '0' && (ch) <= '9')
char inbuf[ << ], *pin ,
outbuf[ << ], *pout ;
int stk[ ] ; file_io():
pout( outbuf ) {
fread( pin = inbuf, , << , stdin );
} ~file_io() {
fwrite( outbuf , , pout - outbuf , stdout ) ;
} inline void
getint( int &num ){
bool
neg = ;
num = ;
while( !isdigit( *pin ))
if( *pin++ == '-' )
neg = ;
while( isdigit( *pin ))
num = num * + *pin++ - '';
if( neg )
num = -num;
} inline void
putint( int num ){
static int
*v = stk;
if( !num )
*pout++ = '';
else{
if( num < )
*pout++ = '-', num = -num;
for( ; num ; num /= )
*v++ = num % ;
while(v != stk )
*pout++ = *--v + '';
}
} inline void
nextline() {
*pout++ = '\n';
}
}fio;
#define getint(num) fio.tint(num)
#define putint(num) fio.putint(num)
#define nextline() fio.nextline()
//template<typename _Element_Martix>
const double eps=0.00000000000000000001;
struct _Martix{
int
num[][];
int siz;
friend _Martix operator*
( const _Martix &__a,const _Martix &__b)
{
_Martix __c;
int _n
= _max ( __a.siz , __b.siz ); for( int _k = ; _k < _n ; _k ++ )
for( int _i = ; _i < _n ; _i ++ )
for( int _j = ; _j < _n ; _j ++ )
__c.num[_i][_j] +=
__a.num[_i][_k] * __b.num[_k][_j] ; __c.siz = _n;
return __c;
} friend _Martix operator+
( const _Martix &__a,const _Martix &__b)
{
_Martix __c;
int _n
= _max ( __a.siz , __b.siz );
for( int _i = ; _i < _n ; _i ++ )
for( int _j = ; _j < _n ; _j ++ )
__c.num[_i][_j] = __a.num[_i][_j] + __b.num[_i][_j] ;
__c.siz = _n;
return __c;
} friend _Martix operator-
( const _Martix &__a,const _Martix &__b)
{
_Martix __c;
int _n
= _max ( __a.siz , __b.siz );
for( int _i = ; _i < _n ; _i ++ )
for( int _j = ; _j < _n ; _j ++ )
__c.num[_i][_j] = __a.num[_i][_j] - __b.num[_i][_j] ;
__c.siz = _n;
return __c;
}
/*
inline int* operator []
( const int& __x )
{return num[__x];} inline bool cmp(const double &x){
return x < -eps ? - : x > eps ;} inline double
_getnum(){
double ans = 1.0 ;
for( int i = ; i <= siz ; i ++ ){
int nw = i;
for( int j = i + ; j <= siz ; j ++ )
if(_fabs(num[j][i]) > _fabs(num[nw][i]))
nw=j; for( int j = ; j <= siz ; j ++ )
_swap(num[nw][j],num[i][j]); for( int j = i + ; j <= siz ; j ++ ){
double t = num[j][i]/num[i][i];
for( int k = i ; k <= siz ; k ++ )
num[j][k] -= num[i][k] * t;
} if(!cmp(num[i][i])) return 0.0;
ans *= num[i][i];
}
return _fabs( ans );
}
*/
};
#endif
本宝宝暂时把$128int$注释掉了,因为本宝宝写挂了。
期待suqingnian.h的更多相关文章
- bzoj1050旅行
题目链接 其实没有辣么难, 暴力枚举最小边是哪条边,然后每次跑一边最小生成树, 当$s,t$刚好联通时最后加的边的权值就是当前的最大边最小的情况 然后判断一下,更新答案就好 /************ ...
- bzoj1875 HH去散步
题目链接 一开始特别天真, $Folyd$传递闭包写了一下过了样例就交上去了 然后$gg$ $qwq$ 想了想$……$ 还要写一点东西 最后统计答案的时候有细节要注意 /*************** ...
- bzoj1801中国象棋
题目链接 很裸的$dp+$组合计数 注意 注意 注意 $BZOJ$不要用玄学优化 $CE$不管$qwq$ /********************************************** ...
- bzoj1009GT考试
题目链接 没啥好说的,矩阵优化+$kmp$字符串匹配 上代码: /************************************************************** Prob ...
- bzoj2440完全平方数
题目链接 上来先吐槽题面!!!!!! 你跟我说$1$不是完全平方数昂? 看了半天样例啊. 活生生的半天$……$ 莫比乌斯 反演 函数容斥一下,每次二分就好 反正本宝宝不知道反演是啥. 每次判断应 ...
- Android IOS WebRTC 音视频开发总结(七九)-- WebRTC选择H.264的四大理由
本文主要介绍WebRTC选择H.264的理由(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacke ...
- 彻底弄清c标准库中string.h里的常用函数用法
在我们平常写的c/c++程序,一些算法题中,我们常常会用到c标准库中string.h文件中的函数,这些函数主要用于处理内存,字符串相关操作,是很有用的工具函数.而且有些时候,在笔试或面试中也会出现让你 ...
- vlc源码分析(六) 调用OpenMAX硬解码H.265
H.265(HEVC)编码格式能够在得到相同编码质量视频的前提下,使用相当于H.264(AVC)一半的存储容量,虽然H.265的算法复杂度比H.264高一个数量级,但是硬件水平在不断提高,因此H.26 ...
- STL stl_alloc.h
# // Comment By: 凝霜 # // E-mail: mdl2009@vip.qq.com # // Blog: http://blog.csdn.net/mdl13412 # # // ...
随机推荐
- Django Rest Framework 3
目录 一.版本 二.解析器 三.序列化 四.请求数据验证 一.版本 程序也来越大时,可能通过版本不同做不同的处理 没用rest_framework之前,我们可以通过以下这样的方式去获取. 1 clas ...
- delphi 在桌面屏幕上模拟鼠标单击
delphi 在桌面屏幕上模拟鼠标单击 procedure TFrmUnicom.Button1Click(Sender: TObject); var oldPoint, newPoint: TPoi ...
- Tornado 高并发源码分析之二---Tornado启动和请求处理流程
Tornado 服务器启动流程 因为Tornado 里使用了很多传类的方式,也就是delegate,之所以要这么做,其实和 iOS 开发那样,也很多的 delegate, 如此来实现高度解耦,但是比较 ...
- (转)css 背景色渐变兼容写法
css3:linear-gradient 比如:黑色渐变到白色,代码如下: .gradient{ background: -moz-linear-gradient(top, #000000 0%, # ...
- Uboot详细解析1
uboot 详细注释讲解 声明:该贴是通过参考其他人的帖子整理出来,从中我加深了对uboot的理解,我知道对其他人一定也是有很大的帮助,不敢私藏,如果里面的注释有什么错误请给我回复,我再加以修改.有些 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念
目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning 无 ...
- Python之面向过程和面向对象的区别
一.面向过程 1.面向过程:核心是过程二字,过程指的是解决问题的步骤,好比如设计一条流水线,是一种机械式的思维方式. 就是程序从上到下一步步执行,一步步从上到下,从头到尾的解决问题 .基本设计思路就是 ...
- [luogu3369]普通平衡树(treap模板)
解题关键:treap模板保存. #include<cstdio> #include<cstring> #include<algorithm> #include< ...
- 代码查看import的类是出自哪个jar包的方法(转)
import java.security.ProtectionDomain; import java.security.CodeSource; public static void main(Stri ...
- <c:out>标签中有一个escapeXml属性 如果为escapeXml="false",则将其中的html、xml解析出来。
<td><c:out value="${s.name}" escapeXml="false"></c:out></td ...