首页 > 其他分享 >My头文件(2)

My头文件(2)

时间:2023-09-10 18:23:57浏览次数:38  
标签:typedef ch 头文件 res i4 return My define

自定义头文件"almighty.h"

持续更新

头文件内部内容:

#ifndef _ALMIGHTY_
#define _ALMIGHTY_

#include<bits/stdc++.h>
using namespace std;

#define sd signed
#define ud unsigned
#define ct const
#define sc static
typedef int i4;
typedef long long i8;
typedef float f4;
typedef double f8;
typedef void vd;
typedef bool bl;
typedef char cr;

#define Sf scanf
#define Pf printf
#define Gc getchar

#define Up(a, b, c, d) for (a = b; a <= c; a += d)
#define Dn(a, b, c, d) for (a = b; a >= c; a -= d)

i4 read();
i4 Abs(i4);
i4 lowbit(i4);
i4 countbit(i4);
i4 qpow(i4, i4, ct i4);
i4 inv(i4, i4);
i4 gcd(i4, i4);
i4 qgcd(i4, i4);
i4 exgcd(i4, i4, i4&, i4&);
vd Swap(i4&, i4&);

#endif

函数实现:

#include"almighty.h"

i4 read() {
	i4 res = 0, sgn = 0;
	cr ch = Gc();
	while (~ch && !isdigit(ch)) sgn |= ch == '-', ch = Gc();
	while (~ch && isdigit(ch)) res = (res << 1) + (res << 3) + (ch ^ 48), ch = Gc();
	return sgn ? -res : res;
}
i4 Abs(i4 x) {
	i4 a = x >> 31;
	return (x ^ a) - a;
}
i4 lowbit(i4 x) {
	return x & (-x);
}
i4 countbit(i4 x) {
	i4 count = 0;
	while (x) {
		x = x & (x - 1);
		count ++;
	}
	return count;
}
i4 qpow(i4 a, i4 b, ct i4 p) {
	i4 res = 1;
	for (; b; b >>= 1ll, a = (i8)a * a % p)
		if (b & 1)
			res = (i8)res * a % p;
	return res;
}
i4 inv(i4 n, i4 p) {
	return qpow(n, p - 2, p);
}
i4 gcd(i4 a, i4 b) {
	return !b ? a : gcd(b, a % b);
}
i4 qgcd(i4 a, i4 b) {
	i4 x = __builtin_ctz(a), y = __builtin_ctz(b), z = min(x, y), k;
	b >>= y;
	while (a) {
		a >>= x;
		k = b - a;
		x = __builtin_ctz(k);
		if (a < b) b = a;
		a = k < 0 ? -k : k;
	}
	return b << z;
}
i4 exgcd(i4 a, i4 b, i4 &x, i4 &y) {
	if (!b) {
		x = 1, y = 0;
		return a;
	}
	i4 d = exgcd(b, a % b, x, y), t = x;
	x = y, y = t - (a / b) * y;
	return d;
}
vd Swap(i4 &a, i4 &b) {
	a ^= b, b ^= a, a ^= b;
}

标签:typedef,ch,头文件,res,i4,return,My,define
From: https://www.cnblogs.com/vectorSpace-blog/p/17691622.html

相关文章

  • 实现读写分离SpringBoot+MyBatis+Druid
    实现读写分离SpringBoot+MyBatis+Druid1.读写分离概念理解读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程......
  • Navicat连接Docker创建的MySQL运行实例
    一步步教你在Docker中安装MySQL(qq.com)Docker部署MySql应用-魔鬼YU天使-博客园(cnblogs.com)拉取MySQL镜像我们可以通过Docker提供的命令,直接从DockerHub上拉取MySQL的官方镜像。打开终端,输入如下命令:dockerpullmysql:8.0其中,:8.0表示我们需要下载的MySQL版本,你也......
  • linux7.X二进制方式安装MySQL5.7.X
    概述系统环境服务器型号VMwareVirtualPlatform操作系统版本RHEL7.6x86_64主机名linuxpg51PubIP192.168.115.51数据库安装版本mysqlVer14.14Distrib5.7.30,forlinux-glibc2.12(x86_64)usingEditLinewrapper安装路径规划[mysql@linuxpg51/]$tree-L1/mysql/mysq......
  • MySQL基础
    要学习数据库首先要先搞清楚三个概念数据库(DB):是存储数据的仓库数据库管理系统(DBMS):管理数据库的大型软件SQL:通过SQL操作数据库管理系统操作数据库,对数据库进行增删改查等由此我们可以知道数据库就是安装在操作系统之上的数据仓库,用于存储数据。我们也先认识一个概念->关系型数据......
  • 【k8s】k8s构建mysql双主集群
    背景当前很多开源系统都是基于k8s,而部署时会遇到组件包含mysql的情况。理想的情况下,是将mysql迁移到云上托管。但实际情况可能比较复杂,比如这个开源框架需要mysql的DML权限,但是公司DBA不提供;而基于k8s部署mysql的问题是,这个mysql集群往往是单点的。一般mysql会依赖于一个本地挂......
  • Windows安装MySQL Community Server 8.1.0 Innovation
    检查是否安装按win+r打开运行,输入services.msc回车在服务列表中查找mysql服务,如果存在mysql服务,说明已经安装mysql。反之,则说明没有安装了mysql服务。下载并安装下载链接:https://dev.mysql.com/downloads/mysql/MySQLCommunityServer8.1.0Innovation有msi版本......
  • 【高级】MySQL主从复制
    【一】引入之前做过redis的主从,很简单mysql稍微复杂一些,搭建mysql主从的目的是?读写分离单个实例并发量低,提高并发量只在主库写,读数据都去从库----》读多写少读写分离通过将读操作分发到从库,可以分摊主库的读负载,提高整体的并发处理能力。主库只需处理写操作,从库......
  • mybatis核心配置文件以及mapper文件的配置
    config文件<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>......
  • Mybatis 学习
    1.第一个程序1.1配置数据库表中包含id、name、password1.2配置pom.xmlmysql-connector5.几有问题,用8.几mybatisjunit<build<resources中的directory、includes、filetering中为false。否则在junit的测试中,xml文件会被过滤1.3准备POJO层数据类有id、name、password,......
  • MyBatis实现In查询(XTHS 实测)
    一. SQL语法实现In查询SQL语句实现In查询SELECT*FROMuser_infoWHEREuser_namein('xixi','haha');二. MyBatis实现In查询错误范例:如果在MyBatis中也使用类似SQL语法来实现In查询,像如下示例,肯定会报错,因为MyBatis不支持这样的写法。//Dao层List<UserInf......