题意:一棵树选择恰好k个结点放置监听器 每个监听器只能监听相邻的节点 问能使得所有节点被监听的种类数 题解:反正就是很well-known的树形DP了 至于时间复杂度为什么是nk 不会不学 很好想到四维dp 在x节点放置j个 x有没有放监听器 x有没有被监听 瞎搞搞就好了 头写昏了转移就抄别人了的TAT 关键是这个题开ll会mle 不开会爆int 取%频繁还会tle 西安太热了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!…
题目描述 外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,JYY 已经联系好了黄金舰队,打算联合所有 JSOIer 抵御外星人的进攻. 在黄金舰队就位之前,JYY 打算事先了解外星人的进攻计划.现在,携带了监听设备的特工已经秘密潜入了外星人的母舰,准备对外星人的通信实施监听. 外星人的母舰可以看成是一棵 n 个节点. n-1 条边的无向树,树上的节点用 1,2,\cdots,n1,2,⋯,n 编号.JYY 的特工已经装备了隐形模块,可以在外星人母舰中不受限制地活动,可以神不知鬼不觉地…
题目:https://loj.ac/problem/2546 dp[ i ][ j ][ 0/1 ][ 0/1 ] 表示 i 子树,用 j 个点,是否用 i , i 是否被覆盖. 注意 s1<=s0 ,别弄出负角标. 用 if 判断一下,如果有值再转移,会快非常多. 复杂度是 O(n*k) 的.证明:https://www.cnblogs.com/cjyyb/p/10416839.html 先约定如果一个小于 k 的子树和一个大于 k 的子树合并,在小于 k 的子树那里看复杂度. 1.两个小于…
题目链接 题意: 外星人的母舰可以看成是一棵 n 个节点. n−1 条边的无向树,树上的节点用 1,2,⋯,n 编号.JYY 的特工已经装备了隐形模块,可以在外星人母舰中不受限制地活动,可以神不知鬼不觉地在节点上安装监听设备. 如果在节点 u 上安装监听设备,则 JYY 能够监听与 u 直接相邻所有的节点的通信.换言之,如果在节点 u 安装监听设备,则对于树中每一条边 (u,v) ,节点 v 都会被监听. 特别注意放置在节点 u 的监听设备并不监听 u 本身的通信,这是 JYY 特别为了防止外星…
code #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <vector> using namespace std; void setIO(string a) { freopen((a+".in").c_str(),"r",stdin); } #define maxn 100009 #d…
[BZOJ5314][JSOI2018]潜入行动(动态规划) 题面 BZOJ 洛谷 题解 不难想到一个沙雕\(dp\),设\(f[i][j][0/1][0/1]\)表示当前点\(i\),子树中一共放了\(j\)个,这个点是否放了,这个是否被覆盖了. 看起来直接合并是\(O(nk^2)\)的QwQ..... 然后我以为是\(O(nk^2)\)的就不会做了嘤嘤嘤. 实际上是\(O(nk)\)的... 证明大概是这样的: 考虑什么时候会产生\(O(k^2)\)的贡献,即一个点有两棵子树的大小大于\(k…
https://www.lydsy.com/JudgeOnline/problem.php?id=5314 https://www.luogu.org/problemnew/show/P4516 https://loj.ac/problem/2546 外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,JYY已经联系好了黄金舰队,打算联合所有JSOIer抵御外星人的进攻.在黄金舰队就位之前,JYY打算事先了解外星人的进攻计划.现在,携带了监听设备的特工已经秘密潜入了外星人的母舰,准备对外…
4824: [Cqoi2017]老C的键盘 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 193  Solved: 149[Submit][Status][Discuss] Description 老 C 是个程序员.     作为一个优秀的程序员,老 C 拥有一个别具一格的键盘,据说这样可以大幅提升写程序的速度,还能让写出来的程序 在某种神奇力量的驱使之下跑得非常快.小 Q 也是一个程序员.有一天他悄悄潜入了老 C 的家中,想要看看这个 键盘究…
BZOJ5314: [Jsoi2018]潜入行动 https://lydsy.com/JudgeOnline/problem.php?id=5314 分析: 裸树形背包,设\(f[x][i][0/1][0/1]\)表示\(x\)子树选了\(i\)个点,是否能覆盖\(x\),是否选了\(x\). 代码: #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #inc…
LINK:潜入行动 初看题感觉很不可做 但是树形dp的状态过于明显. 容易设\(f_{x,j,l,r}\)表示x为根子树内放了j个设备且子树内都被覆盖l表示x是否被覆盖r表示x是否放设备的方案数. 初值我是上面四个状态都设为1 转移分类讨论一下也不困难. 然后需要容斥一下. 复杂度看起来是\(n\cdot k^2\)的 其实是\(n\cdot k\)的 证明 这个我就不口胡了. 当然还有一种转移是只给正确的状态转移 这样就不需要容斥了 可能常数会小一点. 我常数比较大 开o2才能过 枚举的边界注…