模板

快速读入

namespace zdy{
#define ll int
#define pob (fwrite(fob::b,sizeof(char),fob::f-fob::b,stdout),fob::f=fob::b,0)
#define pc(x) (*(fob::f++)=(x),(fob::f==fob::g)?pob:0)
#define gc ((*fib::f)?(*(fib ::f++)):(fgets(fib::b,sizeof(fib::b),stdin)?(fib::f=fib::b,*(fib::f++)):-1))
namespace fib{char b[300000]= {},*f=b;}inline void in(ll &x){x=0;char c;bool f=0;while((c=gc)>'9'||c<'0')if(c=='-')f=!f;x=c-48;while((c=gc)<='9'&&c>='0')x=x*10+c-48;if(f)x=-x;}namespace fob{char b[300000]= {},*f=b,*g=b+300000-2;}struct foce{~foce(){pob;fflush(stdout);}} _foce;namespace ib{char b[100];}inline void out(ll x){if(x==0){pc(48);return;}if(x<0){pc('-');x=-x;}char *s=ib::b;while(x) *(++s)=x%10,x/=10;while(s!=ib::b) pc((*(s--))+48);}inline void outn(ll x){out(x);pc('\n');}
}using namespace zdy;

NTT

const int mod=998244353;

int qpow(int x,int y) {
	int ret=1;
	for(;y;y>>=1,x=1ll*x*x%mod) {
		if(y&1) {
			ret=1ll*ret*x%mod;
		}
	}
	return ret;
}

namespace mul {
	const int N=2097152;
	const int g=3;
	int omega[N];
	void init() {
		int Wn=qpow(g,(mod-1)/N);
		omega[0]=1;
		for(int i=1;i<N;i++) {
			omega[i]=1ll*omega[i-1]*Wn%mod;
		}
	}
	void ntt(int *a,int n,int op) {
		for(int i=0,j=0;i<n;i++) {
			if(i<j) std::swap(a[i],a[j]);
			int k=n; while(j<k) k>>=1,j^=k;
		}
		for(int k=1,step=N>>1;k<n;k<<=1,step>>=1) {
			for(int i=0;i<n;i+=k<<1) {
				for(int j=i,cur=0;j<i+k;j++,cur+=step) {
					int tmp=1ll*a[j+k]*omega[cur]%mod;
					a[j+k]=a[j]-tmp+mod;
					a[j]+=tmp;
					if(a[j+k]>=mod) a[j+k]-=mod;
					if(a[j]>=mod) a[j]-=mod;
				}
			}
		}
		if(op==-1) {
			std::reverse(a+1,a+n);
			int iv2=(mod+1)/2,ivn=1;
			for(int i=1;i<n;i<<=1) {
				ivn=1ll*ivn*iv2%mod;
			}
			for(int i=0;i<n;i++) {
				a[i]=1ll*a[i]*ivn%mod;
			}
		}
	}
} using namespace mul;

三分

int L=0,R=one/2;
while(R-L>2) {
	int M=L+R>>1;
	int p1=calc(M-1);
	int p2=calc(M+1);
	if(p1<p2) L=M+1;
	else R=M+1;
}
ll ans=-INF;
for(int i=L;i<=R;i++) ans=std::max(ans,calc(i));
posted @   Nastia  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示