哈尔滨理工大学软件学院ACM程序设计全国邀请赛(网络同步赛) D. Pairs
题意:给n个数,m次询问,求和
思路:先统计每个数各多少个,然后构造一个多项式,多项式的指数为每个数,系数为个数。然后用该多项式*该多项式,得到的新的多项式的指数就是任意一对数之和,系数就是和为指数的个数(当然有重复的,后面要去重,去重有两个情况,自己乘自己的部分要减去,还有任意一对都有两种可能所以还要除2),如何快速得到新的多项式,这里套入FFT模板解决。然后就用前缀和统计个数就能O(1)查询
原创
2016-12-03 18:06:24 ·
811 阅读 ·
0 评论