[SDOI2017]遗忘的集合

综合了很多套路的题

一看就是完全背包

生成函数!

转化为连乘积形式

Pi....=F

求Ln!

降次才可以解方程

发现方程是:

f[i]=∑t|i : bool(t)*t/i

f[i]*i=∑t|i : bool(t)*t

f=g*1(*是狄利克雷卷积)

所以,g=f*1

构造得到的解是唯一的,所以其实解是唯一的。

O(nlogn)

(多项式全家桶多项式全家桶

int main(){
int n;rd(n);rd(mod);
Poly f;
f.resize(n+);
f[]=;
for(reg i=;i<=n;++i) rd(f[i]);
f=Ln(f);
for(reg i=;i<n+;++i) f[i]=mul(f[i],i);
sieve(n);
for(reg i=;i<=n;++i){
for(reg j=i;j<=n;j+=i){
g[j]=ad(g[j],mul(f[i],miu[j/i]));
}
}
int ans=;
for(reg i=;i<=n;++i){
if(g[i]) ++ans;
}
printf("%d\n",ans);
for(reg i=;i<=n;++i){
if(g[i]) printf("%d ",i);
}
return ;
}

[SDOI2017]遗忘的集合的更多相关文章

  1. [LOJ2271] [SDOI2017] 遗忘的集合

    题目链接 LOJ:https://loj.ac/problem/2271 洛谷:https://www.luogu.org/problemnew/show/P3784 BZOJ太伤身体死活卡不过还是算 ...

  2. 洛谷P3784 [SDOI2017]遗忘的集合(生成函数)

    题面 传送门 题解 生成函数这厮到底还有什么是办不到的-- 首先对于一个数\(i\),如果存在的话可以取无限多次,那么它的生成函数为\[\sum_{j=0}^{\infty}x^{ij}={1\ove ...

  3. [题解] LuoguP3784 [SDOI2017]遗忘的集合

    要mtt的题都是...... 多补了几项就被卡了一整页......果然还是太菜了...... 不说了......来看100分的做法吧...... 如果做过付公主的背包,前面几步应该不难想,所以我们再来 ...

  4. [BZOJ4913][SDOI2017]遗忘的集合

    题解: 首先先弄出$f(x)$的生成函数$$f(x)=\prod_{i=1}^{n} {{(\frac{1}{1-x^i})}}^{a[i]}$$因为$f(x)$已知,我们考虑利用这个式子取推出$a[ ...

  5. P3784 [SDOI2017]遗忘的集合

    非常神仙的一道题! 题意:给出某n个数字跑完全背包m容量的dp数组,求满足要求的字典序最小的n个元素,不知道n是多少. 首先考虑付公主的背包这个题. 对dp数组求一个ln,设它为F. 已知 e^(G1 ...

  6. 洛谷 3784(bzoj 4913) [SDOI2017]遗忘的集合——多项式求ln+MTT

    题目:https://www.luogu.org/problemnew/show/P3784 https://www.lydsy.com/JudgeOnline/problem.php?id=4913 ...

  7. SDOI2017遗忘的集合

    题面链接 咕咕咕 题外话 为了这道题我敲了\(MTT\).多项式求逆.多项式\(ln\)等模板,搞了将近一天. sol 最近懒得写题解啊,随便搞搞吧. 看到这个就是生成函数套上去. \[F(x)=\p ...

  8. BZOJ 4913 [Sdoi2017] 遗忘的集合

    骂了隔壁的 BZOJ垃圾评测机 我他妈卡了两页的常数了 我们机房的电脑跑的都比BZOJ快

  9. 【SDOI2017】遗忘的集合

    题目描述 好神仙啊,我还真的以为这是个构造题,结果是有唯一解的. 设答案为多项式\(a,a_i\in\{0,1\}\). 则: \[ f(x)=\Pi (\frac{1}{1-x^i})^{a_i} ...

随机推荐

  1. nginx负载均衡指令least_conn的真正含义

    负载均衡指令least_conn的含义,按照nginx文档的说法: Specifies that a group should use a load balancing method where a ...

  2. PDF转图片工具

    点击下载( 提取码:1ll1 ) 软件功能基于mupdf,UI使用wxpython开发 功能: 支持pdf转图片,图片格式png 支持批量转换 使用: 第一步,点击按钮添加文档到列表,或直接将待转换文 ...

  3. ext当表单中的输入项为必填时,输入项label后显示红色的*

    form表单里,当输入项为必填项时,需要将对应item的allowblank属性设置为true,如果item的label后面自带红色的*,表单中哪些输入项是“必填”,哪些输入项是“非必填”,一眼望去清 ...

  4. XE5 搭建DataSnap服务

    1   准备工作 1.1 环境准备 XE5或XE7,操作系统Windows7(64位)操作系统. 数据库MSSQL选择SQLServer2008. 如果数据库服务没有在开发电脑上,则需要在开发电脑上安 ...

  5. SQL 行转列 PIVOT 学习示例

    CREATE TABLE [StudentScores] ( ), --学生姓名 ), --科目 [Score] FLOAT, --成绩 ) select * from [StudentScores] ...

  6. Linux学习历程——Centos 7 diff命令

    一.命令介绍 diff命令用于比较文本差异. diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录. ------------- ...

  7. c++字节对齐编译器指令#pragma

    第一种 #pragma pack(push, 1) // 先把当前对齐设置压栈,再设置为1字节对齐 struct S { char a; ]; }; #pragma pack(pop) // 恢复先前 ...

  8. ansible_playbook 一键搭建集群架构

    目录 基础优化 SSH.Ansible,批量管理服务项目 剧本开始-----.10分钟左右 mail.yaml base.yaml rsync.yaml nfs.yaml web.yaml tweb. ...

  9. Doctype知识点总结

    DOCTYPE是document type (文档类型) 的缩写.<!DOCTYPE >声明位于文档的最前面,处于标签之前,它不是html标签.主要作用是告诉浏览器的解析器使用哪种HTML ...

  10. C#使用异步操作时的注意要点(翻译)

    异步操作时应注意的要点 使用异步方法返回值应避免使用void 对于预计算或者简单计算的函数建议使用Task.FromResult代替Task.Run 避免使用Task.Run()方法执行长时间堵塞线程 ...