2017-09-25校训练题题解
来源:互联网 发布:互联网医院 知乎 编辑:程序博客网 时间:2024/06/05 05:18
t1 傻逼dfs(然而直接状压会T)。
#include<set>#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>using namespace std;inline int read() {int x = 0, flag = 1; char ch = getchar();while (ch > '9' || ch < '0') { if (ch == '-') flag = -1; ch = getchar(); }while (ch <= '9' && ch >= '0') { x = x * 10 + ch - '0'; ch = getchar(); }return x * flag;}#define rep(ii, aa, bb) for (int ii = aa; ii <= bb; ii++)#define ll long long#define N 25int n;int p;ll a[N];ll ans = 0;ll dfs(int pos, ll cnt) {if (pos > n) return cnt % p;return max(dfs(pos + 1, cnt), dfs(pos + 1, cnt ^ a[pos]));}int main() {cin >> n >> p;rep(i, 1, n) cin >> a[i];cout << dfs(1, 0);return 0;}
t2 长得像数位dp,但还不会,留坑。
t3 dp。将原串分为两段, (n - 2 * 两个串的最长lcs)就是答案。
#include<set>#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>using namespace std;inline int read() {int x = 0, flag = 1; char ch = getchar();while (ch > '9' || ch < '0') { if (ch == '-') flag = -1; ch = getchar(); }while (ch <= '9' && ch >= '0') { x = x * 10 + ch - '0'; ch = getchar(); }return x * flag;}#define rep(ii, aa, bb) for (int ii = aa; ii <= bb; ii++)#define ll long long#define N 1001int n;char s[N];int f[N][N];int dp(int l1, int r1, int l2, int r2) {memset(f, 0, sizeof(f));rep(i, l1, r1) rep(j, l2, r2) {int p1 = i == l1 ? 0 : i - 1;int p2 = j == l2 ? 0 : j - 1;if (s[i] == s[j]) f[i][j] = f[p1][p2] + 1;else f[i][j] = max(f[i][p2], f[p1][j]);}return f[r1][r2];}int main() {cin >> n;cin >> s + 1;int ans = 0;rep(i, 1, n - 1) ans = max(ans, dp(1, i, i + 1, n));cout << n - 2 * ans;return 0;}
阅读全文
0 0
- 2017-09-25校训练题题解
- 2017-09-23校训练题题解
- 2017-09-29校训练题题解
- 2017-10-12校训练题题解
- 多校训练赛题解 第四场 2017 Multi-University Training Contest 4 solutions BY 陈松杨
- HDU-2017 多校训练赛1-补题
- HDU-2017 多校训练赛2-补题
- HDU-2017 多校训练赛3-补题
- HDU-2017 多校训练赛4-补题
- HDU-2017 多校训练赛5-补题
- HDU-2017 多校训练赛6-补题
- HDU-2017 多校训练赛7-补题
- HDU-2017 多校训练赛8-补题
- HDU-2017 多校训练赛9-补题
- HDU-2017 多校训练赛10-补题
- 2015多校训练5题解与代码
- (2017多校训练第一场)HDU
- (2017多校训练第一场)HDU
- HTTML多媒体标记与框架标记
- 网络协议相关问题(二)
- 详解C中volatile关键字
- php冒泡排序法
- 访问网站显示MySQL"is marked as crashed and should be repaired错误
- 2017-09-25校训练题题解
- js如何判断微信5.0
- HW问题改动_PDS
- leetcode-4-Median of Two Sorted Arrays
- JVM总结
- 6.7-3求链表倒数第n项
- HttpClient4.X 解决POST请求返回重定向问题
- nginx服务器高并发优化思路
- Spark体系概况