cf 923D Picking Strings

【一文读懂】NTN(非地面网络)技术介绍 NTN,即非地面网络,是指利用卫星、高空平台(如无人机、平流层气球等)等非地面通信基础设施来实现全球通信覆盖的网络。在5G时代,NTN主要基于5G标准,特别是5G NR(New Radio)技术,通过卫星通信扩展地面网络的覆盖范围和服务能力。NTN技术的出现和发展,为全球通信带来了新的可能性和挑战。通过不断的技术创新和标准化推进,NTN有望在未来发挥更加重要的作用,为全球用户提供无处不在的通信服务。随着6G时代的到来,我们有理由相信NTN技术将迎来更加广阔的发展前景。 阅读详情

一 原题

E. Picking Strings
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Alice has a string consisting of characters 'A', 'B' and 'C'. Bob can use the following transitions on any substring of our string in any order any number of times:

  • A  BC
  • B  AC
  • C  AB
  • AAA  empty string

Note that a substring is one or more consecutive characters. For given queries, determine whether it is possible to obtain the target string from source.

Input

The first line contains a string S (1 ≤ |S| ≤ 105). The second line contains a string T (1 ≤ |T| ≤ 105), each of these strings consists only of uppercase English letters 'A', 'B' and 'C'.

The third line contains the number of queries Q (1 ≤ Q ≤ 105).

The following Q lines describe queries. The i-th of these lines contains four space separated integers ai, bi, ci, di. These represent the i-th query: is it possible to create T[ci..di] from S[ai..bi] by applying the above transitions finite amount of times?

Here, U[x..y] is a substring of U that begins at index x (indexed from 1) and ends at index y. In particular, U[1..|U|] is the whole string U.

It is guaranteed that 1 ≤ a ≤ b ≤ |S| and 1 ≤ c ≤ d ≤ |T|.

Output

Print a string of Q characters, where the i-th character is '1' if the answer to the i-th query is positive, and '0' otherwise.

Example
input
Copy
AABCCBAAB
ABCB
5
1 3 1 2
2 2 2 4
7 9 1 1
3 4 2 3
4 5 1 3
output
10011
Note

In the first query we can achieve the result, for instance, by using transitions .

The third query asks for changing AAB to A — but in this case we are not able to get rid of the character 'B'.


二 分析

题意:给你两个长度不超过1e5的字符串S和T,只包含'A','B','C'。可以有4种对子串的操作:1)A->BC,2)B->AC,3)C->AB,4)AAA->empty。接着给Q个查询(Q<=1e5),每次查询指定S和T各自的一个子串,问能否使用上述四种操作把S的子串转换为T的子串。

分析:两个观察:1)操作中,BC字符的个数是不减的,而且每次增加的单位是2;2)B->C,C->B,B->AB,BA->B,所以如果两个非空串都不以A结尾,它们可转换等价于目标串中BC的个数比起始串多偶数个。所以我们可以集中考虑后缀全为A的串转换的条件,首先:1)如果目标串A后缀的长度大于起始串,无解;2)如果目标串A后缀长度大于起始串,有两种情况都可以转化,一是起始串BC的数量严格小于目标串,而是A正好多了3k个。等于的情况就不用说了,注意一下起始串全为A的特例。


三 代码

#include <cstdio>
#include <cstring>
#include <algorithm>

using std::min;

const int maxn = 1e5 + 5;

char s[maxn], t[maxn];
int ls, lt, sum[4][maxn];

int main() {
    scanf("%s%s", s + 1, t + 1);
    ls = strlen(s + 1);
    lt = strlen(t + 1);
    for (int i = 1; i <= ls; i++) {
        sum[0][i] = (s[i] != 'A')? sum[0][i-1]+1: sum[0][i-1];
        sum[2][i] = (s[i] == 'A')? sum[2][i-1]+1: 0;
    }
    for (int i = 1; i <= lt; i++) {
        sum[1][i] = (t[i] != 'A')? sum[1][i-1]+1: sum[1][i-1];
        sum[3][i] = (t[i] == 'A')? sum[3][i-1]+1: 0;
    }
    int kase, a, b, c, d;
    scanf("%d", &kase);
    while (kase--) {
        scanf("%d%d%d%d", &a, &b, &c, &d);
        int x = sum[0][b] - sum[0][a-1];
        int y = sum[1][d] - sum[1][c-1];
        int z = min(sum[2][b], b - a + 1);
        int w = min(sum[3][d], d - c + 1);
        // number of B and C can only increase by 2
        if (x > y || (y - x) % 2 != 0) { printf("0"); continue; }
        // take care of case when string is all A
        if (z < w) printf("0");
        else if (z == w) {
            if (z == (b-a+1) && w != (d-c+1)) printf("0");
            else printf("1");
        }
        else {
            if ((y - x) / 2 != 0) printf("1");
            else if ((z - w) % 3 == 0) printf("1");
            else printf("0");
        }
    }
    return 0;
}


RK3568平台(电源篇)电源域IO配置 在kernel之前需要修改电源域,主控电源域的IO电平要与对接外设芯片的IO电平匹配,还要注意软件的电压配置要跟硬件的电压一致,否则,最坏的情况可能会导致IO的损坏。其实就是管理 IO 输出的电平;假如硬件上 IO 电源域配置为 3.3V,则 IO 输出最大电平为 3.3V;同理 IO 电源域硬件配置为 1.8V,则 IO 输出最大电平是 1.8V;这样有利于 IO 电平的灵活配置; 阅读详情

相关推荐

【模拟IC】从VCD到VEC:Cadence数模混合仿真中高效激励转换与HSIM工具链实战

本文详细解析了在Cadence数模混合仿真中,如何利用HSIM工具链的vcd2vec命令,将数字仿真生成的VCD文件高效转换为模拟仿真器所需的VEC格式激励文件。文章提供了从VCD文件预处理、io_top.sig文件编写、核心命令参数详解到Cadence ADE环境集成验证的全链路实战指南,并分享了自动化脚本方案,旨在解决数模混合验证中的“语言不通”难题,提升仿真效率。

k9l0m1的博客 121

[CF923D]Picking Strings

题目 传送门 to CF 题意概要 对于一个字符串,你可以进行任意次操作,每次选中一个子串,应用如下变换规则: 如果该子串为 AAA ,将其用 BCBCBC 替换。 B→ACB\rightarrow ACB→AC (此处为简写,下同) C→ABC\rightarrow ABC→AB AAA→ØAAA\rightarrow\text{\O}AAA→Ø (其中 Ø\text{\O}Ø 为空串) 否则...

七代目鸽影 296

别再一个个BAPI调了!用CVI_EI_INBOUND_MAIN一次性搞定SAP BP主数据(附完整ABAP代码)

本文详细介绍了如何使用SAP标准函数CVI_EI_INBOUND_MAIN高效维护业务伙伴(BP)主数据,替代传统的多BAPI调用方式。通过完整ABAP代码示例,展示了如何一站式处理供应商、客户、公司代码等所有视图的创建与更新,提升数据一致性和开发效率。

weixin_29204205的博客 294

cf923D Picking Strings

题目给出的条件:A-&gt;BCB-&gt;ACC-&gt;AB我们可以通过推理获得三个式子:A-&gt;BBB&lt;-&gt;AB(这意味着B之前可以增加或者减少任意个A)B&lt;-&gt;C(可以把所有的C看成B,因为它们能互相转化)证明如下:1.首先有B-&gt;AC-&gt;AAB   所以B-&gt;AAB-&gt;AAAAB-&gt;AB-&gt;AAAB-&gt;B故B&

qq_38485742的博客 343

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 404

PCB光绘文件DFM检查:从Gerber验证到制造闭环

Gerber文件是PCB设计交付制造的核心数据载体,其准确性直接决定硬件可制造性与量产良率。理解Gerber格式规范、IPC网表比对原理及DFM(Design for Manufacturability)自动检测逻辑,是电子工程师保障设计落地的关键能力。通过电气连通性验证、物理DRC规则扫描与工艺兼容性分析,DFM工具能提前识别开路、短路、孔环不足、阻焊异常等典型问题,避免投板后返工甚至批量报废。在国产化替代趋势下,华秋DFM等平台已深度适配Altium Designer工作流,支持一键导入、智能报告与协同

weixin_42620563的博客 507

【CodeForces 797C】Minimal string(贪心+字符串)

C. Minimal string time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Petya recieved a gift of a string s with length

FSMM_blog 761

数据库常见面试题(附答案)

1.事务四大特性 原子性,要么执行,要么不执行 隔离性,所有操作全部执行完以前,其它会话不能看到过程 一致性,事务前后,数据总额一致 持久性,一旦事务提交,对数据的改变就是永久的 2.数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别 脏读:事务B读取事务A还没有提交的数据 不可重复读:两次事务读的数据不一致 幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看...

csdn问鼎 46万+

Codeforces 598B Queries on a String 【水题】

B. Queries on a String time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given a string s and should

世界很大 1285

最佳RANSAC算法拟合矩形的实现(基于PCL库)

最佳RANSAC算法是一种常用的参数估计方法,用于从数据集中拟合出最佳的模型。在计算机视觉和图像处理领域,最佳RANSAC算法常用于拟合几何形状,如矩形。本文将详细介绍如何使用点云库(PCL)中的最佳RANSAC算法来拟合矩形,并提供相应的源代码。

JbPatch的博客 1541

AI Agent智能体在Android开发中的应用

本文探讨了AIAgent(智能代理体)在Android开发中的应用,涵盖技术原理、实践案例与未来趋势。AIAgent通过机器学习、自然语言处理等技术实现代码生成、测试自动化及性能优化,显著提升开发效率。例如,强化学习模型可优化APP响应时间(公式:$\text{响应时间}=f(\text{负载},\text{资源})$),自动化测试覆盖率提升至95%。

郑伟强dev的专栏 124

VK Cup 2018 Round 1: D. Picking Strings

D. Picking Stringstime limit per test 2 seconds memory limit per test 256 megabytesinput  standard inputoutput  standard outputAlice has a string consisting of characters 'A', 'B' and 'C'. Bob can use...

加载中... 422

如何解除Uniaccess管控??

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2386

CF923D Picking Strings

一、题目 点此看题 二、解法 智商题,像我这种蒟蒻怎么想得出来…???? 第一步就是手玩,看你的想象力丰不丰富了,可以手van\text{van}van出这样一些结论: B->AC->AAB->AAAC->C->AB->AAC->AAAB->B,这说明了B,C等价,原串中只需考虑两个字符 B->AB->AAB->AAAB->B,这...

C202044zxy的博客 250

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Codeforces Round #470 D Picking Strings

题目链接:https://codeforces.com/contest/947/problem/D 题意:给定两个由A、B、C三个字母组成的串S、T,以及一系列串上的操作,给出Q的询问,询问S[ a, b]可否经过一系列操作生成T[ c, d]。 思路:根据数据规模,必须要离线构建一些东西来解决该问题。 首先,观察给出的操作,可以发现如下规律: 1. C和B可以相互转化 2. B之前的A...

LFhase‘s Blog 528

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Codeforces #470 Div. 2 E】Picking Strings

problem outputstandard output Alice has a string consisting of characters ‘A’, ‘B’ and ‘C’. Bob can use the following transitions on any substring of our string in any order any number of times: A ...

路人黑的纸巾 578

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[ 杂题 ] Codeforces923D Picking Strings

先瞎JB推一下,得到一些结论: B→AC→AAB→AAAC→CB→AC→AAB→AAAC→CB\rightarrow AC \rightarrow AAB \rightarrow AAAC \rightarrow C ,反过来也成立,得出 BBB 和 CCC 是等价的,可以将所有 BBB 看成 CCC 。 C→AC→AAC→CC→AC→AAC→CC\rightarrow AC \righ...

gjghfd 355

栈实现行编程序

给大家推荐个靠谱的公众号程序员探索之路,大家一起加油  #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #include&lt;iostream&gt; #include&lt;stack&gt; using namespace std; main() {  char a[100],b[100...

yueloveme的博客 639

【CodeForces】947 D. Picking Strings

【题目】D. Picking Strings 【题意】给定只含'A','B','C'的字符串,支持以下变换:1.A - BC 2.B - AC 3.C - AB 4.AAA - empty string(左边变成右边) 给定S串和T串,q次询问,每次给出S串的一个子串x和T串的一个子串y,求x是否能变到y。n,m,q<=10^5。 【算法】模拟??? 【题解】观察一些规律...

weixin_34326179的博客 178

2018SCUACM Training1 贪心

点击打开 2018SCUACM Training1 贪心 A - LiAlH4的字符串 追求完美的LiAlH4定义了一个叫字符串完美度的东西。字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由他自己来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。 LiAlH4不在乎字母大小写。(也就是说字母F和f)的完美度相同。现在给你一个字符串,

w865629524的博客 974

CF 245H. Queries for Number of Palindromes 区间dp

H. Queries for Number of Palindromes time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standard output You've got a string s 

便纵有千种风情 448

4-7终极无敌DP乱秀

DP练习赛 维持10h的DP练习赛终于结束了,由于鄙人学艺不精,只AC了两道题,特此记录; 声明:所有主人公都由我的儿子mht出演 T1 免费馅饼 天上掉馅饼本指天空中降落类似馅饼那样的即免费又好吃的食物,泛指在自然生活中会无缘无故的发生一些可以满足人们欲望的物质或财富上面的事情;现在也贬指那些坐享其成,成天不务实际的人在假想一些不可能发生的事情,等待出现奇迹,天上怎么可...

Sunset愣的博客 357

codeforces E. Picking Strings 构造

题目链接 Picking String 题意 给出字符串S和T,1e5个询问,每次询问S的一段区间是否能转变成T的一段区间。 转变方式: A&gt;BCA&gt;BCA>BC B&gt;ACB&gt;ACB>AC C&gt;ABC&gt;ABC>AB AAAAAAAAA可以消除 题解 我们从以上四个条件出发推导出更加精华的条件 B&gt;AC&gt;AAB&gt;...

SUNSET 581

ZLOJ 最小串

题目描述 输入一个字符串s(1 ≤ |s| ≤ 105),你现在还有两个空字符串t,u。每次可以进行下列操作之一: 1 将s的第一个字符拿走,添加到t的尾部。 2 将t的最后一个字符拿走,添加到u的尾部。 你的目标是,经过2|s|次操作后,s,t为空串,并且u的字典序最小。 输入 一行,一个字符串s(1 ≤ |s| ≤ 105)。s只包含小写英文字母。 输出 你得到的字典序最小的u 样例输入 In...

Schwarzkopf_C的博客 470

cf 923C Perfect Security

一 原题 C. Perfect Security time limit per test 3.5 seconds memory limit per test 512 megabytes input standard input output standard output Alice has a very important

max_kibble的博客 1497

cf 923B Producing Snow

一 原题 C. Producing Snow time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Alice likes snow a

max_kibble的博客 1336
上一篇: cf 923C Perfect Security
下一篇: cf 940E Cashback
max_kibble
博客等级 码龄11年 2粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值