QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#642644#8521. Pattern Search IIGrand_ElfCompile Error//C++171.4kb2024-10-15 15:27:092024-10-15 15:27:10

Judging History

你现在查看的是最新测评结果

  • [2024-10-15 15:27:10]
  • 评测
  • [2024-10-15 15:27:09]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

const int N = 150005;
const int C = 32;

int n, ans, len[C], pre[C][N], cntp[C][N], suf[C][N], cnts[C][N];
string s;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	len[0] = len[1] = 1;
	for (int j = 2; j < C; j++) {
		len[j] = len[j - 1] + len[j - 2];
	}
	cin >> s;
	if (s == 'a' || s == 'b') {
		cout << "1\n";
		return 0;
	}
	n = s.size();
	for (int i = 0; i < n; i++) {
		pre[0][i] = suf[0][i] = s[i] == 'b';
		cntp[0][i] = cnts[0][i] = 1;
		pre[1][i] = suf[1][i] = s[i] == 'a';
		cntp[1][i] = cnts[1][i] = 1;
	}
	ans = 0x3f3f3f3f;
	for (int j = 2; j < C; j++) {
		for (int i = 0; i < n; i++) {
			if (pre[j - 2][i] == i + 1) {
				pre[j][i] = pre[j - 2][i];
				cntp[j][i] = cntp[j - 2][i];
			} else {
				pre[j][i] = pre[j - 2][i] + pre[j - 1][i - pre[j - 2][i]];
				cntp[j][i] = len[j - 2] + cntp[j - 1][i - pre[j - 2][i]];
			}
			if (suf[j - 1][i] == n - i) {
				suf[j][i] = suf[j - 1][i];
				cnts[j][i] = cnts[j - 1][i];
			} else {
				suf[j][i] = suf[j - 1][i] + suf[j - 2][i + suf[j - 1][i]];
				cnts[j][i] = len[j - 1] + cnts[j - 2][i + suf[j - 1][i]];
			}
		}
		for (int i = 0; i + 1 < n; i++) {
			if (pre[j - 1][i] == i + 1 && suf[j - 2][i + 1] == n - i - 1) {
				ans = min(ans, cntp[j - 1][i] + cnts[j - 2][i + 1]);
			}
		}
	}
	cout << ans << '\n';

	return 0;
}

Details

answer.code: In function ‘int main()’:
answer.code:18:15: error: no match for ‘operator==’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘char’)
   18 |         if (s == 'a' || s == 'b') {
      |             ~ ^~ ~~~
      |             |    |
      |             |    char
      |             std::string {aka std::__cxx11::basic_string<char>}
In file included from /usr/include/c++/13/regex:68,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:181,
                 from answer.code:1:
/usr/include/c++/13/bits/regex.h:1103:5: note: candidate: ‘template<class _BiIter> bool std::__cxx11::operator==(const sub_match<_BiIter>&, const sub_match<_BiIter>&)’
 1103 |     operator==(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1103:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__cxx11::sub_match<_BiIter>’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1199:5: note: candidate: ‘template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator==(__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const sub_match<_BiIter>&)’
 1199 |     operator==(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1199:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   mismatched types ‘const std::__cxx11::sub_match<_BiIter>’ and ‘char’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1274:5: note: candidate: ‘template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator==(const sub_match<_BiIter>&, __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)’
 1274 |     operator==(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1274:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__cxx11::sub_match<_BiIter>’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1366:5: note: candidate: ‘template<class _Bi_iter> bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type*, const sub_match<_BiIter>&)’
 1366 |     operator==(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1366:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   mismatched types ‘const std::__cxx11::sub_match<_BiIter>’ and ‘char’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1441:5: note: candidate: ‘template<class _Bi_iter> bool std::__cxx11::operator==(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)’
 1441 |     operator==(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1441:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__cxx11::sub_match<_BiIter>’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1534:5: note: candidate: ‘template<class _Bi_iter> bool std::__cxx11::operator==(const typename std::iterator_traits<_Iter>::value_type&, const sub_match<_BiIter>&)’
 1534 |     operator==(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1534:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   mismatched types ‘const std::__cxx11::sub_match<_BiIter>’ and ‘char’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:1613:5: note: candidate: ‘template<class _Bi_iter> bool std::__cxx11::operator==(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)’
 1613 |     operator==(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/13/bits/regex.h:1613:5: note:   template argument deduction/substitution failed:
answer.code:18:18: note:   ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__cxx11::sub_match<_BiIter>’
   18 |         if (s == 'a' || s == 'b') {
      |                  ^~~
/usr/include/c++/13/bits/regex.h:2186:5: note: candidate: ‘template<class _Bi_iter, class _Alloc> bool std::__cxx11::operator==(const match_results<_BiIter, _Alloc>&, const match_results<_BiIter, _Alloc>&)’
 2186 |     operator==(const match_results<_Bi_iter, _Alloc>& __m1,
      |     ^~~~~~~~
/usr/include...