用户工具

站点工具


2020-2021:teams:famerwzyyuki:2020_05_09

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:famerwzyyuki:2020_05_09 [2020/05/15 14:54]
yuki
2020-2021:teams:famerwzyyuki:2020_05_09 [2020/05/15 19:32] (当前版本)
yuki
行 27: 行 27:
 **B:**签到题\\ **B:**签到题\\
  
-**C:**+**C:**\\ 
 +题意:给定一个二进制表示的n,让你找满足如下要求的数对(i,j)的个数 
 +$0 \leqslant j \leqslant i \leqslant n$ 
 +$ i & n = i $ 
 +$ i & j = 0 $ 
 + 
 +思路:打表发现对于单个i满足上述规律的j的数量为$2^{(num \ of \ 0 \ in(i)_2)}$ 
 +因此对着n的二进制可以从后往前dp计算每一位能够贡献出多少个i,这些i能够贡献出多少0
  
 **D:**\\ **D:**\\
行 41: 行 48:
 就可以求了\\ 就可以求了\\
 最后吐槽一下 这道题的模数p居然不是个质数!!!!! 最后吐槽一下 这道题的模数p居然不是个质数!!!!!
 +
 +**E:**\\
 +题意:定义一个multiset的权值为里面任意两个数的异或和的平方的和。\\
 +现在给出一棵有根树(1为根),每个点有点权,定义p(x,​k)为x子树中距离x不超过k的所有点的点权构成的multiset的权值,现在要对每个i∈[1,​n]求p(i,​k)
 +
 +思路:
  
 **F:**\\ **F:**\\
行 48: 行 61:
 当\(a\le \sqrt{n}\)时: ​  ​\(\left \lfloor \log_{a} b \right \rfloor\)至多有\(\log n\)种取值,枚举即可\\ 当\(a\le \sqrt{n}\)时: ​  ​\(\left \lfloor \log_{a} b \right \rfloor\)至多有\(\log n\)种取值,枚举即可\\
 当\(a> \sqrt{n}\)时:​ \(\left \lfloor \log_{a} b \right \rfloor=1\) 可以直接求和\\ 当\(a> \sqrt{n}\)时:​ \(\left \lfloor \log_{a} b \right \rfloor=1\) 可以直接求和\\
 +
 +**G:**\\
 +线段树水题
 +
 +**H:**\\
 +题意:给出一张图,有x条无向边,有y条有向边,保证无向边都是正权值,有向边可能有负权值,并且保证如果一条有向边ai→bi,那么在该图中,bi不可能到达ai现在询问从s出发到任意一点的最短路。
 +
 +思路:把无向边连成的每个联通块看成一个新点,并且有有向边将他们连接起来是一个DAG。并且无向图的连通块里面没有负权边,可以跑dijkstra,然后根据拓扑序dp一下即可。每次dijkstra开始要把与上一层的连通块有边的点都压入栈中。(详细见代码...)
 +
 +AC代码:[[https://​paste.ubuntu.com/​p/​xxHYmNthqc/​]]
 +
 +**I:**\\
 +题意:进制转换\\
 +题解:由于使用c++需要高精度,所以此题使用了python\\
 +
 +**J:**\\
 +
 +**K:**\\
 +题意:求两个矩阵的最大子矩阵,每个n*m的矩阵中填满互不相同的1-n*m的数。\\
 +题解:1.求某个矩阵的某个位置最多向上延申多少,再对每一行用单调栈求解
 +
 +**L:**
 +
 +**M:**
 +
 +**N:**签到题
 +
2020-2021/teams/famerwzyyuki/2020_05_09.1589525668.txt.gz · 最后更改: 2020/05/15 14:54 由 yuki