首页
登录 | 注册

一些计数小Trick

一些计数小Trick

虽然说计数问题如果不是特别傻逼的话想做出来基本随缘。

但是掌握一些基本的计数方法还是十分有必要的。

想到了就更新。

1.

对于排列的DP问题,一般是不能够按照位置一个一个放的,一般都是从小到大放,这样才能够利用题目的一些性质,此外,这样放还有一些好处,就是对于你已经有的排列,你可以插在其中的任意一个位置,可以不重不漏。





2.

对于xx的k次方计数问题,如果k小,那么可以拆开,形如
\[\sum_{X} {(x_1+x_2+x_3+......x_n)^k}= \\ \sum _ { X } \sum _ { a_1+a_2+a_3+.....+a_p=k } {k! \over a_1!a_2!a_3!....a_p! } x_1^{a_1} x_2^{a_2} ...x_p^{a_p}\]
\[ =\sum _ {x_1,x_2,x_3...,x_p} \sum _ {X,x_1,x_2,x_3,....,x_p \in X} \sum _ { a_1+a_2+a_3+.....+a_p=k } {k! \over a_1!a_2!a_3!....a_p!}x_1^{a_1} x_2^{a_2} ...x_p^{a_p} \]

那么我们可以最多只考虑k个元素算贡献。


相关文章

  • 基于mapreduce实现图的三角形计数
    源代码放在我的github上,想细致了解的可以访问:TriangleCount on github 一.实验要求 1.1 实验背景         图的三角形计数问题是一个基本的图计算问题,是很多复杂网络分析(比如社交网络分析)的基础.目前 ...
  • More Effective C++
    More Effective C++ 35个改善编程与设计的有效方法 只有深入了解C++编译器如何解释代码, 才有可能用C++语言写出健壮的软件. C++的难学, 不仅在其广博的语法, 语法背后的语义, 语义背后的深层思维, 深层思维背后的 ...
  • insufficient permission for adding an object to repository database .git/objects
        1.出错截图: 有时候使用软件项目管理系统github时候,会出现一些问题截图如下: 2.出错原因 从出错的地方就知道是因为权限不足导致,回想一下,在链接远程服务器时候,不小心切换为管理员权限进行了git pull更新的项目的代码. ...
  • 学了很多乱七杂八的东西,但是依然停留在前端,在工作中一直和后端交流,但是不太了解数据库是怎么回事,为了加强学习,准备学习一些关于数据库相关的东西. 说起数据库可能会有很多很多,SQLServer.Oracle.Sybase等等等,还有就是要 ...
  • 目录 引入 简单工厂 抽象工厂 Spring的bean工厂 模拟Spring工厂实现 模拟IOC 引入 假设有一个司机, 需要到某个城市, 于是我们给他一辆汽车 public class Demo { public static void ...
  • 用消息队列和socket实现聊天系统
    前言:最近在学进程间通信,所以做了一个小项目练习一下.主要用消息队列和socket(UDP)实现这个系统,并数据库存储数据,对C语言操作不熟悉的可以参照我的这篇博客:https://www.cnblogs.com/liudw-0215/p/ ...

2019 cecdns.com webmaster#cecdns.com
12 q. 0.077 s.
京ICP备10005923号