![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前缀和
文章平均质量分 58
冷月残星
这个作者很懒,什么都没留下…
展开
-
区间问题,前缀和(Olympiad,HDU 5327)
题目链接: https://vjudge.net/problem/HDU-5327 如果数据不是很大的话,那就考虑暴力前缀和吧,又快又好。 数位DP不熟练。 代码 #include #include using namespace std; const int maxn = 1000010; int sum[maxn]; int vis[10]; int cul(原创 2017-06-06 13:51:45 · 594 阅读 · 0 评论 -
前缀和,枚举+递推(Average,HDU 5353)
有n个节点,1 瞬间就想起了 Money Transfers 这类问题一般都可以转化为环的切割,如何求出切割呢? 可以求一个前缀和,如果sum[j]==sum[i](i 我们会找到很多个sum的值,每一种值对应一个切割方法,值所对应的的多个节点就都是切割点。 在本题我们就通过前缀和找到所有切割,然后对于每一段,可以直接贪心模拟看看是否ok。 看了下官方题解原创 2017-07-12 13:23:18 · 288 阅读 · 0 评论 -
前缀和,LCA(CRB and Tree,HDU 5416)
首先要知道 树上最短路公式(树上两点间距离公式): 记dis[u]为根节点到u节点的距离。 dist(u,v) = dis[u] + dis[v] - 2 * dis[lca(u, v)] 如果距离的定义改为异或和。 那么公式就改为 dist(u,v) = dis[u] ^ dis[v] 剩下的问题就比较好解决了。 值得注意的是计算无序对的时候,有时原创 2017-07-23 09:49:42 · 284 阅读 · 0 评论