[题意]给你N个点,N条不同的边,Q次询问,求出u,v之间的最短路. [分析]题意很简单,就是求最短路,但是Q次啊,暴力DIJ?当然不行,观察到这个题边的数目和点的数目是相同的,也就是说这个图是由一棵树加了一条边而形成的.而对于一棵树,如果有Q次询问最短路,那就可以用LCA来做,复杂度QlogN,但是现在加了一条边,可能会使有些点之间的路径变短.假设多加的这条边的两个端点是U,V,那么对于询问的X,Y,有这么三种情况,直接过LCA,或者经过U,V,详情见代码. #include <bits/st…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round2-E.html 题目传送门 - 2018牛客多校赛第二场 E 题意 一棵 $n$ 个结点的树,每个点有一个点权,有 $m$ 次操作,每次操作有三种: 1.  修改一个点的点权 2.  修改一个点的父亲 3.  询问包含某个点的所有大小为 $c$ 的连通块的点权乘积之和. $n,m\leq 100000,c\leq10 $ 题解 以上题解图片摘自 laofu…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4941 解题报告:给你一个n*m的矩阵,矩阵的一些方格中有水果,每个水果有一个能量值,现在有三种操作,第一种是行交换操作,就是把矩阵的两行进行交换,另一种是列交换操作,注意两种操作都要求行或列至少要有一个水果,第三种操作是查找,询问第A行B列的水果的能量值,如果查询的位置没有水果,则输出0. 因为n和m都很大,达到了2*10^9,但水果最多一共只有10^5个,我的做法是直接用结构体存了之后排序,然后m…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-I.html 题目传送门 - 2018牛客多校赛第三场 I 题意 在一个给定的三角形内部随机选择 $n$ 个点,问这些点构成的凸包的期望顶点数. $3\leq n\leq 10$ 题解 首先证明一个结论,对于任意三角形,随机撒 $n$ 个点的期望点数相同. 简单口胡:考虑任意拉扯三角形,三角形内部多边形的凸性都不会改变. 所以,我们只需要随便选择一个三角形…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-G.html 题目传送门 - 2018牛客多校赛第三场 G 题意 给定一个 $n$ 个节点的树,有 $k$ 种颜色. 现在让你给每一个节点都染上一种颜色,总共有 $k^n$ 种方法. 现在问,在所有染色方案中,使得相同颜色点对之间的最短距离为 $D$ 的有多少种方案. 答案对于 $10^9+7$ 取模. $n,k,d\leq 5000$ 题解 首先我们来算…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-D.html 题目传送门 - 2018牛客多校赛第三场 D 题意 给定两个字符串,在根据给定的字符表转成相应的字符之后,问前一个串在后面一个串中匹配了多少次. 一个串在另一个串的某一个位置匹配,当且仅当从该位置起截取长度与那个串相同的一个子串,这个子串与那个串等价. 定义两个串等价,当且仅当这两个串的对应位置的 Ascll 码值相差不大于 1 . 任意一个…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round10-H.html 题目传送门 - https://www.nowcoder.com/acm/contest/148/H 题意 有两只蚂蚁在一个二维平面上走.一开始,他们都在点 $(1,0)$ 的位置. Rikka 布置了三条规定: 1. 第一只蚂蚁不能走过直线 $y=\cfrac{a}{b} x$ . 2. 第二只蚂蚁不能走过直线 $y=\cfrac{c}{…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round10-F.html 题目传送门 - https://www.nowcoder.com/acm/contest/148/F 题意 给定一个完全图 $G$ ,有边权. 定义其线图的一条边的权值为“该边连接的两个点,在原图中对应的边 的权值和”. 在图 $L(G)$ 上,定义 $dis(i,j)$ 为节点 $i,j$ 之间的最短路. 求 $\sum_{i=1}^{n…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round10-D.html 题目传送门 - https://www.nowcoder.com/acm/contest/148/D 题意 多组数据. 给定一个长度为 $n$ 初始全为 $0$ 的数列 $A$ .$m$ 次操作,要求支持以下三种操作. 1. 区间加一个数 $v$ 2. 全局修改,对于每一个 $i$ ,把 $A_i$ 改成原序列前 $i$ 项的和. 3. 区…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round8-H.html 题目传送门 - https://www.nowcoder.com/acm/contest/146/H 题意 有 $n$ 堆石子,第 $i$ 堆有 $a_i$ 个.请你取出尽量多堆石子,使得取石子nim游戏后手必胜.输出你选择的石子堆数. $n,a_i\leq 5\times 10^5$ 题解 首先我们把题转化成:在 $n$ 个数中选择尽量多的…