不能算解析的解析

很神仙的题

知道做法后很容易实现

这里不写题解

推荐一个:4417. 【HNOI2016模拟4.1】神奇的字符串

感谢写此博文的神犇!

\(Code\)

#include<cstdio>
using namespace std; const int N = 1e5 + 5;
int n , m , q , A , B , P , l[N] , r[N] , s[N] , size = 1 , seg[64 * N][3];
char str[N]; int New(int k , int x){if (!seg[k][x]) seg[k][x] = ++size;} void update(int x , int y , int v , int l , int r , int k)
{
if (x <= l && r <= y)
{
seg[k][2] += v;
return;
}
int mid = (l + r) >> 1;
if (x <= mid) New(k , 0) , update(x , y , v , l , mid , seg[k][0]);
if (y > mid) New(k , 1) , update(x , y , v , mid + 1 , r , seg[k][1]);
} int query(int x , int l , int r , int k)
{
if (l == r) return seg[k][2];
int mid = (l + r) >> 1;
if (x <= mid) return seg[k][2] + query(x , l , mid , seg[k][0]);
else return seg[k][2] + query(x , mid + 1 , r , seg[k][1]);
} int main()
{
scanf("%d%d%d%d%d" , &n , &A , &B , &P , &m);
scanf("%s" , str);
for(register int i = 0; i <= m - 1; i++)
{
s[i] = str[i] - '0';
if (s[i] == 0) l[i] = P , r[i] = n - 1;
else l[i] = 0 , r[i] = P - 1;
l[i] = ((l[i] - A * i) % n + n) % n , r[i] = ((r[i] - A * i) % n + n) % n;
if (l[i] <= r[i]) update(l[i] , r[i] , 1 , 0 , n - 1 , 1);
else update(l[i] , n - 1 , 1 , 0 , n - 1 , 1) , update(0 , r[i] , 1 , 0 , n - 1 , 1);
}
scanf("%d" , &q);
char op[10];
int p;
for(; q; q--)
{
scanf("%s%d" , op , &p);
if (op[0] == 'Q') printf("%d\n" , query((A * p + B) % n , 0 , n - 1 , 1));
else{
if (l[p] <= r[p]) update(l[p] , r[p] , -1 , 0 , n - 1 , 1);
else update(l[p] , n - 1 , -1 , 0 , n - 1 , 1) , update(0 , r[p] , -1 , 0 , n - 1 , 1);
if (s[p] == 0) l[p] = 0 , r[p] = P - 1;
else l[p] = P , r[p] = n - 1;
l[p] = ((l[p] - A * p) % n + n) % n , r[p] = ((r[p] - A * p) % n + n) % n;
if (l[p] <= r[p]) update(l[p] , r[p] , 1 , 0 , n - 1 , 1);
else update(l[p] , n - 1 , 1 , 0 , n - 1 , 1) , update(0 , r[p] , 1 , 0 , n - 1 , 1);
s[p] ^= 1;
}
}
}

JZOJ 4417. 【HNOI2016模拟4.1】神奇的字符串的更多相关文章

  1. JZOJ【NOIP2013模拟联考14】隐藏指令

    JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...

  2. ZUFE2481 神奇的字符串 2017-05-12 16:41 39人阅读 评论(0) 收藏

    2481: 神奇的字符串 时间限制: 3 Sec  内存限制: 256 MB 提交: 8  解决: 3 [提交][状态][讨论版] 题目描述 输入 输出 样例输入 abcb 1000 1100 350 ...

  3. [jzoj 5664] [GDOI2018Day1模拟4.6] 凫趋雀跃 解题报告(容斥原理)

    interlinkage: https://jzoj.net/senior/#contest/show/2703/3 description: solution: 考虑容斥原理,枚举不合法的走的步数 ...

  4. [jzoj 6101] [GDOI2019模拟2019.4.2] Path 解题报告 (期望)

    题目链接: https://jzoj.net/senior/#main/show/6101 题目: 题解: 设$f_i$表示从节点$i$到节点$n$的期望时间,$f_n=0$ 最优策略就是如果从$i, ...

  5. [jzoj 6093] [GDOI2019模拟2019.3.30] 星辰大海 解题报告 (半平面交)

    题目链接: https://jzoj.net/senior/#contest/show/2686/2 题目: 题解: 说实话这题调试差不多花了我十小时,不过总算借着这道题大概了解了计算几何的基础知识 ...

  6. [jzoj 6080] [GDOI2019模拟2019.3.23] IOer 解题报告 (数学构造)

    题目链接: https://jzoj.net/senior/#main/show/6080 题目: 题意: 给定$n,m,u,v$ 设$t_i=ui+v$ 求$\sum_{k_1+k_2+...+k_ ...

  7. [jzoj 6092] [GDOI2019模拟2019.3.30] 附耳而至 解题报告 (平面图转对偶图+最小割)

    题目链接: https://jzoj.net/senior/#main/show/6092 题目: 知识点--平面图转对偶图 在求最小割的时候,我们可以把平面图转为对偶图,用最短路来求最小割,这样会比 ...

  8. [jzoj 6086] [GDOI2019模拟2019.3.26] 动态半平面交 解题报告 (set+线段树)

    题目链接: https://jzoj.net/senior/#main/show/6086 题目: 题解: 一群数字的最小公倍数就是对它们质因数集合中的每个质因数的指数取$max$然后相乘 这样的子树 ...

  9. [jzoj 4528] [GDOI2019模拟2019.3.26] 要换换名字 (最大权闭合子图)

    题目链接: https://jzoj.net/senior/#contest/show/2683/0 题目: 题解: 不妨枚举一个点,让两颗树都以这个点为根,求联通块要么点数为$0$,要么包括根(即联 ...

  10. [jzoj 6087] [GDOI2019模拟2019.3.26] 获取名额 解题报告 (泰勒展开+RMQ+精度)

    题目链接: https://jzoj.net/senior/#main/show/6087 题目: 题解: 只需要统计$\prod_{i=l}^r (1-\frac{a_i}{x})$ =$exp(\ ...

随机推荐

  1. 更换linux的开机启动图片, 启动主题

    简述 之前就想更改开机的启动图片,但是后来简单查了一下,说要重新编译内核,听到编译我就望而却步了,今天发现只是个命令而已,注意这里我用的是 linux mint .这里更改不是 grub 主题, 是 ...

  2. [Kogel.Subscribe.Mssql]SQL Server增量订阅,数据库变更监听

    此框架是SQL Server增量订阅,用来监听增删改数据库数据变更 目前仅支持SQL Server,Nuget上可以下载安装 或者使用Nuget命令添加包 dotnet add package Kog ...

  3. MybatisPlus多表连接查询一对多分页查询数据

    一.序言 在日常一线开发过程中,多表连接查询不可或缺,基于MybatisPlus多表连接查询究竟该如何实现,本文将带你找到答案. 在多表连接查询中,既有查询单条记录的情况,又有列表查询,还有分页查询, ...

  4. 【Java EE】Day05 JDBC概念、对象、控制事务

    一.基本概念 1.概念 Java Database Connectivity:Java数据库连接 2.本质 SUN公司提供的操作所有关系型数据库的规则,是一套接口 各厂商实现此接口,提供相应的驱动ja ...

  5. 【Day03】Spring cloud:源码讲解与容器化初探

    今日内容 原理和源码 容器化过度 一.Naocs 1.介绍 server端 启动入口类(Spring Boot项目,提供8848端口的监听访问) 源码包含InstanceController类(ser ...

  6. 漫谈计算机网络:番外篇 ------网络安全相关知识——>公钥与私钥、防火墙与入侵检测

    <漫谈计算机网络>上次已经完结啦,今天出一个番外篇! 2022-12-06 今天我们来聊一聊网络安全 废话不多说直接进入正题 网络安全问题概述 计算机网络面临的安全性威胁 两大类威胁:被动 ...

  7. 论文解读(PCL)《Probabilistic Contrastive Learning for Domain Adaptation》

    论文信息 论文标题:Probabilistic Contrastive Learning for Domain Adaptation论文作者:Junjie Li, Yixin Zhang, Zilei ...

  8. 使用NPOI core插入图片

    闲的无聊,封装一个NPOI core插入图片,下面贴上代码,有注释,我就不讲解了 public class ExcelHelper { /// <summary> /// excel插入图 ...

  9. python Flask 操作数据库

    Flask数据库 转载:Flask数据库 - 苦行僧95 - 博客园 (cnblogs.com) Flask-SQLAlchemy Flask-SQLAlchemy是在Flask中操作关系型数据库的拓 ...

  10. [图像处理] YUV图像处理入门5

    12 yuv420转换为rgb(opencv mat) yuv格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式,而且自己造轮子工作量太大.因此通常都会将yuv转换为rgb, ...