HNU11376:Golf Bot】的更多相关文章

Problem description Input The first line has one integer: N, the number of different distances the Golf Bot can shoot. Each of the following N lines has one integer, ki, the distance marked in position i of the knob. Next line has one integer: M, the…
题目 Source https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4898 Description Do you like golf? I hate it. I hate golf so much that I decided to build the ultimate golf robot, a robot that wi…
Golf Bot 题目连接: http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=129724 Description Do you like golf? I hate it. I hate golf so much that I decided to build the ultimate golf robot, a robot that will never miss a shot. I simply place it…
题目链接: http://acm.hust.edu.cn/vjudge/problem/129724 Golf Bot Time Limit: 15000MS 题意 给你n个数,m个查询,对于每个查询,问能不能用n个数中的一个或两个(同一个数可以取两次)相加凑出来. 题解 多项式乘法,用快速傅里叶变化加速,时间复杂度:O(nlogn). #include<map> #include<set> #include<cmath> #include<queue> #…
题意:给你N个数字,每次利用这N个数字中最多两个数字进行加法运算,来得到目标中的M个数字. Solution: 我们先来看看多项式乘法:\(A(x)=\sum_{i=0}^{n-1}a_ix^i\),\(B(x)=\sum_{i=0}^{n-1}b_ix^i\),\(C(x)=A(x)B(x)\) \[ c_k=\sum_{i+j=k,0\le i,j\le n}a_ib_jx^k \] 有没有发现什么?我们可以将a复制一份为b,对于x,如果x在a里出现了,则令\(a_x=b_x=1\),特别的…
https://vjudge.net/problem/Gym-100783C 题意: 给出n个数,然后有m次查询,每次输入一个数x,问x能否由n个数中2个及2个以下的数相加组成. 思路:题意很简单,但是如果直接去算要超时. 可以利用傅里叶,计算出两个卷积中的数相加的所有可能性. #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<strin…
题意:打高尔夫 给你n个距离表示你一次可以把球打远的距离 然后对于m个询问 问能否在两杆内把球打进洞 题解:平方一下就好 注意一下x0的系数为1表示打一杆 才发现数组应该开MAXN * 4 之前写的题数据有点不严谨了 #include <stdio.h> #include <algorithm> #include <iostream> #include <math.h> using namespace std; const double PI = acos(…
大致题意: 给你N个整数和M个整数,问这M个数中,有几个数可以表达成那N个整数中一个或者两个整数的和. 分析: 算是半个裸的FFT.FFT可以用来在nlongn时间内求高精度乘法,我们先模拟一下乘法. A4A3A2A1A0*B4B3B2B1B0  Ai,Bj表示位数,结果保存在Ck中 4   3   2   1   0(下标) A4 A3 A2 A1 A0 B4 B3 B2 B1 B0 先不考虑进位 那么C0=A0*B0 C1=A0*B1+A1*B0 Ck=sum(Ai*Bj) (i+j=k)…
FFT学习参考这两篇博客,很详细,结合这看,互补. 博客一 博客二 很大一部分题目需要构造多项式相乘来进行计数问题. 1. HDU 1402 A * B Problem Plus 把A和B分别当作多项式的系数. #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> using namespace std; const double PI = acos(-1.0);…
起因 我在github上发起了一个开源项目:<HelloGitHub月刊>,内容是github上收集的好玩,容易上手的开源项目. 目的:因为兴趣是最好的老师,我希望月刊中的内容可以激发读者的兴趣,从而动手参与到开源的项目中,一方面提高编程技术.另一方面哪怕是能力有限不能为开源项目提交代码,也可以给个'star',表示对有意思.优秀的开源项目的支持!从而让开源社区越来越好. 所以,我就需要收集github上的开源项目,目前通过两种方式发现github上优秀的项目: Follow活跃的Github…