「考试」$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}$
可以通过了。
「考试」$5T$的更多相关文章
- 「考试」 Or
不得不说是一道多项式神题了. 虽然说颓代码颓的很厉害不过最终A掉了. 好好讲一讲这道题. 涉及的知识点是:高阶导数,NTT,指数型母函数,泰勒公式,以及意志力和数学推导能力. 那就开始了. 一个测试点 ...
- Linux 小知识翻译 - 「RAID」
最近术语「RAID」变得比较有名.「RAID」是指将多个HDD组合起来使用,从而提高存储可靠性的一种技术. 那么,关于 RAID 中的 「RAID 0」「RAID 1」「RAID 5」等各种「RAID ...
- 正则表达式从入门到放弃「Java」
正则表达式能做什么? 正则表达式可以用来搜索.编辑或处理文本. 「都懂它可以处理文本,可到底是怎么回事?」 正则表达式的定义 百度百科:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特 ...
- Scala 学习(10)之「集合 」
数组 定长数组 Array:采用()访问,而不是[],下标从 0 开始. val array1 = new Array[String](5) //创建数组 println(array1) //返回数组 ...
- JavaScript OOP 之「创建对象」
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...
- Facebook 发布「流程」
时不时就会在面试过程中碰到有候选人问 Facebook 是否采用 Scrum 之类的敏捷方法,偶尔也会有中国的朋友问及 Facebook 上线流程.我通常会简单说几句,然后说「如果你真感兴趣的话,去搜 ...
- 「30天自制操作系统」 Stop & 「OS67 」 Start
废话 整个十月都没有再写一点什么, 其实没什么好写的, 把书里的东西码出来贴在博客里实在没什么意思, 况且书里已经写得够详细了. 这本书给我最深刻的感觉是, 作者通过简化一些细节, 一步一步地模拟整个 ...
- jvm系列(十):如何优化Java GC「译」
本文由CrowHawk翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三 ...
- spring cloud 入门,看一个微服务框架的「五脏六腑」
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...
随机推荐
- Asp.NetCore源码学习[2-1]:日志
Asp.NetCore源码学习[2-1]:日志 在一个系统中,日志是不可或缺的部分.对于.net而言有许多成熟的日志框架,包括Log4Net.NLog.Serilog 等等.你可以在系统中直接使用这些 ...
- C# 常见面试问题汇总
1.c#垃圾回收机制 从以下方面入手展开: 1.压缩合并算法 2.代的机制 3.GC调用终结器 Garbage Collector . NET采用了和Java类似的方法由CLR(Common ...
- 安装高可用Hadoop生态 (二) 安装Zookeeper
2. 安装Zookeeper 2.1. 解压程序 ※ 3台服务器分别执行 .tar.gz -C/opt/cloud/packages /opt/cloud/bin/zookeeper /conf ...
- MySQL学习(二)索引原理及其背后的数据结构
首先区分几个概念: 聚集索引 主索引和辅助索引(即二级索引) innodb中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(sec ...
- 微信小程序与用户交互
微信小程序与用户交互 一.显示消息提示框 wx.showToast({属性名:属性值}) 自定义一个提示框,时间到了会自动关闭 wx.showToast({ title:"成功", ...
- shark恒破解笔记5-VB之rtcMsgBox
本次是来破解一个名为”系统提速精灵“的软件,方法是对rtcMsgBox下断点. 运行程序输入假码,会提示“注册码错“ 在oep上面可以看到大量vb引擎函数 明显的VB程序 载入OD对rtcMsgBo ...
- [CF431C]k-Tree
题目描述 Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was ins ...
- Python开发【第四篇】语句与函数
语句 statement 语句是由一些表达式组成,通常一条语句可以独立的执行来完成一部分事情,并且形成结果. 多条语句写在一行内要用分号分开 例子: print('hello world') #这是一 ...
- 问题:LinkedList 是原始类型。应该将对通用类型 LinkedList<E> 的引用参数化
jdk1.5之后,引入了泛型,类似下面这种写法会出现类似警告,可以忽略, LinkedList llist = new LinkedList();也可以修改一下,指定类型 LinkedList&l ...
- java学习2-数据类型和运算符
1.数据类型分类 java是强类型语言:a.所有的变量必须先声明后使用 b.指定类型的变量只能接受类型与之匹配的值 java语言支持的类型分为两类:基本类型和引用类型. 基本类型:包括boolean类 ...