10 2021 档案

摘要:题目链接 #解题思路 题目的问法很明显是虚树题的问法。根据询问点建虚树,因为虚树不止有询问的点,还有他们的lca,所以先对建出来的虚树预处理出来虚树上每个点离他最近的议事处的距离和点的编号(自己就是议事处肯定就是自己,主要是对增加的lca进行处理)。因为最近的点可能来自下面的点也可能是上面的点,所以 阅读全文
posted @ 2021-10-19 21:22 shuitiangong 阅读(64) 评论(0) 推荐(0)
摘要:题目链接 #题目大意 给你一棵以1为根的树,有三种操作: 1:把树的根改为v。 2:找到包含u和v的最小子树,给他们都加上x。 3:查询以v为根的子树的总和。 #解题思路 首先先考虑第3个操作,固定1号点为根,记录一下当前的根是哪个点,询问时,如果询问的是新根,就是整棵子树的值。如果询问的点v在当前 阅读全文
posted @ 2021-10-19 20:10 shuitiangong 阅读(60) 评论(0) 推荐(0)
摘要:#解题思路 拆位高斯消元求概率dp。设f[i]表示从i异或到点n结果为1的概率,状态转移方程就是$f[i] = \sum {f[v]/d[i]}(边权为0) + \sum{(1-f[v])/d[i]}(边权为1)$。由于给的是无向图,所以转移的顺序不好确定,可以用高斯消元解出每位从点1到点n异或值为 阅读全文
posted @ 2021-10-08 14:41 shuitiangong 阅读(62) 评论(0) 推荐(0)
摘要:题目链接 #解题思路 本题的重点就是把环从路径中拿出来单独考虑,如果给你一条1到n的路径,让你往路径上加环,使得结果最大的话,相当于求几个数的子序列的最大异或和,很明显可以用线性基来做。 我们在dfs过程中存一下1号点到当前点的异或值dis[i],如果遇见了一个环,那么根据异或的性质(a xor b 阅读全文
posted @ 2021-10-08 04:42 shuitiangong 阅读(49) 评论(0) 推荐(0)
摘要:题目链接 #题目大意 给你两棵以1为根的树,让你选一个集合,这个集合中的点在第一棵树中互为父子关系,且是连通的,在第二棵树中互相都不是父子关系。 #解题思路1 对于第一棵树,很明显集合中的元素在其中是一条链中的一个子段。我们在dfs第一棵树的时候,考虑从根节点1到当前节点u的一条链,链上的的点的深度 阅读全文
posted @ 2021-10-02 21:17 shuitiangong 阅读(59) 评论(0) 推荐(0)