基础算法学习 前缀和与差分 问题引入:给出一个长度为n的数组a:a[1], a[2], ..., a[n] 有m次询问 每次询问会给出一个区间[l, r] 请输出:a[l] + a[l+1] + ... + a[r] 如果使用暴力算法,时间复杂度为O(m*(r-l+1)),约为O(mn),算法如下: while(m--){ int l, r; cin >> l >> r; int sum = 0;…
基础算法学习 前缀和与差分 问题引入:给出一个长度为n的数组a:a[1], a[2], ..., a[n] 有m次询问 每次询问会给出一个区间[l, r] 请输出:a[l] + a[l+1] + ... + a[r] 如果使用暴力算法,时间复杂度为O(m*(r-l+1)),约为O(mn),算法如下: while(m--){ int l, r; cin >> l >> r; int sum = 0;…
讨论
登录后参与讨论
还没有评论,来说第一句吧。