zoukankan      html  css  js  c++  java
  • NEERC Southern Subregional 2011

    NEERC Southern Subregional 2011

    A - Bonnie and Clyde

    solution
    双指针搞搞就好。

    时间复杂度:(O(n))

    B - Building Foundation

    题目描述:给定(n)条线段(水平或垂直),问能构成多少个矩形(只要矩形的四条边都被线段覆盖即可),水平线段不相交,垂直线段不相交。

    solution
    预处理出每条垂直的线段与哪些水平的线段相交,然后枚举两条垂直的线段,数一下有多少公共的水平线段(s),答案增加(C_s^2)

    时间复杂度:(O(n^3))

    C - Dice Tower

    题目描述:用骰子搭成一个(1 imes 1 imes h)的长方体,满足表面的数字的和为(n),输出最小的(h)或无解。

    solution
    注意一个骰子和两个骰子之间的状态是无解,其它的特殊情况都比较好想。

    时间复杂度:(O(1))

    E - Berland Chess

    题目描述:给定一个(n imes m)的棋盘,棋盘上有一个白色的国王,还有若干个黑色的骑士、主教、城堡(总共不超过15个),现在要移动白色国王,问他安全情况下最少多少步吃掉所有黑色棋子(黑色棋子不动)。

    solution
    状压,对黑色棋子进行编号,用((sett, x, y))表示当前还剩的棋子集合以及白色国王的坐标,然后bfs求解。可以先预处理出当棋子集合为(sett)时,那些格子是安全的。

    时间复杂度:(O(8 cdot 2^{15}n^2))

    F - Divisibility

    题目描述:给定一个只有小写字母并且字母种类不超过(10)种,长度不超过(14)的字符串,给每一个字母分配一个(0)~(9)的数字(不同字母数字不同),那么所给的字符串对应一个没有前导零的数字,求得到的数字的公共约数。

    solution
    原问题等价于求所有数字的最大公约数+求一个数字的所有约数。
    先考虑字母种类不超过(9)种的情况,那么对于某一种字母,单独改变这一种字母的分配数字,得到的数字作差,这些数字都是(num)的倍数,其中(num)是指这种字母的位置取(1),其它位置取(0)对应的数字。对于每一种字母求出对应的(num),求(num)的最大公约数。
    考虑字母种类数不超过(10)种的情况,取其中两种字母,其中一种填(1),另一种填(0),其它字母不变,交换两种字母的分配数字,作差,得到数字为两种字母对应的(num)作差,求出所有二元组的最大公约数。
    由于上面得到的最大公约数是作差得到的,所以还要随便求出一种可行的分配方案对应的数字,再求一次最大公约数,才是真正的最大公约数。
    由于数字比较大,所以要把数字分解质因数后,再穷举所有约数。

    时间复杂度:(O(能过))

    K - Emoticons

    solution
    模拟,按照题目要求的做即可。

    时间复杂度:(O(n))

  • 相关阅读:
    iOS开发拓展篇—音频处理(音乐播放器5)
    iOS开发拓展篇—音频处理(音乐播放器4)
    iOS开发拓展篇—音频处理(音乐播放器3)
    iOS开发拓展篇—音频处理(音乐播放器2)
    iOS开发拓展篇—音频处理(音乐播放器1)
    iOS开发拓展篇—CoreLocation地理编码
    iOS开发拓展篇—CoreLocation定位服务
    单片机CRC源码
    VC6.0中的灰色字体是什么?
    C语言:自定义变量范围
  • 原文地址:https://www.cnblogs.com/GerynOhenz/p/9924111.html
Copyright © 2011-2022 走看看