期待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 # # // ...
随机推荐
- plsql中调试函数 转
1.首先在函数名上右键Test 2.进入调试界面后,界面下方会出现变量列表,在下图中value的栏中填入输入参数后,点击下图左上方带放大镜的绿色三角 3.此时进入调试模式,点击下图中的第一个蓝色方框, ...
- 关于性能测试中LR的pacing time设置的相关实验
最近项目中遇到相关性能测试不同方法产生的争议,我这就这个问题在测试环境做了个实验,得出一些指标数据间的有趣关系,供大家讨论学习: 预备知识点: 业界有个TPS ,ART和实际并发量三者间的模拟换算公式 ...
- 页面中CSS的四种引入方式的介绍与比较
转自:https://blog.csdn.net/qq_38689666/article/details/79039392 一:行内式 <p style="color:red" ...
- Hadoop IO 特性详解(1)
本文结合hadoop : the definitive guide精心而作,包含作者的心血,希望可以帮助大家理解一点hdfs的皮毛,足矣.(charles@xingbod.cn) hadoop本身自带 ...
- UIWidget
[UIWidget] UIWidget在NGUI中的层次如下. 根据上篇所述,UIRect实现实现了Anchor功能.而Widget提供的功能也很简单,如下: 可以看到,widget只提供四个属性,a ...
- 04-nginx日志管理
做了几年PHP,老板.经理没说让我管过日志这东西.一般牵涉到日志运维这主要是运维的工作.但是这一章节主要是以拔高性质为主.分析日志的管理方式.PHP程序员不能光靠PHP成为高手,PHP不就if els ...
- SpringBoot26 利用 Ribbon + RestTemplate 调用远程服务资源
1 RestTemplate扫盲 借助 RestTemplate,Spring应用能够方便地使用REST资源 2 准备 创建三个springCloud项目 >Eureaka : 服务注册中心 ...
- OpenNebula 深入分析
-------------------OpenNebula 深入分析------------------- #容量清单 属性 描述 NAME 如果名字是空的,那么默认名字是:one-<VID&g ...
- 打印vector内容
<span style="font-size:14px;">#include <iostream> #include <vector> #inc ...
- Linux查看内存,负载状态
Linux查看内存,负载状态 查看内存使用情况 www.ahlinux.com cat /proc/meminfo MemTotal: 16332644 kB MemFree: ...