当前位置: 首页 > article >正文

前缀和 C++

题目:字符串查询

给你单词 SS 和 QQ 个询问。

每次询问,你会得到正整数 A,B,CA,B,C 和 DD。

我们令单词 XX 由 SS 的第 AA 到 BB 个字母组成,单词 YY 由 SS 的第 CC 到 DD 个字母组成。

你需要回答,是否能够重新排列单词 YY 中的字母,得到单词 XX。

输入格式

第一行一个单词 SS,仅由小写字母组成。

第二行一个正整数 QQ。

接下来 QQ 行,每行四个整数 A,B,C,DA,B,C,D。

输出格式

每次询问,如果能,输出 DA,否则输出 NE

输入样例:
kileanimal
2
2 2 7 7
1 4 4 7
输出样例:
DA
NE

#include<iostream>
using namespace std;
#include<vector>
#include<string>
#include<algorithm>

int main()
{
	string str;
	int n = 0, res = 1;
	cin >> str;
	cin >> n;

	vector<vector<int>>ans(str.size() + 1, vector<int>(26, 0));


	for (size_t i = 1; i < str.size(); i++)
	{
		for (size_t j = 1; j < 26; j++)
		{
			ans[i][j] = ans[i - 1][j];
		}
		ans[i-1][str[i] - 'a']++;
	}

	while (n--)
	{
		res = 1;
		int a, b, c, d;
		cin >> a >> b >> c >> d;

		for (int i = 0; i < 26; i++) {
			int x = ans[a][i] - ans[b][i];
			int y = ans[c][i] - ans[d][i];
			if (x != y) {
				res = 0;
				break;
			}
		}
		if (res) {
			cout << "DA";
		}
		else {
			cout << "NE";
		}

	}
	return 0;
}


http://www.kler.cn/a/568295.html

相关文章:

  • 【pytest框架源码分析三】pluggy源码分析之hook注册调用流程
  • WordPress多语言插件GTranslate
  • (17)CT137A- UART串口发送实验
  • 【江科协-STM32】5. 输出比较
  • 当我删除word文件时无法删除,提示:操作无法完成,因为已在Microsoft Word中打开
  • Linux下的网络通信编程
  • 2.8作业
  • 自然语言处理:稠密向量表示
  • 基于PHP和MySQL的用户登录注册系统实现
  • NAT 技术:网络中的 “地址魔术师”
  • Week2 Using the Java Collection Libraries Lecture 2
  • 网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析
  • 哪些方法可以查看drupal版本
  • Python 绘制迷宫游戏,自带最优解路线
  • (学习总结26)Linux工具:make/Makefile 自动化构建、Git 版本控制器 和 gdb/cgdb 调试器
  • 机器学习中的数据预处理
  • Python Web 开发中的 FastAPI 性能瓶颈分析与优化策略
  • DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略
  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(7)
  • 单点登录原理和JWT实现