LOJ6284 数列分块入门 8
标签
- 分块入门
前言
- 我的csdn和博客园是同步的,欢迎来访danzh-博客园~
简明题意
- 维护序列,支持两种操作:
- 查询区间中某种权值的出现次数
- 将整个区间[l,r]全部改为c
思路
- 这个暴力得想不到呀。
- 真的很暴力,实际上开一个数组去维护一下每一块的值是否是一样的,再开一个数组记录如果某一块的值相同那么这个值是多少。然后就很简单了惹
注意事项
- 无
总结
- 无
AC代码
#pragma GCC optimize(2)
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
const int maxn = 1e5 + 10;
int read()
{
int x = 0, f = 1; char ch = getchar();
while (ch<'0' || ch>'9') {
if (ch == '-')f = -1; ch = getchar(); }
while (ch >= '0'&&ch <= '9') {
x = x * 10 + ch - '0'; ch =