考虑容斥,强制要求\(k\)个数为完全平方数,系数为\((-1)^k*C_n^k\)(因为我们要从\(n\)个数选出\(k\)个数作为完全平方数)。则在唯一分解\(p_1^{e_1}...p_n^{e_n}\)中,\(e_1...e_n\)都必须是偶数。

对于每个质因数分开考虑,答案是每个质因数的答案的乘积。

一个没有要求的数的OGF是\(\frac{1}{1-x}\),一个被钦定为完全平方数的数的OGF是\(\frac{1}{1-x^2}\)

我们要求\(F(x)\frac{1}{(1-x)^{n-k}}\frac{1}{(1-x^2)^{k}}[x^{e_{1...n}}]\),可以把\(\frac{1}{(1-x)^{n-k}}\frac{1}{(1-x^2)^{k}}\)展开后求

这显然会超时,因为一次展开的时间复杂度是\(O(\max(e_i)^2)\),总时间复杂度是\(O(\max(e_i)^3)\)

注意到\(k\)到\(k+1\)我们只需要把\(F(x)\)乘以\(1-x\),再除以\(1-x^2\),就可以在\(O(\max(e_i))\)的时间内更新多项式。

\(k=0\)的多项式是\(\frac{1}{(1-x)^n}\),显然可以\(O(\max(e_i))\)求

这样子就可以把总时间复杂度降低到\(O(\max(e_i)^2)\)。

abc285h题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

  10. JSOI2016R3 瞎BB题解

    题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...

随机推荐

  1. replace 常用积累

    1.替换有,或者.为: obj.keyword.replace(/,|./g,';') 2.替换元素标签类似于<em>文字</em>这种 let name=item.name. ...

  2. 微信h5调分享功能

    功能背景: 基于微信公众号的h5商城页面,实现特定商品的分享,包括朋友圈和好友分享功能. 代码实现(以vue项目为例): 首先贴上官方开发文档:https://developers.weixin.qq ...

  3. Mysql优化工具

    https://blog.csdn.net/qq_29229567/article/details/106241831

  4. Python语言课程实验报告 (第三周)

    Python语言基础实验(第三周) 一.实验目的和要求 1.了解流程控制语句的结构与类型: 2.学习语句的使用: 3.掌握流程控制语句的实际应用. 二.实验环境 软件版本:Python 3.10 64 ...

  5. python怎么实现正确的浮点数四舍五入

    round 以下示例展示对于结构相同的两组数据(1.03575000和1.03425000)保留小数后4位,使用内置函数round方法的输出结果,并不是需要的结果 print(round(1.0357 ...

  6. vue项目,本地启动时,请求地址会自动加上http://localhost:

    wepack设置时,使用代理 devServer: { hot: true, host: '0.0.0.0', port: "2023", // 项目启动端口, 默认8080 // ...

  7. maven-阿里云镜像

    <mirror>     <id>nexus-aliyun</id>     <mirrorOf>*,!jeecg,!jeecg-snapshots&l ...

  8. 树莓派Raspbian 玩耍

    树莓派Raspbian玩耍 把第一次安装树莓派并通过花生壳实现内网穿透的过程记录下来 下载工具 Win32DiskImager v0.9.zip 和 SD Formatter 4.0 for SD/S ...

  9. Kubernetes--Pod生命周期中的重要行为

    Pod生命周期中的重要行为 除了创建应用容器(主容器及其辅助容器)之外,用户还可以为Pod对象定义其生命周期中的多种行为,如初始化容器.存活性探测及就绪性探测等. 初始化容器 初始化容器 (init ...

  10. 最近录了一些python视频教程

    最近录了一些python视频教程,目前有机器学习的.python基础知识的,大家可以去B站观看. https://space.bilibili.com/431152063 python机器学习之KNN ...