F Auxiliary Set

树上LCA + DFS

注意一下输出格式!

#include<bits/stdc++.h>
using namespace std; const int N = 1e5 + 10;
int t, n, q, ans;
int fa[N]; // 存储点i的父亲节点
int son[N], tmp[N];//存儿子节点
int un[N];//存不重要的点序列
int dep[N];//存深度
bool vis[N];
vector<int> vet[N]; void dfs(int u, int f, int d){
fa[u] = f;
dep[u] = d;
vis[u] = true;
for(int i = 0; i < vet[u].size(); i++){
int j = vet[u][i];
if(!vis[j]){
//不能把父亲也加到儿子当中
son[u] ++;
dfs(j,u,d + 1);
}
}
} bool cmp(int a, int b){
return dep[a] > dep[b];
} signed main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> t;
for(int tot = 1; tot <= t; tot ++){
cin >> n >> q;
for(int i = 1; i <= n; i++){
vis[i] = false;
son[i] = 0;
vet[i].clear();
}
for(int i = 1; i <= n - 1; i ++){
int a, b;
cin >> a >> b;
vet[a].push_back(b);
vet[b].push_back(a);
}
dfs(1,0,0);
cout << "Case #" << tot <<":" << endl;
for(int j = 1; j <= q; j ++){
int k;
cin >> k;
ans = n - k;
for(int i = 1;i <= k; i++){
cin >> un[i];
tmp[un[i]] = son[un[i]];
}
//从深度更深的节点开始遍历
sort(un + 1, un + 1 + k, cmp);
for(int i = 1; i <= k; i++){
if(tmp[un[i]] >= 2){
ans ++;
}
else if(tmp[un[i]] == 0){
tmp[fa[un[i]]] --;
}
}
cout << ans << endl;
}
}
return 0;
}

Auxiliary Set题解的更多相关文章

  1. LuoguP7019 [NWRRC2017]Auxiliary Project 题解

    Update \(\texttt{2021.6.24}\) 修改了一处格式上的错误和一处笔误. Content 已知用 LED 灯来显示 \(0\sim9\) 这十个数字分别需要 \(6,2,5,5, ...

  2. 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)

    目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...

  3. coci2018 题解

    plahte 给定一些矩形和一些有颜色的点,求每个矩形上有多少种颜色的点,保证矩形只有包含和不相交两种关系,规模 \(10^5\). 把每个矩形看成一个点,用扫描线建出森林,同时也顺便处理点. 然后做 ...

  4. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  5. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  6. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  7. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  8. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  9. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  10. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

随机推荐

  1. [转帖]elasticsearch 8.0 linux安装部署

    1. 下载安装包 https://www.elastic.co/cn/downloads/elasticsearch 选择下载linux版本,elasticsearch-8.0.0-linux-x86 ...

  2. [转帖]Jmeter脚本录:抓取https请求

    Jmeter抓取http请求 https://blog.csdn.net/qq19970496/article/details/86595109 代理设置步骤请参照该篇文章.本文件只做补充HTTPS中 ...

  3. 阿里的AIGC数据库工具: Chat2DB的学习与使用

    阿里的AIGC数据库工具: Chat2DB的学习与使用 背景 今天陪家中老人去完医院后, 继续回来学习时发现 阿里巴巴的 chat2DB已经发布的 2.0.1的版本. 想着下载下来试试. 主要也是备忘 ...

  4. [转帖]《Linux性能优化实战》笔记(22)—— 网络丢包问题分析

    所谓丢包,是指在网络数据的收发过程中,由于种种原因,数据包还没传输到应用程序中,就被丢弃了.这些被丢弃包的数量,除以总的传输包数,也就是我们常说的丢包率.丢包率是网络性能中最核心的指标之一.丢包通常会 ...

  5. stress-NG 磁盘测试结果-全国产信创部分验证

    stress-NG 磁盘测试结果 摘要 前几天分别还是用了redis-benchmark还有specjvm2008进行了多种系统的压测 得出了信创CPU的一些简单结论 但是一直还没有压测磁盘, 今天想 ...

  6. Nginx与Tomcat作为前端服务器的性能比较

    Nginx与Tomcat作为前端服务器的性能比较 摘要 最近总遇到使用tomcat还是使用nginx进行前端文件访问的争论 想着出差周末在酒店, 可以自己进行一下简单的测试. 希望能够对未来的工作进行 ...

  7. 境内下载nodejs二进制文件

    下载 nodejs 安装包的方法 找到一个境内的淘宝源 可以直接使用 下载速度还比较快 但是没有 龙芯的.. http://npm.taobao.org/mirrors/node/v10.20.0/

  8. linux 查看系统计划任务相关的命令

    最近公司排查计划任务: for i in `ls /etc/cron.d` ; do cat /etc/cron.d/$i |grep -v "#" ; done for i in ...

  9. Vue中Vue.set()和this.$forceUpdate()的使用

    1.给对象添加一个key值 成功的 <template> <div> <p>{{userInfo.name}}</p> <p>{{userI ...

  10. go 1.21:cmp

    标准库 cmp 原文在这里 go 1.21 新增 cmp 包提供了与有序变脸比较相关的类型和函数. Ordered 定义如下: type Ordered interface { ~int | ~int ...