4455: [Zjoi2016]小星星 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 643  Solved: 391[Submit][Status][Discuss] Description 小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有n颗小星星,用m条彩色的细线串了起来,每条细 线连着两颗小星星.有一天她发现,她的饰品被破坏了,很多细线都被拆掉了.这个饰品只剩下了n?1条细线,但 通过这些细线,这颗小星星还是被串在一起,也就是这…
P3349 [ZJOI2016]小星星 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 小 \(Y\) 是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有 \(n\) 颗小星星,用 \(m\) 条彩色的细线串了起来,每条细线连着两颗小星星. 有一天她发现,她的饰品被破坏了,很多细线都被拆掉了.这个饰品只剩下了 \(n-1\) 条细线,但通过这些细线,这颗小星星还是被串在一起,也就是这些小星星通过这些细线形成了树…
题目链接 uoj185 题解 设\(f[i][j]\)表示\(i\)为根的子树,\(i\)号点对应图上\(j\)号点时的方案数 显然这样\(dp\)会使一些节点使用同一个节点,此时总的节点数就不满\(n\)个 我们枚举选的点\(S\),再进行\(dp\) 然后根据选的点数量进行容斥 [BZOJ卡不过QAQ] #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #i…
4455: [Zjoi2016]小星星 题意:一个图删掉一些边形成一棵树,告诉你图和树的样子,求让图上的点和树上的点对应起来有多少方案 看了很多题解又想了一段时间,感觉题解都没有很深入,现在大致有了自己的想法吧 如果直接上树形DP的话,必须要保存当前子树对应了图上的点的集合才行,要不然做不到1对1.但这样复杂度就炸掉了至少需要\(3^n\)枚举子集 我们可以用容斥原理来弱化这个限制,使得允许多对1 \[ 树上n个点对应图上n个点的方案数\ = \\ \] \[ n个点对应\le n个点\ -\…
传送门 解题思路 首先题目中有两个限制,第一个是两个集合直接必须一一映射,第二个是重新标号后,\(B\)中两点有边\(A\)中也必须有.发现限制\(2\)比较容易满足,考虑化简限制\(1\).令\(f(S)\)表示重标号后至多出现在\(S\)中的标号且满足条件\(2\)的方案数,令\(g(S)\)表示重标号后恰好出现在\(S\)中的标号满足条件\(2\)的方案数.这应该是容斥里的一个套路.那么有转移方程: \[ f(S)=\sum\limits_{T \subseteq S}g(T)\Right…
Sol 容斥原理+树形DP. 这道题用的容斥思想非常妙啊!主要的思路就是让所有点与S集合中的点对应,可以重复对应,并且可以不用对应完全(意思是是S的子集也可以).这样他有未对应完全的,那就减去,从全都一一对应到少对应几个,减号套减号,就形成了容斥关系,看S中元素个数与n的关系,如果相差奇数个,那就减去,相差偶数个,那就加上.用树形DP转移,枚举当前节点选哪一个,再枚举子节点选哪一个,如果两个有连线就统计到答案里.因为每个节点只进入一次,转移是 \(n^2\) 的,枚举子集是 \(2^n\) 总复…
BZOJ 洛谷 为什么已经9点了...我写了多久... 求方案数,考虑DP... \(f[i][j]\)表示到第\(i\)门课,还有\(j\)人会被碾压的方案数. 那么\[f[i][j]=\sum_{k=j}^{n-1}f[i-1][k]\times C_k^{k-j}\times C_{n-1-k}^{R_i-1-(k-j)}\times g[i]\] 就是先从\(k\)人中选出\(k-j\)在\(i\)这门课比B神得分高,然后再从剩下\(n-1-k\)个人中选\(R_i-1-(k-j)\)个…
前言 话说在\(Loj\)下了个数据发现这题的名字叫\(fgo\) 正题 题目链接:https://www.luogu.com.cn/problem/P5405 题目大意 \(n\)张卡的权值为\(1/2/3\)的概率权重分别是\(p_{x,1/2/3}\),然后按照权值每次获得一张未获得的卡,然后再该出一棵有向树(方向可以都是外向或内向的),求所有每条边\((u,v)\),\(u\)都比\(v\)先获得的概率. \(1\leq n\leq 1000,0\leq p_{i,j}\leq 10^6…
题意:一棵树上有n(n<=50000)个结点,结点有k(k<=10)种颜色,问树上总共有多少条包含所有颜色的路径. 我最初的想法是树形状压dp,设dp[u][S]为以结点u为根的包含颜色集合为S的路径条数,然后FWT(应该叫FMT?)搞一下就行了,复杂度$O(nk2^k)$.奈何内存太大,妥妥地MLE... 看到网上大部分的解法都是点分治,我不禁联想到之前学过的树上任意两点距离的求法(点分治+FFT),心想,这道题用点分治+FWT是不是也能过?于是比着葫芦画瓢写出了这样一段又臭又长的代码: #…
这道题跟另一道题很像,先看看那道题吧 巨神兵(obelisk) 题面 欧贝利斯克的巨神兵很喜欢有向图,有一天他找到了一张nnn个点mmm条边的有向图.欧贝利斯克认为一个没有环的有向图是优美的,请问这张图有多少个子图(即选定一个边集)是优美的?答案对 1,000,000,0071,000,000,0071,000,000,007 取模. n<=17n<=17n<=17 分析 这道题就是枚举拓扑序最后的点集来转移 #include <bits/stdc++.h> using na…