H. GSS and Simple Math Problem--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此
这套题的github地址(里面包含了数据,题解,现场排名):点此
题目描述
输入描述:
输出描述:
Output one line with the answer
输入例子:
5
11
12
13
14
15
输出例子:
360360
-->
输入
5
11
12
13
14
15
输出
360360
题目意思:就是给你n个整数,求相乘的大小。 这题python和java很好过,因为py和java有大数,c++就比较难受了
n=int(input())
ans=1
for i in range(n):
b=int(input())
ans=ans*b
print(ans)
c++的后来在补
fft代码:超时了,回头再优化
@@ -, +, @@
#include<cmath>
#include<cstdio>
#include<vector>
#include<queue>
#include<cstring>
#include<iomanip>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#define ll long long
#define inf 1000000000
#define mod 1000000007
#define N 350000
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fd(i,a,b) for(i=a;i>=b;i--)
using namespace std;
const double pi = 3.141592653;
char s1[N>>],s2[N>>];
double rea[N],ina[N],reb[N],inb[N],ret[N],intt[N];
int i,len1,len2,lent,lenres,len;
int res[N>>];
void FFT(double *reA,double *inA,int n,int flag)
{
if (n == ) return;
int k,u,i;
double reWm = cos(*pi/n) , inWm = sin(*pi/n);//��ԭ��
if (flag) inWm = -inWm;
double reW = 1.0 , inW = 0.0;
for (k = ,u = ;k < n; k += ,u++)//�������ż����ֿ�
{ret[u] = reA[k]; intt[u] = inA[k];}
for (k = ;k < n; k += )
{reA[k/] = reA[k]; inA[k/] = inA[k];}
for (k = u,i = ;k < n && i < u; k++,i++)
{reA[k] = ret[i]; inA[k] = intt[i];}
FFT(reA,inA,n/,flag); FFT(reA+n/,inA+n/,n/,flag);
fo(k,,n/-)//�ϲ�
{
int tag = n / + k;
double reT = reW * reA[tag] - inW * inA[tag];
double inT = reW * inA[tag] + inW * reA[tag];
double reU = reA[k] , inU = inA[k];
reA[k] = reU + reT; inA[k] = inU + inT;
reA[tag] = reU - reT; inA[tag] = inU - inT;
double reWt = reW * reWm - inW * inWm;
double inWt = reW * inWm + inW * reWm;
reW = reWt; inW = inWt;
}
}
void mul()
{
memset(res, , sizeof(res));
memset(rea, , sizeof(rea));
memset(ina, , sizeof(ina));
//memset(reb, 0 , sizeof(reb));
// memset(inb, 0 , sizeof(inb));
len1 = strlen(s1); len2 = strlen(s2);
lent = (len1 > len2 ? len1 : len2);
len = ;
while (len < lent) len <<= ;
len <<= ;
fo(i,,len-)
{
if (i < len1) rea[i] = (double) s1[len1-i-] - '';
if (i < len2) reb[i] = (double) s2[len2-i-] - '';
ina[i] = inb[i] = 0.0;
}
FFT(rea,ina,len,); FFT(reb,inb,len,);//���a��b�ĵ�ֵ��ʾ��
fo(i,,len-)//���c�ĵ�ֵ��ʾ��
{
//printf("%.5lf %.5lf\n",rea[i],ina[i]);
double rec = rea[i] * reb[i] - ina[i] * inb[i];
double inc = rea[i] * inb[i] + ina[i] * reb[i];
rea[i] = rec; ina[i] = inc;
}
FFT(rea,ina,len,);//���c��ϵ����ʾ��
fo(i,,len-) {rea[i] /= len; ina[i] /= len;} fo(i,,len-) res[i] = (int)(rea[i] + 0.5);
fo(i,,len-) res[i+] += res[i] / , res[i] %= ; lenres = len1 + len2 + ;
while (res[lenres] == && lenres > ) lenres--;
int kk=;
fd(i,lenres,)
s1[kk++]=res[i]+'';
}
int main()
{
freopen("temin.txt","r",stdin);
freopen("temout.txt","w",stdout);
int n;
scanf("%d",&n);
if(n==)
{
scanf("%s",s1);
printf("%s\n",s1);
}
else
{
scanf("%s",s1);
for(int i=;i<n;i++)
{
scanf("%s",s2);
mul();
}
printf("%s\n",s1);
}
return ;
}
H. GSS and Simple Math Problem--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)的更多相关文章
- “今日头条杯”首届湖北省大学程序设计竞赛--F. Flower Road
题目链接:点这 github链接:(包含数据和代码,题解):点这 链接:https://www.nowcoder.com/acm/contest/104/E来源:牛客网 题目描述 (受限于评测机,此题 ...
- “今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛 )--E. DoveCCL and Resistance
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/D来源:牛客网 题目描述 ...
- A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
如下图这是“今日头条杯”首届湖北省大学程序设计竞赛的第一题,作为赛后补题 题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 Let be a regualr tr ...
- D. Who killed Cock Robin--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 由于系统限制,C题无法在此评测,此题为现场赛的D题 Who killed Cock Robin? I, ...
- I. Five Day Couple--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/H来源:牛客网 题目描述 ...
- H. GSS and Simple Math Problem 高精度乘法模板
链接:https://www.nowcoder.com/acm/contest/104/G来源:牛客网 题目描述 Given n positive integers , your task is to ...
- “东信杯”广西大学第一届程序设计竞赛(同步赛)H
链接:https://ac.nowcoder.com/acm/contest/283/H来源:牛客网 题目描述 由于临近广西大学建校90周年校庆,西大开始了喜闻乐见的校园修缮工程! 然后问题出现了,西 ...
- hdu 1757 A Simple Math Problem (乘法矩阵)
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HDU1757 A Simple Math Problem 矩阵快速幂
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
随机推荐
- vue-element-admin安装失败的问题
根据官网的介绍,从GitHub下载以后,安装依赖的时候一直不成功,试了很多办法,最终解决 先记录错误的过程: 从GitHub下载 在当前文件夹的地址栏输入 “cmd” 打开窗口 输入 npm inst ...
- [CSP-S模拟测试67]题解
时隔多年,终于又有了一套我能改完的题…… A.神炎皇 遇到这种要求整除的题显然拆出gcd 设$d=gcd(a,b)\ \ \ a'=\frac{a}{d} \ \ \ b'=\frac{b}{d}$ ...
- 【Windows、SVN】在Windows服务器下安装SVN,并在客户端能维护代码版本
1.分别在客户端和服务器端安装软件 在网上搜索一下安装包的下载地址(这里暂不介绍) 得到2个安装文件 Server是装在服务器端的,另外一个装在客户端 2.安装SVN服务器端 基本一致下一步即可 特殊 ...
- VS2014:"64位调试操作花费的时间比预期要长",无法运行调试解决办法
解决步骤: 右键管理员运行命令提示符,输入IISRESERT,重启IIS即可
- 66、saleforce 的 approval process
public class TestApproval { public void submitAndProcessApprovalRequest() { // Insert an account Lin ...
- ivew Table 固定列设置后,底部拖拽的横轴被覆盖拉不动
原因:设置了max-height=500px:表格最大高度,单位 px,设置后,如果表格内容大于此值,会固定表头.去掉即可.
- javascript实现继承的六种方式
/*实现继承的六种方式*/ /*1.扩展原型对象的方法实现继承*/ function Foo1(){} //在Foo1函数上扩展一个fn1方法,由构造函数创建的对象都具有fn1这个方法 Foo1. ...
- Opengl ES Glew库 ----- By YDD的铁皮锅
前一篇随笔我写了Opengl的窗口创建,这一篇随笔我要写OpenGL glew库的使用.首先需要引入头文件h,库文件Lib和动态链接库DLL, 百度搜索OpenGL glew库找到这个纯英文网站,尽量 ...
- mysql 个人博客应用的建表和相关查询
一.建表 用户表tb_user create table if not exists tb_user( user_id int auto_increment, ) not null, user_pas ...
- 浅析Draw Call
Draw Call是CPU对GPU的一种命令,仅仅指向一个需要被渲染的图元列表,在OpenGL和DirectX中分别体现为glDrawElements和DrawIndexedPrimitive图像编程 ...