• 2014-2015 ACM-ICPC, Asia Mudanjiang Regional Contest 牡丹江区域赛


    codeforces gym
    远古时期的区域赛,前8道题都比较无聊,熟练换根DP可直接虚空夺冠.
    A. 签到.
    I. 签到.
    D. 试图用组合数和容斥原理计算,精度直接爆炸.合理的做法是用(DP[i][j][k])表示第(i)天恰有(j)行和(k)列被支配的概率.转移时需要先算加法再算除法,否则会有精度问题.复杂度(O(N^2M^2)).
    K. 合法的情况为:1.纯数字;2.将数字记为(1),星号记为(-1),任意前缀和需大于等于(1),且末尾为星号.只考虑第(2)种情况,首先在前面补足数字使得和大于等于(1),然后贪心交换最前面星号和最后面数字直到合法.复杂度(O(|s|^2)).
    B. 枚举去掉每条边后,两棵子树直径一半(上取整)的较大值.换根DP,在每个点记录子树中最长路和以该点为起点的最长路.复杂度(O(N)).
    H. 模拟.考虑类EON定义如下:

    struct EON{
          bool isString;
          string value;
          map<string, EON*> pairs;
          EON(const string& s, int L, int R, const vector<int>& matches);//matches表示括号和引号匹配情况;递归构造函数
          EON(const string& s);
          void print();//递归输出函数
          void get(const string& s);
    };
    

    实际上这题代码比较简单.
    F. 考虑(f[u][i])表示考虑(u)的子树中(u)取值为(i)的方案数.需要使用莫比乌斯反演进行转移.
    转移方程为:(g[u][i]=displaystylesum_{i|j}f[u][j],h[u][i]=sum_{j|i}mu(j)g[u][j],f[u][i]=prod_{v ext{ is son of }u}h[v][i]).
    同样需要换根DP,复杂度为(O(nR_maxlog R_max)).
    E. 一种构造方案如下:
    假设存在(N-2)的方案,并且起点为左上角,终点为左下角.
    无论(N)为偶数还是奇数,都存在一条路径,经过所有满足(xle2lor yge N-1)((x,y)),并且起点为((1,1)),终点为((N,N-1)).(奇偶的路径在右上角有区别).
    然后逆时针旋转((N-2))的方案接在上述路径后,此时可以满足起点为左上角,终点为左下角.

    GJC. 不会/没看.

  • 相关阅读:
    .a包生成64位
    iOS教程
    iOS 难题解决日志------2层控制器 上面的控制器显示透明
    企业级的App发布流程
    如何从oc中去获取一个私有的变量.....
    iOS app的破解原理,就是去除已付费的账户信息的原理是什么?
    Could not launch "app_name"
    GCD时间轴
    Win8自动更新怎么关闭 取消Win8自动更新
    python3 elf文件解析
  • 原文地址:https://www.cnblogs.com/Heltion/p/13676607.html
Copyright © 2020-2023  润新知