摘要:
【模板】Link Cut Tree (动态树) "题目传送门" 解题思路 妈妈我终于学会LCT了。 代码如下 cpp include using namespace std; const int N = 300005; int v[N], fa[N], ch[N][2], sum[N]; bool 阅读全文
摘要:
数字计数 "题目传送门" 解题思路 用$dp[i][j][k]$来表示长度为$i$且以$j$为开头的数里$k$出现的次数。 则转移方程式为:$dp[i][j][k] += \sum_{t=0}^{9} dp[i 1][t][k]$,即在每个数前面放一个$j$,但是对于放在前面的这个$j$我们还没有计 阅读全文
摘要:
path "题目传送门" 解题思路 先用vector存图,然后将每个vector按照边的权值从小到大排序。将每个顶点作为起点的边里最短的边存入优先队列。对于存入优先队列的信息,应有边起点,终点,是其起点的第几短边,以及路径总长度。优先队列按照路径长度从小到大排序,每次出队当前最短的路径,对于一条路径 阅读全文
摘要:
array "题目传送门" 解题思路 操作1是把第pos个位置上的数加上$10^7$,操作2是找到区间\[1,r]中没有且大于k的最小的数。注意到k的范围是小于等于n的,且n的范围是$10^5$,远小于$10^7$,所以对于操作1,可以视为把第pos个位置上的数删去。 因为所有节点上的数都是唯一的, 阅读全文