Codeforces1695 D1.+D2 Tree Queries】的更多相关文章

题意 给一个n个点的无向图,其中有一个隐藏点X,可以进行一组询问S来确定S是n个节点中的哪个点.S包括k个询问节点.询问返回的值也为k个值,每个值为X点到每个询问节点的最短路距离,求k最小为多少. 提示 1. 对于k个节点来说,最优的结构肯定是选择所有的叶子节点 2. 对于一个节点来说,假如它连了m条链(包括单个叶子节点),可以只标记m-1条链的叶子节点即可 3. 满足1,2条件以后,可以尝试再去询问点,发现均无法全部检测到,原因是:假如去点m-2条链,剩下的两条链,相同深度部分对于其他的节点来…
QAQ怕不是真的凉凉 d1 205 + d2 170 = 375 感觉难度和noip差不多 那么这可是有够凉的 官方题解 D1 D2 D1 T1 某地的ENLIGHTENED总部总部有N个Agent,每个Agent的能力值互不相同,现在ENLIGHTENED行动指挥想要派出A,B两队Agent去参加XM大战.但是参加大战的两个队伍要满足两个要求: A队中能力最大的Agent的能力值要小于B队能力最弱的Agent的能力值. A,B两队都要有人参战. 并不一定所有的Agent都要去参加XM大战的,心…
960D - Full Binary Tree Queries 思路: 用move1[i]记录第i层第1种操作移动的个数(对这一层的个数取模) 用move2[i]记录第i层第2种操作移动的个数(对这一层的个数取模) 查询方法: 记当前值为 x,当前层为 i,则经过操作后,他到了 x + move1[i] + move2[i] 的位置,记 x = x + move1[i] + move2[i] 则这个位置上一层的位置是 x >> 1,记 x = x >> 1 那我们只要知道 x 这个…
825G - Tree Queries 思路: 神题,路径拆成半链: 代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define maxn 1000005 #define INF 0x3f3f3f3f ],V[maxn<<]; int cnt,root,last,ans=INF; inl…
传送门 A 贪心的取 每个字母n/k次 令r=n%k 让前r个字母各取一次 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (int i = a; i <= b; ++i) int t, n, k; int main() { cin >> t; while (t--) { cin >> n >> k; int x =…
A : Be Positive 题目地址:https://codeforces.com/problemset/problem/1130/A 题解:让你求是否满足一个d使得数列长为n的a数组的每个数除以d以后,所得数列正数的数量大于ceil(n):(除以后四舍五入,0不是正数) 注意d为负数的情况 参考代码: #include<iostream> using namespace std; int main() { ,y=; ]; cin>>t; ;i<t;i++) { scan…
[功能]:返回日期d1到日期d2之间的月数. [参数]:d1,d2 日期型 [返回]:数字 如果d1>d2,则返回正数 如果d1<d2,则返回负数 [示例] select sysdate, months_between(sysdate,to_date('2006-01-01','YYYY-MM-DD')), months_between(sysdate,to_date('2016-01-01','YYYY-MM-DD')) from dual; 返回:2008-11-5,34.16,-85.8…
CF1328E Tree Queries 应该还是比较妙的 题意 给你一个树,然后多次询问 每次询问给出一堆节点,问你是否能找到一个从根出发的链,是的对于给出的每个节点,都能找出链上的点,是的他们的距离小于等于\(1\) \(n\leq 2\cdot 10^5,m\leq 2\cdot 10^5,\sum k\leq 2\cdot 10^5\) 其中\(m\)是询问次数,\(k\)是每次给出的点数 首先,一个点要想符合题目的条件,无非有两种情况 一种是就在链上,这个好说 另一种是距离链上的点距离…
Codeforce 1328 E. Tree Queries 解析(思維.LCA) 今天我們來看看CF1328E 題目連結 題目 給你一棵樹,並且給你\(m\le2e5\)個詢問(包含\(k\)個點),求能不能找到一個從點\(1\)開始的路徑,使得這\(k\)個點離這個路徑的距離\(\le1\) 前言 久違的沒看解答寫的題目,故寫題解 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 可以觀察到,題目的敘述表示,對於一個節點\(v…
E. Tree Queries 题目链接 题意 给定一个树,每次询问一组点,问是否存在一条从根到某点的路径,使得该组点到该路径的最短距离不超过1 分析 从根到达某点的路径,如果覆盖到了某个点,那么一定会覆盖它的父亲(根除外),所以对组内的点替换成他们的父亲,问题转换为是否存在一条从根出发的路径覆盖所有的点.做法是将这些点按照深度从小到大排序,然后深度小的必须为深度大的的祖先 相邻两点求LCA即可,由于题目特殊性,前面的点和后面的点必须和根在一条直直的路径上,所以可以用欧拉序直接来判断是否可行 另…