• C2第六次作业解题报告


    看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量

    http://www.cnblogs.com/newbe/

    http://www.cnblogs.com/newbe/p/4069834.html

    http://www.cnblogs.com/newbe/p/4072005.html

    求赞求祝福啊!!!

    http://www.cnblogs.com/newbe/p/4058097.html

    软工老师太狠心,还请可怜一下同课不同命的我们吧~点一下文章末尾的推荐什么的呗,有个回复什么的就更好了!

    1、组合

    老生常谈的题

    dfs即可

    dfs出组合的元素满足以下性质:
    (1) a[i+1]>a[i],后一个数字比前一个大;
    (2) a[i]-i<=n-m+1。

    只要在每个循环中核心代码大概是这样:

        ans[m+1] = ans[m] + 1;
        dfs(m+1);
        ans[m]++;
        dfs(m);


    2、Antiprime

    我们设p = 2^t1 * 3^t2 * …… * p^tk(其中p是第k大的质数)是Antiprime数,则必有:t1 >= t2 >= t3 >= … >= tk >= 0。
    反证法证明:若不然可将{ti}由大到小排序,设形成的新有序序列是{ti’},t1' >= t2' >= t3' >= … >= tk';令p’ = 2^t1' * 3^t2' * …… * p^tk',则:p' < p,但p'的约数个数却不少于p,这与p是Antiprime数矛盾。所以必有:t1 >= t2 >= t3 >= … >= tk。

    求一个数的约数个数可以用乘法原理,例如75=3^15^2,则75有(1+1)(2+1)=6个约数。

    所以我们只要按照质因数从小到大依次枚举指数,找出最多的约数个数情况下最小的正整数即可,而且由于n只有2*1e9,素数打表只需打到23即可。

    然后就是dfs可搞,传递三个参数:构造的t序列长度,构造出的数的约数的个数,构造出的数的大小。

    3、有穷自动机

    第六次作业最恶心的一题,纯模拟,dfa什么的编译里面也学过了,不难理解

    数据弱的一逼,只判断字符串第一位居然都能过...

    题意不清的一逼,各种...


    说几个注意点吧:

    第一行的其余各列为M个可能的输入字符串,长度在5以内。

    第i行第j列的形式为’qk,z’,其中q是一定出现的字符,k是整数(qk是所有状态中的一个,k=1,2,3,……),','必然出现且k和z直接只有一个',',z是字符串

    空白符有' '和‘ '两种


    4、字母频度

    几乎没有难度的模拟题,注意一下题目中所说特殊情况即可..

    5、“数独”游戏

    C1做过的题,暴力即可..

    给每行每列每块各给开个数组维护已经出现的数字(1表示用过,0表示没有,这样第19个点就能过了),回溯爆搜即可

  • 相关阅读:
    把线程池比作装修公司
    字符串常量池
    如何理解多租户架构?
    Redis的List的删除
    MySQL Explain详解
    Lombok
    减少TIME_WAIT时间的优化配置
    MySQL Join算法与调优白皮书(一)
    MySQL Join算法与调优白皮书(二)
    MySQL Join算法与调优白皮书(三)
  • 原文地址:https://www.cnblogs.com/zibaohun/p/4060202.html
Copyright © 2020-2023  润新知