「考试」$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 项目的搭建.配置.组 ...
随机推荐
- springmvc Controller接收前端参数的几种方式总结
(1) 普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestPa ...
- netty源码解解析(4.0)-24 ByteBuf基于内存池的内存管理
io.netty.buffer.PooledByteBuf<T>使用内存池中的一块内存作为自己的数据内存,这个块内存是PoolChunk<T>的一部分.PooledByteBu ...
- 基于Spring AOP实现的权限控制
1.AOP简介 AOP,面向切面编程,往往被定义为促使软件系统实现关注点的分离的技术.系统是由许多不同的组件所组成的,每一个组件负责一块特定的功能.除了实现自身核心功能之外,这些组件还经常承担着额外的 ...
- Cocos Creator实现大炮英雄,附代码!
游戏预览 开始场景 搭建开始场景 摆放一个背景图,在背景图上添加背景地面.开始按钮.4个角色选择按钮.游戏logo. 创建游戏脚本 1. 实现开始按钮的回调,点击开始按钮,跳转到游戏场景.跳转 ...
- jQuery.noConflict()解决imgBox.js依赖jquery版本问题
jQuery提供两种点击图片放大效果出处 在使用imgbox.js是出现的jquery版本不兼容问题,之后了解到jQuery.noConflict()的用法 jQuery.noConflict()的存 ...
- 快速入门Maven(二)(Eclipse构建Maven项目)
Mars2的eclipse()已经集成了Maven插件,所以用这个版本不需要装插件了. 接下来构建: 一.调整Eclipse设置 1.选择3.3.9版本的maven软件 2.修改默认的本地仓库地址 二 ...
- Vue躬行记(3)——样式和表单
Vue对DOM元素的class和style两个特性做了专门的增强,即对CSS类和内联样式做了一层封装,通过v-bind指令来处理它们,而接收的表达式既可以是简单的字符串.对象或数组,也可以是复杂的计算 ...
- PHP reset
1.函数的作用:重置数组内部指针,并返回第一个元素 2.函数的参数: @param array $array 3. 例子一: <?php $arr1 = []; $arr2 = [false, ...
- [LUOGU2964] [USACO09NOV]硬币的游戏A Coin Game
题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...
- Tensorflow从开始到放弃(技术篇)
在gpu中运行 tf.device("/gpu:1") 有时候这个是会出问题的,即便你在有名称为1的gpu时.有的操作是不能支持gpu的,应该为session添加一些配置: pyt ...