「考试」$5T$

啊因为最近题实在是好啊,只能四五篇四五篇写了。

T1.

括号序列的确简单。

当我们维护左右$cnt$后。

到一个左括号的地方的话。

答案就是:
$$\sum\limits_{i=1}^{min(lc,rc)}\binom{lc-1}{i-1}\binom{rc}{i}$$

因为要固定一个来去重。

等价于:

$$\sum\limits_{i=0}^{n}\binom{n}{i}\binom{m}{i}=\sum\limits_{i=0}^{n}\binom{n}{n-i}\binom{m}{i}$$

这个东西其实是范德蒙恒等式。

它等于:
$$\binom{n+m}{n}$$

其实就是从$n$中选$n-i$个,从$m$中选$i$个,等价于从$n+m$个里面选$n$个。

考场上打了个表发现这个东西是生成函数:

$$f(x)=\sum\limits_{i=0}^{n}x^i$$

的几次幂的某项系数。

猛地想起来和之前某道前缀和的题相似。

这个函数的幂的系数全都是二项式系数!

然后就一分钟了无力会天。。。

想想这个函数为什么是二项式系数形式。

因为$f(x)$的意义很丰富。

而$f^n(x)[m]$的含义就是:

从小于等于的自然数里选出$n$个,使得加和为$m$的方案,那么这个东西其实就是$\binom{n+m-1}{n-1}$

也就是个插板了。

T2.

旁边$cbx$循环展开$A$了,但是其实正解又是$meet\ in\ the\ middle$。

其实更像$BSGS$...

预处理走$k$步和$k$百步的最短路即可。

复杂度就可以过得去了。

又被根号算法教做人。

T3.

和蚯蚓兄很类似了。

用队列代替优先队列。

每次从$15$个队头里选出最小的一个并$pop$,然后计数,然后分别加入$15$个队列中,要求让质因子从小到大加入,那么加入的编号只能是单调不降的,不然会重复。

T4.

记忆化搜索或者$dp$都可以$A$。

我采用了营长的$dp$,定义状态$dp[i][s]$为长度为$i$的序列状态为$s$的情况下的方案。

状态采用$8$进制压位,状态看似很多但是其实六个质因子的情况下状态数只有$7000*12$,四个只有$200*12$。

考虑一个更优秀的方式$dp$

我们发现第一位是没有用的。

因为在转移的过程中会让$s$变化,而且只向大变化,那么拿掉他。

状态就只有$7000$了,转移复杂度是$2^6$的,比大部分记忆化搜索的状态数要少一点,转移复杂度低一点。

详细说一下怎么$dp$

状态$s$代表六个质因子的状态,我们用$0-7$来分别代表:

$0$这一位没数占用。

$1-6$这一位编号为$1-6$的数占用。

$7$这一位有两个数占用了。

%%%营长状态定义。

这样的话就可以转移了。

枚举质因子集合转移。

当前一个质因子集合可以转移,当且仅当:

  对应的每一个质因子所包含的被占用的数集合中有不超过一个不同数,且没有任何一个是7。

转移到的状态就是把为0的位置全部填成我的编号并且把有数的位置变成7。

可以解决问题。

T5.

概率算法了。

代入任何两个人的信息。高斯消元解出四个参量,然后代入$n$个人求解,看得到解决的是否超过了$n/2$个人,

容易发现这样失败的概率最高是$\frac{3}{4}$,那么解50次方程,全都失败的概率就是$\left(\frac{3}{4}\right)^{50}$

可以通过了。

原文地址:https://www.cnblogs.com/Lrefrain/p/11730102.html

时间: 2024-08-30 17:47:30

「考试」$5T$的相关文章

Linux 小知识翻译 - 「GCC」

这次聊聊「GCC」. GCC是「GNU Compiler Collection」的简称,由C.C++.FORTRAN.Java等语言的编译器以及这些语言的库所组成. GCC不仅包含编译器本身,还包含了编译所必要的库,所以可以编译多种语言所写的代码. GCC是免费软件,几乎所有Linux发行版中都包含它,所有使用Linux的时候可以很方便的使用GCC. 甚至可以这么说「提到Linux就不能不提GCC」. 使用GCC最重要的目的之一,就是「构建Linux内核」. 编译Linux内核源码的时候,是用G

Linux 小知识翻译 - 「cron」

这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次」这种简单的指定方法,还可以指定只有某天的某时才执行任务,或者指定8点-22点每小时执行一次等等. 还可以指定到具体的时间(可以具体到分钟).使用起来有些规则,但不是很难. 「cron」被称为运用Linux所不可缺少的工具.可用来定期的管理获取日志的软件,定期的检查系统状态. 甚至可用来监视进程或者

Linux 小知识翻译 - 「别名」

实际上,「别名」被用在多种场合下.比如「命令的别名」,「邮件地址的别名」等等. 所以,单独说「别名」的时候,根据不用的场合,代表的意思也不一样. 一般来说,「别名」是指意思差不多的东西. 「别名」的英文是「alias」,日语就是「别名」. 说「邮件地址的别名」的时候,也可以看出别名的含义. 比如将「[email protected]」设为「[email protected]」,以「[email protected]」为接收方的邮件就会发给「[email protected]」. Linux中经常

Linux 小知识翻译 - 「BitTorrent」

这次聊聊「BitTorrent」. (也就是下片子的 BT) BitTorrent是文件传输的一种.它可以在服务端负担很小的情况下高速的传输文件. BitTorrent最大的特点就是服务端可以将文件的片段上传到客户端,客户端得到服务端文件片段的同时,也将自己已有的文件片段传给其它客户端. 也就是说,很多客户端一起合作完成文件的下载.即,BitTorrent的特点就是下载的客户端越多,下载的速度越快. 因此,BitTorrent多用于CD-ROM或者DVD-ROM之类文件体积比较大的ISO文件的下

Linux 小知识翻译 - 「代理服务器」

这回聊聊「代理服务器」. 在公司里,不通过代理服务器无法连接互联网的,由于代理服务器的原因,有些服务的使用是受到限制的. 有人可能会觉得为什么会存在这种东西?(这里指代理服务器) Proxy本来的意思是「代理服务器」.代理服务器就是客户端和服务器中间的一层,对服务器来说,它就是客户端,对客户端来说,它就是服务器. 最好理解的就是HTTP代理,「当客户端有请求的时候,HTTP代理获得这个请求,然后代替客户端将这个请求发给服务器,然后将服务器返回的结果返回给客户端」. 那么为什么需要中间这层代理呢?

Linux 小知识翻译 - 「服务器」

这次聊聊 「服务器」 这个词. 可能会觉得为什么「突然问这个?」.接下来请先考虑一下下面的题目. A) 「Web服务器是指提供网页数据的软件」 B) 「Web服务器是指运行上述软件的硬件」 那么,究竟那句话是对的呢? 答案是:2句都是对的. 也就是说,提到「服务器」的时候,可能是指软件,也可能是指硬件.比如,「Apache」软件是Web服务器,运行Apache,并提供网页信息的硬件也被称为「服务器」. 所谓专业术语,也有非常麻烦的一面,比如有名的Linux,严格来说应该只是指的内核部分. 提到「

开放的智力8:实用「成功学」

可实现的「成功学」 现在我想为这里的年轻人介绍一种可实现的「成功学」.希望这个我自创的理论,可以改变很多人的一生. 当我们评价一个事情值不值得去做.应该花多少精力去做的时候,应该抛弃单一的视角,而是分两个不同的维度来看,一是该事件将给我带来的收益大小(认知.情感.物质.身体方面的收益皆可计入),即「收益值」:二是该收益随时间衰减的速度,我称为「收益半衰期」,半衰期长的事件,对我们的影响会持续得较久较长. 这两个维度正交以后就形成了一个四象限图.我们生活.学习和工作中的所有事情都可以放进这个图里面

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

非关系型数据库中的「关系」实现

Knowledge Dependence:阅读文本前,你需要了解基本的关系型数据库与非关系型(NoSQL)数据库的概念和区别,以及 MongoDB(Mongoose)的简单实践. ? 这两三年来,伴随着大数据(Big Data)的空前火热,无论是在工程界还是科研界,非关系型数据库(NoSQL)都已经成为了一个热门话题. 相比于传统的关系型数据库,非关系型数据库天生从理念上就给数据存储提供了一种新的思路.而在实际应用中,它往往更轻巧灵活.扩展性高,并且更能胜任高性能.大数据量的场景. 值得一提的是