摘要:
题目链接 题目大意 有一个矩阵,总共有4种操作 0:清空这个矩阵 1 x y c:将$(x,y)(1 \leq x ,y\leq 10^6)$这个点加上一种颜色c$(0\leq c \leq 50)$(注意是加上,也就是之前的颜色不会被覆盖) 2 x y1 y2:查询左上角为$(1,y1)$,右下角 阅读全文
摘要:
题目链接 思路 首先肯定要树形dp,一直没想到怎么用左偏树。如果不断弹出又不断地合并复杂度不就太高了。瞄了眼题解才知道可以直接用大根树。然后记录出当前这棵左偏树的大小(树里面所有点的薪水之和)以及点的个数。然后不断的删点。直到薪水满足条件为止。 代码 cpp include include incl 阅读全文
摘要:
题目链接 思路 左偏树的模板题,参考左偏树学习笔记 对于这道题我是用一个并查集维护出了哪些点是在同一棵树上,也可以直接log的往上跳寻找根节点 代码 cpp include include include include include include using namespace std; ty 阅读全文
摘要:
题面 T1 思路 考虑一下每个数会与其他位置的哪些数字遇到。显然每隔gcd(n,m,k)个数都会遇到一次。所以只要看一下将给出的所有数字全部对gcd(n,m,k)取模是否能包含从0到gcd(n,m,k) 1的所有数就行了。 代码 cpp include include include include 阅读全文