problem


容斥好题,结果题解里面一堆 \(\text{NTT}\)。

如果我们去掉有多少个人喜欢什么东西的条件,那么这个题就直接枚举有 \(i\) 组同学会一起讨论蔡徐坤。这一个问题十分容易。

使用容斥原理来做,然后容斥的系数是 \((-1)^i\) 想必这个东西对于大家来说是十分简单的。

如果我们加上这些条件,我们还是可以这样想。当有 \(i\) 组人讨论时,那么就有 \(n - 4 \times i\) 个人没在讨论。然后枚举排列即可。

所以式子就是:

\[\sum^{n - 4 \times i}_{a = 0} (^{n - 4 \times i}_{\ \ \ \ \ a}) \sum^{n - 4 \times i - a}_{b = 0} (^{n - 4 \times i - a}_{\ \ \ \ \ \ \ \ b}) \sum^{n - 4 \times i - a - b}_{c = 0} (^{n - 4 \times i - a - b}_{\ \ \ \ \ \ \ \ \ \ c})
\]

意思就是选唱,跳,rap,篮球分别有几个人,然后分配位置。

然后我们发现这个式子不优化的复杂度为 \(O(n^3)\),用前缀和优化之后依然是 \(O(n^2)\) 的。由于我们还要枚举一层 \(i\),所以时间复杂度就是 \(O(n^3)\)。肯定会 \(\text{TLE}\) 所以我们需要优化。

我们可以想如果我们可以把 \(n\) 个人先分成两组,一组是唱和跳,另一组是rap和篮球。这样分后我们就可以用组合数算出求出答案了。

所以我们可以把式子改成这样:

\[\sum^{n - 4 \times i}_{j = 0} (^{n - 4 \times i}_{\ \ \ \ \ j}) (\sum^{j - (b - i)}_{k = a - i} (^j_k) \times \sum^{n - 4 \times i - j - (c - i)}_{l = d - i} (^{n - 4 \times i - j}_{\ \ \ \ \ \ \ \ l}))
\]

所以上面的式子直接求就可以做到 \(O(n^2)\) 的复杂度,然后再利用前缀和优化一下就可以变成 \(O(n)\)。

由于需要在枚举一层 \(i\) 所以最终的复杂度为 \(O(n^2)\)。


code

The solution of P5339的更多相关文章

  1. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  2. Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架

    Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition. 现将Enterprise Solution开发过程中遇 ...

  3. Windows 10 部署Enterprise Solution 5.5

    Windows 10正式版发布以后,新操作系统带来了许多的变化.现在新购买的电脑安装的系统应该是Windows 10.与当初用户不习惯Windows 7,购买新电脑后第一个想做的事情就是重装成XP,估 ...

  4. Enterprise Solution 企业资源计划管理软件 C/S架构,支持64位系统,企业全面应用集成,制造业信息化

    Enterprise Solution是一套完整的企业资源计划系统,功能符合众多制造业客户要求.系统以.NET Framework技术作为开发架构,完善的功能可有效地帮助企业进行运营策划,减低成本,如 ...

  5. Dynamics CRM 2015-超大Solution导入问题

    我们在将比较大的solution导入CRM的时候,经常会遇到超时的问题,这是因为CRM的本身的优化限制导致的,那么如何解决呢? 官方已经有了解决方案了. 在浏览完两种解决方法之后,我们要知道的是: 1 ...

  6. WATERHAMMER: A COMPLEX PHENOMENON WITH A SIMPLE SOLUTION

    开启阅读模式 WATERHAMMER A COMPLEX PHENOMENON WITH A SIMPLE SOLUTION Waterhammer is an impact load that is ...

  7. Codility NumberSolitaire Solution

    1.题目: A game for one player is played on a board consisting of N consecutive squares, numbered from ...

  8. codility flags solution

    How to solve this HARD issue 1. Problem: A non-empty zero-indexed array A consisting of N integers i ...

  9. The Solution of UESTC 2016 Summer Training #1 Div.2 Problem C

    Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/C Description standard input/output After ...

  10. The Solution of UESTC 2016 Summer Training #1 Div.2 Problem B

    Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/B Description standard input/output Althou ...

随机推荐

  1. 第七課-Channel Study For HTTP Listener & Web Service Sender Intercommunicates Response Handler

    示例说明: 系统A发送XML格式患者信息到Mirth的Source端HTTP Listener,完成患者信息入库逻辑:然后Mirth的Destinations端Web Service Sender调用 ...

  2. 剑指offer56(Java)-数组中出现的次数Ⅰ(中等)

    题目: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4,1, ...

  3. MaxCompute项目子账号做超级管理员

    场景 主账号不是大数据团队管理,使用MaxCompute员工都只持有子账号,而project的owner只能为主账号,但是很多MaxCompute的权限管理还需要owner才可以操作(如项目级别的fl ...

  4. OpenYurt 深度解读:如何构建 Kubernetes 原生云边高效协同网络?

    作者 | 郑超 导读:OpenYurt 是阿里巴巴开源的云边协同一体化架构,与同类开源方案相比,OpenYurt 拥有可实现边缘计算全场景覆盖的能力.在之前的一篇文章中,我们介绍了 OpenYurt ...

  5. [FE] uni-app Card 卡片组件 uni-card 用法

    使用 uni-card 和其它组件没有什么区别,关注支持的属性和事件即可. 对于属性,需要特别注意值的类型,比如不要把非字符串的当做字符串处理. 举例,如下 is-full 需要 Boolean 类型 ...

  6. Django之ajax简介

    1.MTV与MVC 框架类型:MVC: M:models V:views C:controller Django用的框架就是MTV MTV: M:models T:templates V:views ...

  7. 将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream

    /** 将 ByteArrayInputStream 拷贝成 ByteArrayOutputStream * 将 字节数组输入流 拷贝成 字节数组输出流 */ public static ByteAr ...

  8. SAP集成技术(十一)SAP混合集成平台

    愿景 SAP产品之间实现无缝集成还需要一些时间,目前可能还存在一些技术挑战或者需要进一步的开发工作,以便在未来能够轻松地把所有SAP产品整合在一起.让SAP产品能够顺利地与非SAP的解决方案连接,这也 ...

  9. 04.Java 流程控制

    1.用户交互 Scanner Scanner 对象:获取用户的输入 基本语法:Scanner s = new Scanner(System.in); 通过 Scanner 类的 next() 和 ne ...

  10. neo4j配置文件neo4j.conf详解

    一.dbms配置 dbms.default_database=neo4j 目录路径 dbms.directories.data=datadbms.directories.plugins=plugins ...