首页 > 其他分享 >AT / CF 缺省源 / hdk::extend.h

AT / CF 缺省源 / hdk::extend.h

时间:2024-10-12 19:43:40浏览次数:7  
标签:std return int 缺省 long CF ans hdk define

#ifndef EXT_H
#ifndef LIB
#define EXT_H
#include<bits/stdc++.h>
using namespace std;
template<typename T>
T floor_sqrt(T x,T l=1,T r=-1){
	if(r==-1) r=x;
	int ans=-1;
	while(l<=r){
		int mid=(l+r)/2;
		if(mid*mid<=x){
			l=mid+1;
			ans=mid;
		}
		else{
			r=mid-1;
		}
	}
	return ans;
}
template<typename T>
void print(T x,bool first=true){
	if(x<0){
		putchar('-');
		print(-x,false);
		return;
	}
	if(x==0){
		if(first) putchar('0');
		return;
	}
	print(x/10,false);
	putchar((int)(x%10)+'0');
}
template<typename T>
inline void read(T& x){
	x=0;bool sym=0;char c=std::getchar();
	while(!isdigit(c)){sym^=(c=='-');c=std::getchar();}
	while(isdigit(c)){x=x*10+c-48;c=std::getchar();}
	if(sym)x=-x;
}
istream& operator >>(istream &in,__int128 &x){
    read(x);
    return in;
}
ostream& operator <<(ostream &out,__int128 &x){
    print(x);
    return out;
}
long long power(long long a,long long n,long long mod=LLONG_MAX){
	long long ans=1,base=a;
	while(n){
	    if(mod){ if(n&1) ans=ans*base%mod;}
	    else{ if(n&1) ans=ans*base;}
	    if(mod) base=base*base%mod;
	    else base=base*base;
	    n>>=1;
    }
    return ans;
}
int floor_log(int base,int x){
	int l=0,r=x,ans=-1;
	while(l<=r){
		int mid=(l+r)/2;
		int res=power(base,mid);
		if(res<=0 or res>x){
			r=mid-1;
		}
		else{
			l=mid+1;
			ans=mid;
		}
	}
	return ans;
}
double _log(int base,int x){
    return std::log(x)/std::log(base);
}
long long __C(long long n,long long m,long long p){
	if(n<m){
		return 0;
	}
	if(m>n-m){
		m=n-m;
	}
	long long a=1,b=1;
	for(int i=0;i<m;++i){
		a=(a*(n-i))%p;
		b=(b*(i+1))%p;
	}
	return a*power(b,p-2,p)%p;
}
//Lucas
long long C(long long n,long long m,long long p){
	if(!m) return 1;
	return C(n/p,m/p,p)*__C(n%p,m%p,p)%p;
}
long long phi(int n){
	long long ans=n;
	for(int i=2;i<=sqrt(n+0.5);i++){
	    if(n%i==0){
		    ans=ans/i*(i-1);
		    while(n%i==0){
			  	n/=i;
			}
	    }
  	}
  	if(n>1){
	  	ans=ans/n*(n-1);
	}
  	return ans;
}
#define sqrt sqrtl
#define pow powl
#define sqrt_int floor_sqrt
#define pow_int power
#endif
#endif

标签:std,return,int,缺省,long,CF,ans,hdk,define
From: https://www.cnblogs.com/HaneDaCafe/p/18455516

相关文章

  • CF 838 E
    这一题最重要的是设计状态。首先,坏人不可能不被抓到,因为你再怎么说都可以一个一个抓,这样每一次逼到叶子节点。一个显然的状态是\(dp_{s,(a_1\sima_m)}\)代表警察在\(s\),坏人在\(a_1\sima_m\)的最小时间,但是显然会爆掉。性质一:因为坏人速度无限大,所以警察来抓他们的时候......
  • CF1746F Kazaee(随机化哈希)
    真的做不来这种题怎么办/ll题意给定\(n\)个数,\(q\)次操作:单点修改一个数的值。查询区间内所有数的出现次数是否均为\(k\)的倍数。\(n,q\le3\times10^5\)。分析一眼看上去只能带修莫队,而且常数还巨大无比。这种随机化哈希题一般是考虑一个必要不充分条件,但是充分的......
  • Day5 备战CCF-CSP练习
    题目描述给定\(n\)个不同的整数,问这些数中有多少对整数,它们的值正好相差\(1\)。输出格式输入的第一行包含一个整数\(n\),表示给定整数的个数。第二行包含所给定的$n$个整数。输出格式输出一个整数,表示值正好相差\(1\)的数对的个数。数据范围\(1≤n≤1000\),给定的......
  • 题解 QOJ5048【[ECFinal19K] All Pair Maximum Flow】
    题目描述给你一个\(n\)个点\(m\)条边的图,它是平面上的正\(n\)边形和一些对角线,节点按逆时针方向编号为\(1\)到\(n\)。对角线只可能在节点处相交。每条边有一个容量,求每个点对之间的最大流的和。\(n\leq200000,m\leq400000\)。solution做法每次找出边权最小的边\(......
  • VP CF975 div2
    前言别人说这场好,我就打打A简单模拟,分奇偶位置即可。B一开始没注意到端点的边界问题,后来分讨了一下,把端点和中间的点分开考虑即可C卡了1h的唐题,首先由于每堆中不能出现同种卡牌,所以答案一定<=n。当时想到这就开二分答案了,发现k=0的情况过不了,以为是特殊边界问题,直接特......
  • Day4 备战CCF-CSP练习
    题目描述有若干个任务需要在一台机器上运行。它们之间没有依赖关系,因此可以被按照任意顺序执行。该机器有两个CPU和一个GPU。对于每个任务,你可以为它分配不同的硬件资源:在单个CPU上运行。在两个CPU上同时运行。在单个CPU和GPU上同时运行。在两个CPU和GPU......
  • CF记录
    CF2019(div2,vp)比赛时网站炸了两次,有一次甚至连那个Oops的页面都没看到。/fnD.Speedbreaker做法比较多的一题。首先有一个带log但是比较简单的做法。求出\(a\)的后缀min\(s_i\)和前缀min\(p_i\),当出发点为\(x\)时,设\[b_i=\begin{cases}a_i=p_i,&i<x\\a_i=\m......
  • CF959F Mahmoud and Ehab and yet another xor task 题解
    题目传送门前置知识线性基解法将操作离线下来,并按\(\{l\}\)升序排序,接着顺序插入线性基并处理询问。对于未成功插入线性基的元素\(k\)一定能被线性基内选出若干元素得到。故在\(x\)能被表出的情况下,设\(1\siml\)中成功插入线性基的元素个数为\(siz\),对于剩下\(......
  • 十月初 AT/CF
    ABC374E最大最小值,想到二分,问题是怎么check。其实就是对两个种有价值有重量的物品,求达到规定价值的最小重量。只有两种物品,而且数据范围很小,考虑贪心。假设\(a\)的性价比较高,\(b\)的性价比较低,那么不可能选太多\(b\)。也就是如果能用\(a\)代替的就用\(a\)代替。所......
  • Day3 备战CCF-CSP练习
    Day3题目描述目前在一个很大的平面房间里有\(n\)个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过\(r\)就能互相建立网络连接。除此以外,另有\(m\)个可以摆放无线路由器的位置。你可以在这些位置中选择至多\(k\)个增设新的路由器。你的......