P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)

P2231 [HNOI2002]跳蚤

给定一个长度为n+1的一列数,第n+1位为m,前n位小于m
求解使得他n+1个数的加减可以凑出1的方案数

首先可以凑出1,这显然是裴蜀定理,推一推就发现他要求所有数的gcd为1
那么对于要求gcd恰为x的计数问题,我们常见套路就是钦定所有数是x的倍数,然后利用莫比乌斯反演来求解。

但是注意这里指定了一个元素m,那么可以发现当x不是m的因子时,f[x]=0,所以我们可以改写一下这个式子。得到:
g(1)=∑d∣m(md)nμ(d)g(1)=\sum_{d|m}(\frac{m}{d})^n\mu(d)g(1)=dm(dm)nμ(d)
然后我们发现它是一个卷积的形式,我们考虑怎么求解,如果暴力求就是O(m)的,但是我们巧妙地转化一下,就可以发现对于μ来说如果有平方因子就是0,所以我们只需要枚举质因子的子集即可。O(m+2w(m)log⁡n)O(\sqrt{m}+2^{w(m)}\log n)O(m+2w(m)logn)

这启示我们遇到含μ和一个容易计算的式子的时候应该暴力,这告诉我们对于特殊的卷积,有不同的求解方法。

然后其实这个式子还可以推一推,然后得到一个类似φ的形式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 6579 Operation (前缀线性基模板题)

Operation 思路 只要套上前缀线性基的板子然后按照题意模拟即可&#xff0c;前缀线性基模板题了。 代码 /*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include <bits/stdc.h>#define mp make_pair #define pb push_back #define endl …

SonarQube系列三、Jenkins集成SonarQube(dotnetcore篇)

来源&#xff1a;https://www.cnblogs.com/7tiny/p/11348785.html【前言】本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下&#xff1a;SonarQube系列一、Linux安装与部署SonarQube系列二、分析dotnet core/C#代码SonarQube系列三、Jen…

[2020多校A层11.22]party(概率期望/近似)

[2020多校A层11.22]party 非常巧妙的一个概率期望问题&#xff0c;其实运用的还是近似的思想 现在有n个物品&#xff0c;每次一个人有pi的概率选中这个物品&#xff0c;然后可以进行猜测&#xff0c;但是无论是否猜中都继续游戏&#xff0c;直到所有人都被猜中&#xff0c;求解…

E. Beautiful Subarrays(思维 01 trie 树)

E. Beautiful Subarrays 思路 显然有ai⨁ai1⨁……⨁an(a1⨁a2⨁……⨁an)⨁(a1⨁a2⨁……⨁ai−1)a_i\bigoplus a_{i 1} \bigoplus ……\bigoplus a_{n} (a_1 \bigoplus a_2 \bigoplus……\bigoplus a_{n}) \bigoplus (a_1 \bigoplus a_2 \bigoplus …… \bigoplus a_{i -…

CF198D Cube Snake(三维空间/增量构造)

CF198D Cube Snake n<50 显然是一个构造题&#xff0c;然后很容易想到增量构造&#xff0c;可以考虑每次保证一层值域连续&#xff0c;然后再增加一个值域连续的层&#xff0c;就会产生两个值域连续的正方体&#xff0c;但是只移动头是不够的&#xff0c;所以我们还需要移…

发布ABP v0.19包含Angular UI选项

ABP v0.19已发布,包含解决的~90个问题和600次提交.新功能Angular UI终于,ABP有了一个SPA UI选项,使用最新的Angular框架.Angular的集成不是简单地创建了一个启动模板.创建了一个基础架构来处理ABP的模块化,主题和其他一些功能.此基础结构已部署为NPM包.为帐户,身份和租户管理等…

P4151 [WC2011]最大XOR和路径(线性基应用)

P4151 [WC2011]最大XOR和路径 思路 如果单纯的只是树形图&#xff0c;那么答案显然易见只有一种&#xff0c;也就是从头到尾的路径从头到尾的异或值&#xff0c;但是这里不同的就是有可能在道路上有许多的环。 题目有一个重点提示的一句话 理解这句话之后那么我们可以显然…

CF603D Ruminations on Ruminants(计算几何/Simson theorem)

CF603D Ruminations on Ruminants 给定n条直线&#xff0c;两两不平行&#xff0c;且任意三条直线不经过同一个点&#xff0c;然后求解满足原点在外接圆上的由三条直线围成的三角形有多少个。 首先这道题只需要知道Simson theorem就可以做了。 定理内容是三角形外接圆上的点到…

Docker(一)-CentOS7中安装Docker视频教程

一、前言Docker的使用越来越多&#xff0c;安装也相对简单。本文使用视频的方式展示在CentOS7系统中安装Docker&#xff0c;本文更适合于准备入门学习Docker的童靴&#xff0c;同时也欢迎各路大神给我们指点提建议。二、环境CentOS7三、安装Docker确认Linux内核版本# uname -a卸…

P3292 [SCOI2016]幸运数字(树剖 + 线段树维护线性基)

P3292 [SCOI2016]幸运数字 思路 如果这题是求x,yx, yx,y之间的距离显然我们可以通过树剖加线段树来写&#xff0c; 但是这里变成了求任意个数的异或最大值。如果给定区间我们显然可以通过线性基来求解&#xff0c;但是这里是动态的区间&#xff0c;每次区间需要我们去找&…

CF773E Blog Post Rating(推导min的通项/线段树)

CF773E Blog Post Rating 现在有一个值F&#xff0c;每次如果序列加入一个数后重新排列&#xff0c;每次如果F小于期望值&#xff0c;就会1&#xff0c;如果等于就不变&#xff0c;如果大于就-1&#xff0c;求解每一次加入后F的最大值。 这道题的确是非常的巧妙&#xff0c;尤…

用Keras.NET 做一个图像识别的训练

.NET Core 的应用场景越来越广&#xff0c;开源社区也不断壮大&#xff0c; .NET Core在机器学习领域不断发展ML.NET外&#xff0c;也通过结合Tensorflow.NET去完善ML.NET在深度学习领域的功能&#xff0c;在ML.NET 1.3开始迈出了非常重要的一步。这不仅是微软拥抱开源的策略&a…

2019牛客多校第四场 B xor (线性基求交)

xor 思路 题目是要求[l,r][l, r][l,r]的所有集合是否都可以得到xxx&#xff0c;那么显然我们可以对这[l,r][l, r][l,r]个线性基求交&#xff0c;然后再特判能否xxx能否插入&#xff0c;如果能插入&#xff0c;显然输出NONONO&#xff0c;否则就输出YESYESYES&#xff0c;所以…

「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中...

前一篇推文中&#xff0c;给大家演示了在SSIS上使用dotNET脚本&#xff0c;实现一些原生SSIS难以实现的功能&#xff0c;并冠以无限可能的说法。充分复用python的现有优势python的确是一门非常优秀的编程语言&#xff0c;特别是在数据领域&#xff0c;网络爬虫、数据处理、分析…

.NET Core玩转爬虫系列之借助正则表达式入门篇

接下来一段时间&#xff0c;我会花些时间研究C#玩转爬虫的方法及其实践。话不多说&#xff0c;开始吧~一般来说:设计并实现一个爬虫的步骤是:模拟登录 -> 模拟发送request请求 -> 取回response数据 -> 提取所需信息并将其进行重新组织 -> 存入DB或文件中 -> 后期…

单位根反演

单位根反演 https://www.cnblogs.com/cjyyb/p/10838495.html

ASP.NET Core on K8S深入学习(5)Rolling Update

本篇已加入《.NET Core on K8S学习实践系列文章索引》&#xff0c;可以点击查看更多容器化技术相关系列文章。01—What is Rolling Update?为了服务升级过程中提供可持续的不中断的服务&#xff0c;K8S提供了Rolling Update机制&#xff0c;它可以使得服务近乎无缝地平滑升级&…

LOJ6053简单的函数(min_25筛)

LOJ6053简单的函数 https://loj.ac/p/6053 min_25筛模板题&#xff0c;但是要注意质数点有2比较特殊&#xff0c;需要在y0的时候特判质数包含2的情况。 #include<bits/stdc.h> #define LL long long using namespace std; inline LL read() {char x\0;LL fh1,sum0;for(…

HDU 5608 function (杜教筛)

function 推式子 n2−3n2∑d∣nf(d)calulateS(n)∑i1nf(i)mod1097n ^ 2 - 3n 2 \sum_{d \mid n} f(d)\\ calulate\ S(n) \sum_{i 1} ^{n} f(i) \bmod 10 ^9 7\\ n2−3n2d∣n∑​f(d)calulate S(n)i1∑n​f(i)mod1097 考虑对式子进行化简 ∑i1n(i2−3i2)∑i1n∑d∣if(d)∑…

依赖注入在 dotnet core 中实现与使用:1 基本概念

关于 Microsoft Extension: DependencyInjection 的介绍已经很多&#xff0c;但是多数偏重于实现原理和一些特定的实现场景。作为 dotnet core 的核心基石&#xff0c;这里准备全面介绍它的概念、原理和使用。这里首先介绍概念部分。1. 概念该项目在 GitHub 的地址&#xff1a;…