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

My头文件(1)

时间:2023-09-10 10:56:10浏览次数:33  
标签:typedef return res i4 头文件 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 lowbit(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);

#endif

函数实现:

#include"almighty.h"

i4 lowbit(i4 x) {
	return x & (-x);
}
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;
}

希望会有点用。。。

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

相关文章

  • Flink 1.17教程:输出算子之输出到MySQL(JDBC)
    输出到MySQL(JDBC)写入数据的MySQL的测试步骤如下。(1)添加依赖添加MySQL驱动:mysqlmysql-connector-java8.0.27官方还未提供flink-connector-jdbc的1.17.0的正式依赖,暂时从apachesnapshot仓库下载,pom文件中指定仓库路径:apache-snapshotsapachesnapshotshttps://repository.a......
  • nacos配置mysql链接
    因为是Linux安装,所以下载的是tar.gz的 下载完之后直接用的MobXtrem上传到任意文件夹中,然后用下面的命令解压到当前文件夹:tar-zxvfnacos-server-1.4.2.tar.gz然后进入到bin文件夹下面,执行单机命令启动:./startup.sh-mstandalone这个时候就已经可以访问页面域名/ip:8848/......
  • 欧拉22使用rpm包安装mysql8
    欧拉系统下载链接http://mirrors.163.com/openeuler/openEuler-22.03-LTS/everything/x86_64/Packages/https://zhuanlan.zhihu.com/p/649407349安装tar命令dnf-yinstalltar解压tar包tar-xfmysql-community-8.0.33-1.x86_64.tarsetenforce0开始安装rm-rf*test*rm-rf*d......
  • navicate 连接mysql8.1
    1问题描述安装好mysql8.1,使用navicate连接,报错Clientdoesnotsupportauthenticationprotocolrequestedbyserver; 2解决1)命令行登录mysqlmysql-hlocalhost-P3306-u用户-p密码 2)执行命令修改加密规则ALTERUSER'root'@'localhost'IDENTI......
  • MySQL查询语句及练习题
    查询记录查询数据库表中列的数据SELECT*,列名FROM表名WHERE条件GROUPBY分组HAVING过滤ORDERBY排序LIMIT分页查询分组查询GROUPBY子句用于根据一个或多个列对结果进行分组--统计员工表中职位的分类信息SELECTJ职位FROM员工表GROUPBY职位;--统计员工表......
  • MySQL配置中文编码GBK的重要性
    一、背景   在mysql数据库中,默认使用的是latin字符集,所以无法正常的支持中文字符。在my.ini文件中将配置支持GBK编码,方便于后续数据库操作而不会报错误。二、问题如下图所示通过上述图,存在以下几个问题:默认创建的数据库和表是latin1编码。my.ini配置文件中设置为:character-s......
  • MySQL查询命令练习(二)
    详细的命令总结及用法点这里就好了^_^      ⬇⬇⬇《MySQL命令总结》看完命令用法看看下面的题吧根据题目要求,写出SQL语句namecoursescore张三语文85张三数学82李四语文85李四数学81李四英语88王五语文75王五数学85王五化学99创建表并验证CREATETABLEstudent(name......
  • MySQL 8使用部分撤销做权限限制
     在MySQL8.0.16之前,不可能授予全局权限的同时,排除某些schema;从MySQL8.0.16开始,如果启用了partial_revokes系统变量,就可以做到这一点。具体来说,对于拥有全局权限的用户,partial_revokes可以撤销特定schema的权限,同时保留其他schema的权限。这样施加的权限限制可能有助于......
  • 迁移:mysql迁移dm8问题处理
    问题1表[xxxxx]中不能同时包含聚集KEY和大字段处理方法sp_set_para_value(1,'PK_WITH_CLUSTER',0);将迁移工具退回输入DM用户名密码的页面再继续下一步,或者关闭当前迁移窗口重新打开迁移任务(PK_WITH_CLUSTER是会话级参数,直接重试会因为本会话的参数未生效而依然报错)问题2第......
  • mysql时间段内查询
    mysql时间段内查询(第一种方法)SELECT*FROM 表名WHERE字段名>NOW()-INTERVAL2HOUR;(第二种方法)SELECT*FROM 表名WHERE 字段名>DATE_SUB(NOW(),INTERVAL60MINUTE);今天select*from表名whereto_days(时间字段名)=to_days(now());昨天SELECT* FROM 表名 ......