FFT 模板

FFT 优化多项式乘法的模板

提交地址http://uoj.ac/problem/34

#include<bits/stdc++.h>
using namespace std;
#define PI (acos(-1.0))
typedef complex<double> comp;
 
void change(comp y[], int ln)
{
	for (int i = 1, j = ln >> 1;i < ln - 1;++i)
	{
		if (i < j)swap(y[i], y[j]);
		int k = ln >> 1;
		while (j >= k)
		{
			j -= k;
			k >>= 1;
		}
		if (j < k)j += k;
	}
} /** /
/*
	type=1 DFT
	type=-1 IDFT
 */
void FFT(comp y[], int ln, int type)
{
	change(y, ln);
	for (int h = 2;h <= ln;h <<= 1)
	{
		comp wn = comp(cos(type * 2 * PI / h), sin(type * 2 * PI / h));
		for (int j = 0;j < ln;j += h)
		{
			comp w(1, 0);
			for (int k = j;k < j + (h >> 1);k++)
			{
				comp u = y[k];
				comp t = w*y[k + (h >> 1)];
				y[k] = u + t;
				y[k + (h >> 1)] = u - t;
				w *= wn;
			}
		}
	}
	if (type == -1)
	{
		for (int i = 0;i < ln;i++) 
		{
			double img = imag(y[i]);
			double rel = real(y[i]);
			rel /= ln;
			y[i] = comp(rel, img);
		}
	}
}
const int MAXN = 400005;
comp x1[MAXN], x2[MAXN];
int s1[MAXN], s2[MAXN];
int sum[MAXN];
int main()
{
	int t;
	memset(sum, 0, sizeof(sum));
	int ln1, ln2;
	scanf("%d %d", &ln1, &ln2);
	ln1++;
	ln2++;
	for (int i = 0;i < ln1;i++)  scanf("%d", s1 + i);
	for (int i = 0;i < ln2;i++)  scanf("%d", s2 + i);
	int ln = 1;
	while ((ln < (ln1 << 1)) || (ln < (ln2 << 1)))ln <<= 1;
	for (int i = 0;i < ln1;i++)x1[i] = comp(s1[ln1 - i - 1],0);
	for (int i = ln1;i < ln;i++)x1[i] = comp(0, 0);
	for (int i = 0;i < ln2;i++)x2[i] = comp(s2[ln2 - i - 1], 0);
	for (int i = ln2;i < ln;i++)x2[i] = comp(0, 0);
	FFT(x1, ln, 1);
	FFT(x2, ln, 1);
	for (int i = 0;i < ln;i++)x1[i] *= x2[i];
	FFT(x1, ln, -1);
	for (int i = 0;i < ln;i++)sum[i] = (real(x1[i]) + 0.5);
	ln = ln1+ln2-2;
	for (int i = ln;i>=0;i--)
	{
		printf("%d ", sum[i]);
	}
	putchar('\n');
}


基于SSM框架的网红酒店预定系统,是一个集前台用户操作和后台管理员管理于一体的综合性平台。该系统旨在通过信息化手段,提高酒店预订的效率和用户体验。 系统的主要功能模块包括: 1. **用户管理**:允许用户注册、登录,查看个人信息,以及修改个人资料和密码。 2. **客房管理**:管理员可以添加、删除或修改客房信息,包括房型、价格、设施等。 3. **预订管理**:用户可以浏览可用房型,进行预订操作,管理员则可以管理预订订单,包括确认预订、办理入住和退房等。 4. **退订管理**:用户和管理员都可以处理预订的取消,管理员可以审核退订请求。 5. **系统管理**:管理员可以进行系统设置,包括权限管理、日志查看等。 系统的设计考虑了用户体验和管理员的便捷性,通过SSM框架的灵活性和MySQL数据库的稳定性,实现了数据的高效管理和处理。系统的前端界面友好,操作流程简洁,能够满足用户快速预订和查询的需求。同时,系统的后台管理功能强大,能够为管理员提供全面的数据分析和决策支持。 此外,系统还具有高度的安全性和稳定性,通过角色权限控制,确保了数据的安全性和系统的稳定运行。系统的开发和设计,不仅提升了网红酒店的品牌形象,也为用户带来了便捷的预订体验,进一步推动了酒店行业的信息化发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值