<address id="xvfrz"></address>

              模拟84

              T1

                我发现最近我乱搞A了好多题。。。

                首先我们可以发现答案随k是爆炸增长的,然后就可以想将1e18以内的合法的数全部处理出来(搜索),实际操作一下,会发现在B<10的时候是可以这么做的,但是B过大的时候1e18以内的数很多,无法全部筛出。

                然后发现k<1e7,我们可以想二分答案,可以做到$O(klog1e18)$,然而复杂度过高,无法承受。

                之后大约过了一个小时,突然想到,并不关注1e7以上的数,只要处理出来1e7个数即可,于是手动二分答案确定上界,即可$O(10000000)$处理。所有数据跑得一样快,所以总时间很慢。。。

              T2

                考场上拿到了84pts,考后加了优化就AC了。

                定义状态$f_{s}$表示状态为s的时候的方案数。 其中s是一个三进制数,第i位表示质因数集合为i的因数的个数。

                直接记忆化搜索即可,注意我们并不关注每个因数是多少,只关注它的质因子集合,于是状态转移从$O(d(n))$减少到了$O(2^{质因子个数})$,然后就可以AC了。

                理论状态数$O(3^{2^{6}})$(这个数大约是$10^{30}$),然而实际极限数据也只有20w+,可以通过。

              T3

                随机化NB,考场上给的时间太少了。

              相关文章
              相关标签/搜索
              2019年所有开马的记录 南昌市| 南安市| 晴隆县| 五莲县| 巢湖市| 辰溪县| 抚松县| 大邑县| 嘉祥县| 罗平县| 岑溪市| 宁波市| 衡阳县| 德令哈市| 内黄县| 靖远县| 高阳县| 石家庄市| 伊川县| 家居| 威海市| 昆明市| 吕梁市| 克拉玛依市| 介休市| 新乡市| 柞水县| 新沂市| 桂平市| 宾阳县| 丽江市| 塘沽区| 沈阳市| 桃园县| 贵定县| 胶南市| 玉环县| http://fa.hz0j1r2vo.fun http://fa.hz0j2r8vo.fun http://fa.hz0j0r8vo.fun http://fa.hz0j0r8vo.fun http://fa.hz0j2r4vo.fun