LYOI2018 Hzy's Planets
题目描述:
删掉一个边,看其是否联通,图是一棵树,在线,多组询问。
数据范围:
\(n \leq 10^5\)
题解:
(休闲一下)
这种直接用dfs序即可,直接讨论连边的位置就行。
还有一种做法懒得打了..就是说考虑维护某一条链上有哪些点,当你询问的时候只要那个询问通道包含这个破坏的通道就能联通,否则就不行,可以开\(vector\),如果叉特别多,那么每个链的点数就很少,如果叉少,相对的点就多点。
\(dfs\)的时候把\(vector\)里的东西下传即可,可以维护一个方向的特征值(自己随便定义)
#include <bits/stdc++.h>
using namespace std;
#define io freopen("planets.in","r",stdin),freopen("planets.out","w",stdout)
const int MAXN = 1e5 + 10;
const int mod = 1e5 + 7;
int cnt = 0;
struct edge {
int to;
int nxt;
}e[MAXN << 1];
int head[MAXN << 1];
int ans[MAXN];
void add(int u,int v) {
e[++cnt].to = v;
e[cnt].nxt = head[u];
head[u] = cnt;
return;
}
void Add(int u,int v) {
add(u,v);
add(v,u);
return;
}
int read () {
int q=0,f=1;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
}
int dfn[MAXN << 1];
int idx;
int low[MAXN << 1];
int dis[MAXN << 1];
void dfs(int x) {
dfn[x] = ++idx;
for(int i = head[x];i;i = e[i].nxt) {
int y = e[i].to;
if(!dfn[y]) {
dis[y] = dis[x] + 1;
dfs(y);
}
}
low[x] = ++idx;
}
int ok(int top,int x,int y) {
int st = dfn[top];
int ed = low[top];
int l = dfn[x];
int r = dfn[y];
if((st <= l and l <= ed) and (r > ed or r < st)) return 1;
else if((st <= r and r <= ed) and (l > ed or l < st)) return 1;
return 0;
}
int L[MAXN];
int R[MAXN];
int n,q,c;
int main () {
io;
n = read(),q = read(),c = read();
for(int i = 1;i < n; ++i) {
int x = read(),y = read();
Add(x,y);
L[i] = x;
R[i] = y;
}
dfs(1);
int m = 0;
for(int i = 1;i <= q; ++i) {
int k = read(),x = read(),y = read();
k ^= m;x ^= m;y ^= m;
int l = L[k];
int r = R[k];
if(dis[l] < dis[r]) swap(l,r);
if(ok(l,x,y)) {
ans[i] = 1;
cout<<"YES"<<endl;
}
else {
ans[i] = 0;
cout<<"NO"<<endl;
}
m = (m + (c * (ans[i] + 1) * i % mod) % mod + mod) % mod;
}
return 0;
}
LYOI2018 Hzy's Planets的更多相关文章
- 「LYOI2018 Summer」Hzy's Rabbit Candy----拓扑排序问题
「LYOI2018 Summer」Hzy's Rabbit Candy 题目描述 Hzy 和她的 m 只兔兔在一个 n 个点 m 条边的有向无环图上玩. 为了让兔兔们开心,Hzy 带了一些糖.Hzy ...
- hzy 和zsl 的生存挑战
Problem Description zsl 和hzy 来到了臭臭城堡,打算挑战臭臭城堡的大魔王hyz,大魔王hyz设置了这样的一个挑战:1. zsl 和hzy两个人各自来到一间密室,期间两人无法以 ...
- 发布Qt Quick桌面应用程序的方法(使得planets在XP上运行)
发布Qt Quick桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序,于 ...
- vulnhub靶场之THE PLANETS: EARTH
准备: 攻击机:虚拟机kali.本机win10. 靶机:THE PLANETS: EARTH,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnh ...
- POJ 3174 Alignment of the Planets (暴力求解)
题意:给定 n 个坐标,问你三个共线的有多少组. 析:这个题真是坑啊,写着 n <= 770,那么一秒时间,三个循环肯定超时啊,我一直不敢写了,换了好几种方法都WA了,也不知道为什么,在比赛时坑 ...
- 题解-hzy loves segment tree I
Problem 题目概要:给定一棵 \(n\) 个节点的树,点有点权,进行 \(m\) 次路径取\(\max\)的操作,最后统一输出点权 \(n\leq 10^5,m\leq 5\times 10^6 ...
- 229B Planets
传送门 题目大意 有编号1~n的星球,在不用的星球间共有m个传送门,任意两个星球间传送门不超过1个,每个传送门需要花费一定的时间,但是在某时刻会在某星球有旅客到达,这时要一定等到没有旅客到达的时候才能 ...
- 【Codeforces 229B】Planets
[链接] 我是链接,点我呀:) [题意] [题解] 设dis[i]表示到达i号传送器的最早时刻. 显然,虽然有那么多的出发时刻的限制,但我们还是越早到越好的. 因为你到得越早,出发的时间肯定不会比到达 ...
- Vulnhub - THE PLANETS: EARTH
环境配置 从www.vulnhub.com下载靶机,在VMware中导入,自动分配IP 主机发现 通过对内网主机的扫描,VMware为目标主机 端口扫描 使用nmap对主机进行扫描 发现443端口信息 ...
随机推荐
- sql server 基础语法4 实践练习+子查询
drop table class create table class ( classId ) primary key not null, cName ) ) insert into class ', ...
- centos6编译安装php7
https://www.cnblogs.com/wenwei-blog/p/6261637.html https://www.cnblogs.com/imzye/p/5109770.html cent ...
- elasticsearch+kibana+fluentd 日志搜集集群搭建
使用fluentd来搜集Nginx日志,准备3台服务器,列表如下 node1 elasticsearch/kibana/td-agent node2 td-agent/nginx node3 td-a ...
- 81、Tensorflow实现LeNet-5模型,多层卷积层,识别mnist数据集
''' Created on 2017年4月22日 @author: weizhen ''' import os import tensorflow as tf import numpy as np ...
- 实验吧关于隐写术的writeUp(二)
0x01 Black Hole 1.下载文件后,发现打不开,放到kali中.用命令file 分析一下文件 root@trial:~/Documents# file blackhole.img blac ...
- ubuntu php多版本共存切换
做开发时,由于本机开发的php版本跟线上发布的php版本不一致,很容易在上线后,发现因版本的影响导致一些bug,但又不想重新去换本机的php版本,那么多版本共存就很方便了!有必要时,切换到指定版本测试 ...
- 百度之星资格赛2018B题-子串查询
子串查询 题目 度度熊的字符串课堂开始了!要以像度度熊一样的天才为目标,努力奋斗哦! 为了检验你是否具备不听课的资质,度度熊准备了一个只包含大写英文字母的字符串 A[1,n]=a1a2⋯an,接下来他 ...
- STL中六大组件
1)容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供.为了访问容器中的数据,可以使用由容器类输出的迭代器: 容器(container)用于存放 ...
- Head First PHP &MySQL学习笔记
最近一段时间在学习PHP,买了<Head First PHP&MySQL>中文版这本书,之前买过<Head First设计模式>,感觉这系列的书籍总体来说很不错. ...
- HBase 热点问题——rowkey散列和预分区设计
热点发生在大量的client直接访问集群的一个或极少数个节点(访问可能是读,写或者其他操作).大量访问会使热点region所在的单个机器超出自身承受能力,引起性能下降甚至region不可用,这也会影响 ...