链接:https://www.nowcoder.com/acm/contest/59/F 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给一个n个点的树,第i个点的值是vi,初始根是1. 有m个操作,每次操作: 1.将树根换为x. 2.给出两个点x,y,求所有点对(a,b)的个数满足a在x子树中,b在y子树中,va==vb 输入描述: 第一行两个数表示n,m 第二行n个数,表示每个点的…
链接:https://www.nowcoder.net/acm/contest/58/F 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给你一个序列a,有m次,每次查询一个区间[l,r]. 这个区间内一共有2^(r-l+1)-1个非空子序列 一个子序列对答案的贡献是其去重后的和 求所有子序列的贡献的和%p 每次的p不一样 输入描述: 第一行两个数n,m第二行n个数表示序列a后面m行每…
链接:https://www.nowcoder.net/acm/contest/58/E 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给你一个长为n的序列a,m次查询区间[l,r]内出现次数第k1小的数中值第k2小的数是多少? 保证输入合法 输入描述: 第一行一个数n第二行n个数表示序列a第三行一个数m之后m行每行四个数表示l r k1 k2 输出描述: 对于每次询问输出一行一个数表示答…
链接:https://www.nowcoder.com/acm/contest/59/E 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给你一个长为n的序列a 定义f(i,j)=(i-j)2+g(i,j)2 g是这样的一个函数 求最小的f(i,j)的值,i!=j 输入描述: 第一行一个数n之后一行n个数表示序列a 输出描述: 输出一行一个数表示答案 输入例子: 4 1 0 0 -1 输出例…
点此看题面 大致题意: 每次问你树上两点之间路径中有多少种颜色,每次询问可能会将一种颜色\(a\)看成\(b\). 树上莫队 这题是一道树上莫队板子题. 毕竟求区间中有多少种不同的数是莫队算法的经典应用啊. 关于将颜色\(a\)看成\(b\) 这操作其实很好处理. 只要判断\(cnt_a\)和\(cnt_b\)是否同时\(>0\)即可. 但要注意特判\(a==b\)的情况. 代码 #include<bits/stdc++.h> #define N 50000 #define Q 1000…
点此看题面 大致题意: 一棵树,每个节点有一个人,他打水需要\(T_i\)的时间,每次询问两点之间所有人去打水的最小等待时间. 伪·强制在线 这题看似强制在线,但实际上,\(pre\ mod\ 2\)只能为\(0\)或\(1\),因此只要将两种情况下的答案都求出来,最后视情况输出即可. 这样就可以用离线算法乱搞了. 树上莫队+树状数组 其实,这道题是可以用树上莫队来做的. 考虑当前已有若干人要去打水,现在新加入一个人,他的打水时间为\(x\),求改变的贡献值. 显然,根据贪心的思想,我们应让打水…
题意:给一个树图,每个点的点权(比如颜色编号),m个询问,每个询问是一个区间[a,b],图中两点之间唯一路径上有多少个不同点权(即多少种颜色).n<40000,m<100000. 思路:无意中看到树上莫队,只是拿来练练,没有想到这题的难点不在于树上莫队,而是判断LCA是否在两点之间的路径上的问题.耗时1天. 树上莫队的搞法就是: (1)DFS一次,对树进行分块,分成sqrt(n)块,每个点属于一个块.并记录每个点的DFS序. (2)将m个询问区间用所属块号作为第一关键字,DFS序作为第二关键字…
传送门 题意: 单点修改,求一条链的mex 分块维护权值,$O(1)$修改$O(S)$求mex...... 带修改树上莫队 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; typedef long long ll; ; inline int read(){ ,f=;…
题目大意 给你一棵\(n\)个点的树,每个点有一个颜色\(c_i\),每次给你\(x,y,k\),求从\(x\)到\(y\)的路径上出现次数第\(k\)多的颜色的出现次数 \(n,q\leq 100000\) 题解 树上莫队 先求出这棵树的dfs序(括号序列),记录每个点第一次出现的位置\(st_x\)和最后一次出现的位置\(ed_x\) 若每次询问的\(x,y\)中有一个是另一个的祖先(设\(x\)是\(y\)的祖先),那么就可以视为询问区间\([st_x,st_y]\) 可是一些不在这条链上…
签到题这里久懒得写了. B - 缺失的数据范围 Total Submission(s): 2602    Accepted Submission(s): 559 题意:求最大的N,满足N^a*[log2(N)]^b<=K; 思路:二分即可,log2要手写,然后就是注意判pow是否超过long long. #include<bits/stdc++.h> #define ll long long using namespace std; ; const ll inf=1e18; ll A,B…