zoukankan      html  css  js  c++  java
  • 计蒜客 17412 Card Hand Sorting 最长公共子序列

    链接:

    https://nanti.jisuanke.com/t/17412

    题意:

    给你n张扑克,问你最少移动多少次使得排列好

    排列好是指同种花色在一起,并且递增或者递减

    题解:

    生成所有排列好的数列,然后求lcs

    代码:

    31 int n;
    32 int p[MAXN];
    33 int dp[MAXN][MAXN];
    34 VI v[4];
    35 
    36 int main() {
    37     ios::sync_with_stdio(false), cin.tie(0);
    38     cin >> n;
    39     rep(i, 0, n) {
    40         string s;
    41         cin >> s;
    42         int a, b;
    43         if (s[0] == 'T') a = 10;
    44         else if (s[0] == 'J') a = 11;
    45         else if (s[0] == 'Q') a = 12;
    46         else if (s[0] == 'K') a = 13;
    47         else if (s[0] == 'A') a = 14;
    48         else a = s[0] - '0';
    49 
    50         if (s[1] == 's') b = 0;
    51         else if (s[1] == 'h') b = 1;
    52         else if (s[1] == 'd') b = 2;
    53         else b = 3;
    54 
    55         int c = a + b * 13;
    56         p[i] = c;
    57         v[b].pb(c);
    58     }
    59     rep(i, 0, 4) sort(all(v[i]));
    60     int a[4] = { 0,1,2,3 };
    61     int ans = INF;
    62     do {
    63         rep(i, 0, 1 << 4) {
    64             VI vec;
    65             rep(j, 0, 4) {
    66                 VI t = v[a[j]];
    67                 if ((i >> j) & 1) reverse(all(t));
    68                 rep(i, 0, t.size()) vec.pb(t[i]);
    69             }
    70             memset(dp, 0, sizeof(dp));
    71             rep(i, 1, n + 1) rep(j, 1, n + 1) {
    72                 if (p[i - 1] == vec[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;
    73                 else dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
    74             }
    75             ans = min(ans, n - dp[n][n]);
    76         }
    77     } while (next_permutation(a, a + 4));
    78     cout << ans << endl;
    79     return 0;
    80 }
  • 相关阅读:
    idea 2019 版本的 破解方式
    php-fpm 服务的一些常见配置
    redis通过pipeline提升吞吐量
    redis 简易监控的几种方法
    mongodb查询操作分析
    mongodb监控常用方法
    Linux 系统监控常用命令
    mongodb 认证鉴权那点事
    使用H2数据库进行单元测试
    性能测试-Jmeter3.1 使用技巧
  • 原文地址:https://www.cnblogs.com/baocong/p/7625273.html
Copyright © 2011-2022 走看看