zoukankan      html  css  js  c++  java
  • BZOJ2824: [AHOI2012]铁盘整理

    显然到最终状态有一个下界,即为当前状态下,在最终状态中不相邻的相邻个数。

    再加一些奇怪的剪枝就可以过了。另外这个题加强数据的题有剧毒。

    #include <bits/stdc++.h>
    using namespace std;
    int b[60], a[60];
    int pre, Ans;
    int n;
    int lim;
    inline int check() {
        int ret = 0;
        for(int i = 1; i < n; ++ i) {
            if(abs(a[i] - a[i + 1]) != 1) ++ ret;
        }
        return ret + (a[n] != n);
    }
    inline void dfs(int now) {
        if(check() + now > lim) return;
        if(now == lim) {
            for(int i = 1; i <= n; ++ i) if(a[i] != i) return;
            printf("%d
    ", lim);
            exit(0);
        }
        for(int i = 2; i <= n; ++ i) if(a[i + 1] - a[i] != 1) {
            for(int j = 1; j <= i / 2; ++ j) {
                swap(a[j], a[i - j + 1]);
            }
            dfs(now + 1);
            for(int j = 1; j <= i / 2; ++ j) {
                swap(a[j], a[i - j + 1]);
            }
        }
    }
    int main() {
        scanf("%d", &n);
        for(int i = 1; i <= n; ++ i) {
            scanf("%d", &b[i]);
        }
        for(int i = 1; i <= n; ++ i) {
            for(int j = 1; j <= n; ++ j) {
                if(b[j] <= b[i]) ++ a[i];
            }
        }
        Ans = 2 * n - 2;
        for(lim = 1; lim <= 2 * n - 2; ++ lim) {
            dfs(0);
        }
    }
  • 相关阅读:
    NSString+URLEncoding
    编码解码
    RESTful架构理解
    jvm调优
    java大数据处理调优
    SQL 优化
    正确处理下载文件时HTTP头的编码问题(Content-Disposition)
    Spring 多媒体(文件上传)支持
    mybatis类型转换
    log4j Spring aop 注解的日志管理
  • 原文地址:https://www.cnblogs.com/iamqzh233/p/9427187.html
Copyright © 2011-2022 走看看