【NOI2022省选挑战赛 Contest3 B】集合(结论)(构造)
集合
题目链接:NOI2022省选挑战赛 Contest3 B
题目大意
你有一个多重集合,一开始有一个数,然后你可以做无限次两种操作之一:
选两个正整数 a,b,删掉它们并加入 a^b。
选一个正整数可以表示为 a^b 的形式(其中 a,b 不小于 2),删去它并加入 a,b。
然后问你 [1,n] 中有多少个数作为一开始集合中的数能使得可以通过变换得到任意数。
思路
一道非常神奇非常神仙的构造。
那这种从一个变到全部的我们不难想象到两种方法:
从 到 ,或者你可以无限放大一个数,然后从 到 。
但是它这个是次方,不太好搞,考虑这个性质:。
那如果我们有两个数 ,那我们可以这样:。
那这个就是当你有一个数的时候,你可以利用另外一个数把它分解因数。
那自然它也是可逆的,即当集合中有三个数的时候,我们可以把任意两个数乘起来。
那这样次方就变成了乘法,看起来就可做多了。
然后我们会发现我们可以利用上面的性质无限放大一个数:
当我们有一个合数 以及另外一个数的时候,我们就可以无限复制 ,然后无限个 合并在一起就是无限大。
怎么无限复制呢,看(题解)操作: 个 个 ,然后 再弄,就无限复制了。
然后如果有一个 ,那我们可以这样得到 :。
所以如果一个数是合法的,那它可以表示成 ,其中 有一个是合数 。
那这个条件太复杂,我们可以考虑变成 的合数。
然后你直接搞完就会发现它挂了。
有一个特别的东西就是 。
因为你搞搞会发现 是不行的,但是别的时候有个 是没问题的()。
所以我们就不要求 ,然后最后减去多算的 即可。
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/15946578.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/15946578.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
标签:
推论&结论题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-02-28 【ybt高效进阶3-4-4】恒星的亮度