社区讨论

这两种写法有什么区别?

P3287[SCOI2014] 方伯伯的玉米田参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@locszafe
此快照首次捕获于
2023/10/30 19:14
2 年前
此快照最后确认于
2023/11/05 05:55
2 年前
查看原帖
RT
写法一(AC)
CPP
inline void add(int x, int d, int s) {
	for ( ; x <= maxv + k; x += lowbit(x))
		for (int i = s; i <= k + 1; i += lowbit(i))
			f[x][i] = max(f[x][i], d);
	return ;
}
写法二(WA)
CPP
inline void add(int x, int d, int s) {
	for ( ; x <= maxv + k; x += lowbit(x))
		for ( ; s <= k + 1; s += lowbit(s)) 
			f[x][s] = max(f[x][s], d);
	return ;
}
两种写法,感觉意思是一样的,但是第一种写法就过了,第二种样例输出 22 。不知道为什么,希望有大佬能指点一下
谢谢

回复

4 条回复,欢迎继续交流。

正在加载回复...