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…
题意:一棵树选择恰好k个结点放置监听器 每个监听器只能监听相邻的节点 问能使得所有节点被监听的种类数 题解:反正就是很well-known的树形DP了 至于时间复杂度为什么是nk 不会不学 很好想到四维dp 在x节点放置j个 x有没有放监听器 x有没有被监听 瞎搞搞就好了 头写昏了转移就抄别人了的TAT 关键是这个题开ll会mle 不开会爆int 取%频繁还会tle 西安太热了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!…
题目链接 题意: 外星人的母舰可以看成是一棵 n 个节点. n−1 条边的无向树,树上的节点用 1,2,⋯,n 编号.JYY 的特工已经装备了隐形模块,可以在外星人母舰中不受限制地活动,可以神不知鬼不觉地在节点上安装监听设备. 如果在节点 u 上安装监听设备,则 JYY 能够监听与 u 直接相邻所有的节点的通信.换言之,如果在节点 u 安装监听设备,则对于树中每一条边 (u,v) ,节点 v 都会被监听. 特别注意放置在节点 u 的监听设备并不监听 u 本身的通信,这是 JYY 特别为了防止外星…
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…
[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…
潜入行动 bzoj-5314 Jsoi-2018 题目大意:题目链接. 注释:略. 想法: 学长给我们除了一套考试题,三个学长一人一道这是T1. 好吧好吧,傻逼背包...... 复杂度$O(nk)$. Code: #include<bits/stdc++.h> #define mod 1000000007 #define N 100010 using namespace std; typedef long long ll; int n,K,size[N]; ll g[101][2][2]; i…
题目描述 外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,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.两个小于…
题目链接 BZOJ5314 题解 设\(f[i][j][0|1][0|1]\)表示\(i\)为根的子树,用了\(j\)个监测器,\(i\)节点是否被控制,\(i\)节点是否放置的方案数 然后转移即可 \(O(nk^2)\)?? 用上子树大小来优化就是\(O(nk)\)的 对于子树大小都超过\(k\)的子树,转移\(O(k^2)\),这样的情况最多出现\(\frac{n}{k}\)次 对于子树大小有一个超过\(k\)的子树,没超过\(k\)的那个子树里每个点贡献\(O(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打算事先了解外星人的进攻计划.现在,携带了监听设备的特工已经秘密潜入了外星人的母舰,准备对外…