「考试」$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 项目的搭建.配置.组 ...
随机推荐
- 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)
shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...
- JVM(三)初始化
字节码指令和符号引用.直接引用 1.主动引用和被动引用 主动引用:虚拟机规定只有满足四个情况的的情况下,才会进行主动引用. 被动引用:除过四种情况的引用是被动引用. 只有主动引用才会初始 ...
- Java8 Stream性能如何及评测工具推荐
作为技术人员,学习新知识是基本功课.有些知识是不得不学,有些知识是学了之后如虎添翼,Java8的Stream就是兼具两者的知识.不学看不懂,学了写起代码来如虎添翼. 在上篇<Java8 Stre ...
- 什么是Cookie?——每日一题20190623
什么是Cookie? Cookie实际上是一小段的文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就使用 response 向客户端浏览器颁发一个Cookie.客户端会把Cookie存起来, ...
- MYSQL SQL语句 之 select
select语句在数据库操作中是操作频率最高的语句,使用方式也是多种多样,它的基本功能是:从表中选取数据,结果存储在一个结果集中.可以联合where,and,or,Order By,distinct, ...
- React入门学习
为了获得更好的阅读体验,请访问原地址:传送门 一.React 简介 React 是什么 React 是一个起源于 Facebook 的内部项目,因为当时 Facebook 对于市场上所有的 JavaS ...
- Mariadb 基于Mycat实现读写分离
环境:Mariadb主:192.168.200.129 Mariadb从:192.168.200.114 Mycat :192.168.200.112 (1) 安装jdk,先查看本机是 ...
- GUI tkinter (Canvas)绘图篇
from tkinter import * root = Tk()root.title("中国象棋棋盘手绘") can = Canvas(root,width = 400, hei ...
- 微信小程序开发环境安装以及相关设置配置
微信小程序开发环境安装以及相关设置配置 一.安装 软件名称:wechat_devtools_1.02.1907232_x64 软件安装地址:https://developers.weixin.qq.c ...
- 常见PHP危险函数及特殊函数
PHP代码执行函数 - eval & assert & preg_replace mixed eval ( string $code ) 把字符串 $code 作为PHP代码执行. 很 ...