UOJ

思路

(以下思路是口胡,但正确性大概没有问题。)

刚学min_25筛的时候被麦老大劝来做这题?

结果发现这题是个垃圾二合一??

简单推一下式子可以得到答案就是这个:

\[\sum_{T=1}^m (f*\mu)(T)\sum_{\{a_i\le m/T \}} \prod_i [a_{x_i}\le a_{y_i}]
\]

其中\(f(n)=(\sigma_0(n^3))^3\)。

通过手玩可以得到\((f*\mu)(p^c)=81c^2-27c+9,c\ne 0\),于是可以min_25求前缀和。

现在问题转化为:对于一个给定的上界,求满足限制的\(\{a_n\}\)有几个。

先缩点。考虑枚举\(\{a_n\}\)中不同的\(a\)有几个,然后状压DP:设\(f_S\)表示从小到大放,当前已经放了\(S\)的方案数。我们做\(n\)次转移,做完\(i\)次之后\(f_U\)就是至多\(i\)个不同的\(a\)的方案数。

转移可以枚举子集,但显然会TLE。考虑一个点能被放上去当且仅当小于它的全都放上去了,于是有一个根据拓扑序转移的方法:

f[0]=1;
rep(i,1,n)
{
repd(j,n,1)
{
int s=((1<<n)-1)^mp[j]^(1<<j-1);
for(int k=s; ; k=(k-1)&s)
{
f[k^mp[j]^(1<<j-1)]+=f[k^mp[j]];
if(!k) break;
}
}
cur[i]=f[(1<<n)-1];
}

(麦老大nb!)

其中\(n\)的拓扑序最大,\(mp_j\)记录\(j\)直接连向的点。

最后对\(cur\)二项式反演一下就没了。

代码

咕咕咕

UOJ426. 【集训队作业2018】石像 [状压DP,min_25筛]的更多相关文章

  1. 【UOJ448】【集训队作业2018】人类的本质 min_25筛

    题目大意 给你 \(n,m\),求 \[ \sum_{i=1}^n\sum_{x_1,x_2,\ldots,x_m=1}^i\operatorname{lcm}(\gcd(i,x_1),\gcd(i, ...

  2. 【UOJ#422】【集训队作业2018】小Z的礼物(min-max容斥,轮廓线dp)

    [UOJ#422][集训队作业2018]小Z的礼物(min-max容斥,轮廓线dp) 题面 UOJ 题解 毒瘤xzy,怎么能搬这种题当做WC模拟题QwQ 一开始开错题了,根本就不会做. 后来发现是每次 ...

  3. [UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥

    题目链接: [集训队作业2018]小Z的礼物 题目要求的就是最后一个喜欢的物品的期望得到时间. 根据$min-max$容斥可以知道$E(max(S))=\sum\limits_{T\subseteq ...

  4. 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)-E. Explosion Exploit-概率+状压dp

    2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)-E. Explosion Exploit-概率+状压dp [P ...

  5. [集训队作业2018]蜀道难——TopTree+贪心+树链剖分+链分治+树形DP

    题目链接: [集训队作业2018]蜀道难 题目大意:给出一棵$n$个节点的树,要求给每个点赋一个$1\sim n$之内的权值使所有点的权值是$1\sim n$的一个排列,定义一条边的权值为两端点权值差 ...

  6. 【XSY3042】石像 拓扑排序 状压DP 洲阁筛

    题目大意 有 \(n\) 个整数 \(a_1,a_2,\ldots,a_n\),每个数的范围是 \([1,m]\).还有 \(k\) 个限制,每个限制 \(x_i,y_i\) 表示 \(a_{x_i} ...

  7. [BZOJ5248] 2018九省联考 D1T1 一双木棋 | 博弈论 状压DP

    题面 菲菲和牛牛在一块\(n\)行\(m\)列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手. 棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束. 落子的规则是:一个格子可以落子 ...

  8. 2018.10.27 洛谷P2915奶牛混合起来Mixed Up Cows(状压dp)

    传送门 状压dp入门题. 按照题意建一个图. 要求的就是合法的链的总数. 直接f[i][j]f[i][j]f[i][j]表示当前状态为jjj,下一位要跟iii连起来的方案数. 然后从没被选并且跟iii ...

  9. 2018.10.24 bzoj2064: 分裂(状压dp)

    传送门 状压dp好题. 考虑对于两个给出的集合. 如果没有两个元素和相等的子集,那么只能全部拼起来之后再拆开,一共需要n1+n2−2n1+n2-2n1+n2−2. 如果有呢? 那么对于没有的就是子问题 ...

随机推荐

  1. Eclipse 安装反编译插件 Eclipse Class Decompiler

    Eclipse Class Decompiler在线安装方法 https://blog.csdn.net/tangjinquan1157/article/details/77506015 Eclips ...

  2. select ng-change 方法中 拿不到 ng-modal 定义的变量值

    在使用angularjs框架的项目中,select 的数据源有两种绑定方式,在option中使用ng-repeat循环绑定,或者在select中使用ng-option 绑定. 无论哪种绑定方式,均要使 ...

  3. openwrt luci web分析

    openwrt luci web分析 来源 https://www.jianshu.com/p/596485f95cf2 www/cbi-bin/luci #!/usr/bin/lua --cgi的执 ...

  4. SQL Server修改表的模式schema

    use myDBgo create schema myschema --先建立go alter schema myschema transfer dbo.myTable --移动对象至建立的schem ...

  5. 规格化设计——OO第三单元总结

    规格化设计--OO第三单元总结 一.JML语言理论基础.应用工具链 1.1 JML语言 ​ JML(java modeling language)是一种描述代码行为的语言,包括前置条件.副作用等等.J ...

  6. 【转载】C#中List集合First和FirstOrDefault方法有何不同

    在C#的List集合中查找一个符合条件的元素,一般我们会用First方法或者FirstOrDefault方法来返回第一个符合条件的对象,First方法和FirstOrDefault的调用都是使用Lam ...

  7. javascript设计模式之适配器模式

    ---恢复内容开始--- 定义: 是指讲一个接口转换成客户端希望 的另外一个接口,该模式使得原本不兼容的类可以一起工作.适配器模式的作用事解决两个软件实体间的接口不兼容的问题. 生活中的实例: USB ...

  8. dpkg文件缺失问题

    sudo apt-get update 命中:1 http://security.ubuntu.com/ubuntu bionic-security InRelease         命中:2 ht ...

  9. django使用admin站点上传图片

      Django有提供文件系统支持,在Admin站点中可以轻松上传图片.使用Admin站点保存图片,需要安装Python的图片操作包 pip install Pillow 1 配置 默认情况下,Dja ...

  10. javascript_18-Array 数组

    数组 数组-引用类型,JavaScript中的内置对象 Array对象的属性 length 获取数组的长度(元素个数) 检测数组 instanceof Array.isArray() //h5新增 常 ...