数据结构
luyiming123
初中OIer,水平入门,喜欢数据结构与算法
展开
-
洛谷 P5858 「SWTR-03」Golden Sword 题解
题目地址设dp[i][j]dp[i][j]dp[i][j]表示放入前iii个物品且锅中还有jjj个物品所获得的最大耐久度。很容易推出dp[i][j]=Maxk=j−1k≤min(j+s−1,w)dp[i][j]=Max_{k=j-1}^{k \le min(j+s-1,w)}dp[i][j]=Maxk=j−1k≤min(j+s−1,w){dp[i−1][k]dp[i-1][k]dp[i−1]...原创 2020-03-14 10:40:07 · 533 阅读 · 2 评论 -
洛谷 P1144 最短路计数 题解
原题地址题目大意:给你一个无权无向图,求从1开始到每一个点的最短路有几条。传说中的图论入门题啊…bfs反着搜,珂以求出每个点到1的距离,第iii个点到1的距离用disidis_idisi表示。设f[i]f[i]f[i]为第iii个点的答案。第iii个点的最短路一定是由x∣x∈son[i],dis[x]+1=dis[i]x|x\in son[i],dis[x]+1=dis[i]x∣x∈s...原创 2020-02-29 18:44:14 · 359 阅读 · 1 评论 -
树状数组
什么是树状数组?用数组模拟树形结构。可以解决的问题每次随机给一个数加上一个增量deltadeltadelta,随机求区间[l,r][l,r][l,r]的和,即∑i=lrai\sum_{i=l}^ra_i∑i=lrai各种各样的区间问题。树状数组能解决的,线段树都能解决,只不过有时树状数组的常数很小,所以对于有些问题可以踩爆线段树(滑稽保命)。时间?修改和查询都为O(log2n)...原创 2020-02-25 09:25:17 · 144 阅读 · 1 评论