您当前的位置: 首页 > 

对方正在debug

暂无认证

  • 3浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Stone Age Problem(思维/差分思想/好题)

对方正在debug 发布时间:2022-05-16 22:29:24 ,浏览量:3

题目 题意:给定n个数,有q次查询,有两种操作

  • 选择一个点并修改它的值为一个新的数
  • 将所有值改为一个新的数

求每次修改后的数组总和。

思路:维护每个点的修改时间戳,以及修改所有点的整体的时间戳。 对于只修改一个点的情况,对于总和 s u m sum sum,我们只需要考虑较上次的总和,当前点的变化;对于修改所有点的情况,我们全量更新总和即可。详见代码

#include  
using namespace std;
#define ll long long
const int maxn = 200010;

int n, q, op, pos, x;
struct node {
	int val; // 取值 
	int ts; // 时间戳 
}a[maxn], all;
void solve() {
	scanf("%d%d", &n, &q);
	ll sum = 0;// 总和 
	for (int i = 1; i             
关注
打赏
1664895754
查看更多评论
0.0375s