啊哈!达

突然想到你,笑了笑自己。

2016计蒜之道初赛

2016计蒜之道初赛

官方题解

另外搜索题解的时候看到一个很有意思的博客..//大一进省赛的妹子otz

第一场

*A 最小pi值

  • 定义:

    青云给每台服务器设置了一个由小写字母a-z组成的密钥。密钥的易破解程度定义如下:

    对于密钥S1..SnS1..Sn,我们需要首先计算其对应的π数组。对于任意的i(2≤i≤n),πi=max{L|S1...SL=SiL+1...Si,(0L<i)}。也就是最长的前缀等于后缀的长度。

    则密钥的易破解程度为ni=2πi,值越小,易破解程度越高。

    现在已知密钥的S1...Sn 中每个小写字母的字符个数,小明想知道易破解程度最高是多少?

    思路:我们分类来讨论:1、所有字母都没有出现过的情况,输出0。

    2、只有一种字母的情况,这种情况比较特殊,也是最容易掉坑里边的一种情况,这里注意,前缀和后缀可以有重叠部分,所以这里假如是5个a:

    aaaaa\==10\==1+2+3+4

    aaaa\==6\==1+2+3

    aaa\==3==1+2;

    3、有两种或者两种以上字母的情况,我们不妨用最贪心的思路来想,我们设定出现次数最少的那个字母取一个放在第一个位子上,我们举例子来说:10 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0明显字母c是出现最少的字母,我们取一个c放在串的最开头,然后将a,b两个字母随便在c后边排列:caaaaaaaaaabbbb(a,b怎样排列无所谓)然后最后补上其他c:caaaaaaaaaabbbbcc。很明显,其解最小,值为2,也就是3-1;

B 树上所有互质数的距离和

  • 简单: floyd(枚举) O(n2logn)
  • 中级:用 dpi,j 表示节点 i 子树中为 j 的个数。

第二场

A 计算几何

画出以顶点 O 为公共顶点的、夹角为θ 的两条线段l1和l2,其中l1作为圆 C1的直径,l2作为圆 C2的直径。两个圆需要画在同一个圆形的塑料板上。请算出这个塑料板最小的面积是多少。

  • 分析: 最小的覆盖的圆心一定是在两个我女巫去圆心的连线上,直径就是圆心距+r1+r2,余弦定理即可

*B 矩阵连线计数

  • 简单: O(n4) 枚举两个点,得到这两个点构成的直线方程,然后去重即可。
  • 中级: 枚举直线的方向向量(a,b),显然有 gcd(a,b)=1它本身以及它的前驱在点阵内而它的后继不在点阵内”的点的数量,得出n1a=1m1b=1[gcd(a,b)=1]((na)(mb)max(n2a,0)max(m2b,0))
  • 复杂: 看不懂= =

第三场

A科学计数法

字符串处理…很坑的是OJ”测试”只是测试能不能够运行…

*B账号选取方案

没看懂题()

总结:

每场过了一道签到题就无力了,说明自己还有很大的提升空间..本来还想拿一件衣服走的但只是签到走了还是挺郁闷的…更郁闷的是官方题解证实了水平有限…题解都看不懂…

不过总结一下第一套里面第一题应该要过的,主要是看了一会题没有思路就不看了,这样是不对的行为,相反应该努力用学过的算法思想去套这个模型,尝试贪心啊DP啊然后没准就出来了.

阅读更多
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭