Please sign in first.
Submission #1708182
Source Code Expand
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <set>
#include <vector>
#include <map>
#include <cmath>
#include <algorithm>
#include <memory.h>
#include <string>
#include <sstream>
#include <cstdlib>
#include <ctime>
#include <cassert>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
#define MP make_pair
#define PB push_back
#define FF first
#define SS second
#define FORN(i, n) for (int i = 0; i < (int)(n); i++)
#define FOR1(i, n) for (int i = 1; i <= (int)(n); i++)
#define FORD(i, n) for (int i = (int)(n) - 1; i >= 0; i--)
#define DEBUG(X) { cout << #X << " = " << (X) << endl; }
#define PR0(A,n) { cout << #A << " = "; FORN(_,n) cout << A[_] << ' '; cout << endl; }
#define MOD 1000000007
#define INF 2000000000
int GLL(LL& x) {
return scanf("%lld", &x);
}
int GI(int& x) {
return scanf("%d", &x);
}
int n;
string s;
const int MAXN = 200005;
int a[MAXN], m[MAXN];
int dp[(1 << 26) + 5];
int mask(int x) {
return 1 << x;
}
bool contains(int s, int x) {
return s & mask(x);
}
int main() {
cin >> s;
n = s.size();
FORN(i, n) {
a[i + 1] = s[i] - 'a';
}
m[0] = 0;
FOR1(i, n) {
m[i] = m[i-1] ^ mask(a[i]);
}
fill(dp, dp + (1 << 26) + 5, INF);
dp[m[n]] = 0;
FORD(i, n) {
int best = INF;
FORN(j, 26) {
best = min(best, 1 + dp[m[i] ^ mask(j)]);
}
dp[m[i]] = min(dp[m[i]], best);
// DEBUG(m[i]);
// DEBUG(dp[m[i]]);
}
cout << max(1, dp[0]) << "\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Yet Another Palindrome Partitioning |
| User | chenmark |
| Language | C++14 (GCC 5.4.1) |
| Score | 700 |
| Code Size | 1664 Byte |
| Status | AC |
| Exec Time | 147 ms |
| Memory | 264324 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 700 / 700 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
| All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt, 1_64.txt, 1_65.txt, 1_66.txt, 1_67.txt, 1_68.txt, 1_69.txt, 1_70.txt, 1_71.txt, 1_72.txt, 1_73.txt, 1_74.txt, 1_75.txt, 1_76.txt, 1_77.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00.txt | AC | 79 ms | 262400 KiB |
| 0_01.txt | AC | 79 ms | 262400 KiB |
| 0_02.txt | AC | 79 ms | 262400 KiB |
| 0_03.txt | AC | 79 ms | 262400 KiB |
| 1_00.txt | AC | 79 ms | 262400 KiB |
| 1_01.txt | AC | 79 ms | 262400 KiB |
| 1_02.txt | AC | 79 ms | 262400 KiB |
| 1_03.txt | AC | 79 ms | 262400 KiB |
| 1_04.txt | AC | 79 ms | 262400 KiB |
| 1_05.txt | AC | 79 ms | 262400 KiB |
| 1_06.txt | AC | 79 ms | 262400 KiB |
| 1_07.txt | AC | 79 ms | 262400 KiB |
| 1_08.txt | AC | 119 ms | 264324 KiB |
| 1_09.txt | AC | 95 ms | 264324 KiB |
| 1_10.txt | AC | 103 ms | 264324 KiB |
| 1_11.txt | AC | 99 ms | 264324 KiB |
| 1_12.txt | AC | 94 ms | 264196 KiB |
| 1_13.txt | AC | 95 ms | 264324 KiB |
| 1_14.txt | AC | 96 ms | 264324 KiB |
| 1_15.txt | AC | 97 ms | 264324 KiB |
| 1_16.txt | AC | 98 ms | 264324 KiB |
| 1_17.txt | AC | 98 ms | 264324 KiB |
| 1_18.txt | AC | 98 ms | 264196 KiB |
| 1_19.txt | AC | 98 ms | 264324 KiB |
| 1_20.txt | AC | 97 ms | 264196 KiB |
| 1_21.txt | AC | 97 ms | 264324 KiB |
| 1_22.txt | AC | 115 ms | 264324 KiB |
| 1_23.txt | AC | 109 ms | 264324 KiB |
| 1_24.txt | AC | 115 ms | 264196 KiB |
| 1_25.txt | AC | 128 ms | 264324 KiB |
| 1_26.txt | AC | 110 ms | 264196 KiB |
| 1_27.txt | AC | 134 ms | 264324 KiB |
| 1_28.txt | AC | 118 ms | 264324 KiB |
| 1_29.txt | AC | 113 ms | 264324 KiB |
| 1_30.txt | AC | 131 ms | 264196 KiB |
| 1_31.txt | AC | 128 ms | 264196 KiB |
| 1_32.txt | AC | 138 ms | 264324 KiB |
| 1_33.txt | AC | 133 ms | 264324 KiB |
| 1_34.txt | AC | 142 ms | 264196 KiB |
| 1_35.txt | AC | 147 ms | 264196 KiB |
| 1_36.txt | AC | 146 ms | 264196 KiB |
| 1_37.txt | AC | 145 ms | 264196 KiB |
| 1_38.txt | AC | 108 ms | 264324 KiB |
| 1_39.txt | AC | 109 ms | 264324 KiB |
| 1_40.txt | AC | 108 ms | 264324 KiB |
| 1_41.txt | AC | 109 ms | 264324 KiB |
| 1_42.txt | AC | 106 ms | 264324 KiB |
| 1_43.txt | AC | 106 ms | 264324 KiB |
| 1_44.txt | AC | 105 ms | 264324 KiB |
| 1_45.txt | AC | 106 ms | 264324 KiB |
| 1_46.txt | AC | 104 ms | 264324 KiB |
| 1_47.txt | AC | 104 ms | 264324 KiB |
| 1_48.txt | AC | 104 ms | 264324 KiB |
| 1_49.txt | AC | 104 ms | 264324 KiB |
| 1_50.txt | AC | 102 ms | 264324 KiB |
| 1_51.txt | AC | 102 ms | 264324 KiB |
| 1_52.txt | AC | 101 ms | 264324 KiB |
| 1_53.txt | AC | 102 ms | 264324 KiB |
| 1_54.txt | AC | 100 ms | 264324 KiB |
| 1_55.txt | AC | 102 ms | 264324 KiB |
| 1_56.txt | AC | 100 ms | 264324 KiB |
| 1_57.txt | AC | 101 ms | 264324 KiB |
| 1_58.txt | AC | 99 ms | 264324 KiB |
| 1_59.txt | AC | 101 ms | 264324 KiB |
| 1_60.txt | AC | 99 ms | 264324 KiB |
| 1_61.txt | AC | 100 ms | 264324 KiB |
| 1_62.txt | AC | 100 ms | 264324 KiB |
| 1_63.txt | AC | 100 ms | 264324 KiB |
| 1_64.txt | AC | 99 ms | 264324 KiB |
| 1_65.txt | AC | 100 ms | 264324 KiB |
| 1_66.txt | AC | 99 ms | 264324 KiB |
| 1_67.txt | AC | 99 ms | 264324 KiB |
| 1_68.txt | AC | 99 ms | 264324 KiB |
| 1_69.txt | AC | 99 ms | 264324 KiB |
| 1_70.txt | AC | 99 ms | 264324 KiB |
| 1_71.txt | AC | 99 ms | 264324 KiB |
| 1_72.txt | AC | 98 ms | 264324 KiB |
| 1_73.txt | AC | 100 ms | 264324 KiB |
| 1_74.txt | AC | 98 ms | 264324 KiB |
| 1_75.txt | AC | 98 ms | 264324 KiB |
| 1_76.txt | AC | 98 ms | 264324 KiB |
| 1_77.txt | AC | 99 ms | 264324 KiB |