丽泽普及2022交流赛day14
A
题面
一个 \(1\dots n\) 的排列 \(p\) 和一个 \(1\dots n-1\) 的排列 \(q\) 满足
对排列 \(I=1,2,\dots,n\) 进行 \(n-1\) 次交换:
- 交换 \(I[q[i]]\) 与 \(I[q[i]+1]\) .
做完操作后满足 \(I=p\) .
给定 \(p\),计数 \(q\),答案对 \(10^9+7\) 取模 .
题解
一个 \((q,q+1)\) 交换过后显然左右就不可能再交流了 .
于是每个区间的答案可以拆成俩区间,考虑区间 dp .
丢一下柿子,需要组合数学知识:
\]
B
题面
在 \(n\times n\) 每个方格上随机地填入 \(1\) 到 \(m\) 之间的正整数(每个方格填的数互不相同),然后随机地选出 \(k\) 个数字,把它们出现在棋盘上的方格涂黑 .
设有 \(R\) 行被整行涂黑,\(C\) 列被整列涂黑,则得到 \(2^{R+C}\) 分 .
求期望得分 .
题解
枚举 \(R,C\) 算概率 .
显然涂黑格子数为 \(x = Rn+Cn-RC\) .
算一个局面的超集概率是容易的 .
考虑 \(2^{R+C}\) 的组合意义,于是把所有概率加起来就凑出这个贡献了 .
大力算,概率是古典概型,俩组合数相除即可 .
upd. 社论
C
题面
题解
中序遍历,最长不下降子序列 .
D
题面
一个序列 \(a\) .
一个区间 \([l,r]\) 是好的,当且仅当存在 \(k\in[l,r]\),使得对于任意 \(i\in[l,r]\),有 \(a_k \mid a_i\) .
求序列最长好子串 .
题解
这个条件等价于区间 \(\gcd\) 在区间中存在 .
俩 \(\log\) 解法比较好想,枚举左端点二分右端点即可 . 但这玩意涉及一个世界难题——判断数是否在区间中 .
于是考虑枚举 \(a_k\),左右分别二分出最长子串,就是 \(1\) 个 \(\log\) 了 .
upd. 题解好像错了,st 表区间 \(\gcd\) 询问复杂度是带 \(\log\) 的,所以实际复杂度可能是小常数俩 \(\log\) .
Keven_He 你个暴力优化艹过去的不要评论了!!/fn
upd. 反转了,用三区间合并(Sqrt Tree)似乎可以靠谱一 \(\log\) .
upd. 可以记区间 \(\min\) 和区间 \(\gcd\) 然后随便二分做 .
st 表区间 \(\gcd\) 预处理复杂度是一个 \(\log\) 的证明可以看 OI-wiki .
丽泽普及2022交流赛day14的更多相关文章
- 丽泽普及2022交流赛day22 无社论
开始掉分模式 . T3 有人上费用流了???(id) 不用 TOC 了 . T1 暴力 T2 没看见 任意两圆不相交,gg 包含关系容易维护,特判相切 . 单调栈即可 T3 贪心 T4 神秘题
- 丽泽普及2022交流赛day21 社论
A 暴力 . greater<double> -> greater<int> \(100\) -> \(50\) 代码丢了 . B dp . 考场上代码抢救一下就过 ...
- 丽泽普及2022交流赛day20 1/4社论
目录 T1 正方形 T2 玩蛇 T3 嗷呜 T4 开车 T1 正方形 略 T2 玩蛇 略 T3 嗷呜 (插一个删一个?) 找出相同的,丢掉循环节 . 感觉非常离谱,,, 正确性存疑 正确性问 SoyT ...
- 丽泽普及2022交流赛day19 半社论
目录 No Problem Str Not TSP 题面 题解 代码 Game 题面 题解 代码 No Problem 暴力 Str 存在循环节,大力找出来即可,长度显然不超过 \(10^3\) . ...
- 丽泽普及2022交流赛day18 社论
A 暴力扫一遍 B 算法 0 似乎是二分 算法 1 随便贪心 C 算法 1 枚举一个点作为最大值 / 最小值,用单调栈维护其作为答案的左右端点即可轻易计算 . 时间复杂度 \(O(n)\) . 算法 ...
- 丽泽普及2022交流赛day17 社论
http://zhengruioi.com/contest/1088 SoyTony 重新 rk1 . stO SoyTony Orz 省流:俩计数 . 目录 目录 A 题面 题解 Key 算法 1( ...
- 丽泽普及2022交流赛day16 社论
这场比较平凡吧 . 省流: http://zhengruioi.com/contest/1087 目录 目录 A. Gene 题面 题解 算法一(正解) 算法二 B. Fight 题面 题解 算法一( ...
- 丽泽普及2022交流赛day15 社论
前言 link 太牛逼了,补完我一定放代码 . orz 越看越牛逼 orz . 时间复杂度都是口胡,不要信 . 以下是目录 目录 目录 前言 A 题面 题解 代码 B 题面 题解 代码 C 题面 题解 ...
- 记:青岛理工ACM交流赛筹备工作总结篇
这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, 一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙 ...
随机推荐
- Java学习笔记-基础语法Ⅷ-泛型、Map
泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...
- R可视化:plot函数基础操作,小白教程
最近迷恋上了画图,一方面是觉得挺有意思的,另一方面是觉得自己确实画图方面比较弱,所以决定比较系统地回顾反思一下,同时顺带记录下来分享给大家.也确实是好久好久没更新文章了,真的是杂事太多太忙太牵扯精力没 ...
- redis 2 主从和哨兵
主从: 概念:将一台redis服务器数据复制到其他redis服务器,前者是master,后者是slave.数据复制是单向,从主节点复制到从节点.master以写为主,slave以读为主一个zhu主节点 ...
- 【工具-Nginx】从入门安装到高可用集群搭建
文章已收录至https://lichong.work,转载请注明原文链接. ps:欢迎关注公众号"Fun肆编程"或添加我的私人微信交流经验 一.Nginx安装配置及常用命令 1.环 ...
- 【算法】归并排序(Merge Sort)(五)
归并排序(Merge Sort) 归并排序是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序 ...
- 流,用声明性的方式处理数据集 - 读《Java 8实战》
引入流 Stream API的代码 声明性 更简洁,更易读 可复合 更灵活 可并行 性能更好 流是什么? 它允许以声明方式处理数据集合 遍历数据集的高级迭代器 透明地并行处理 简短定义:从支持数据处理 ...
- 119_Power Pivot 长尾明细显示为【其他】
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近比较忙,太久不没有更新文章,确实没有好的素材,就写一个吧. 在关于产品数据分析的时候,我们经常关注的是主要的 ...
- 个人冲刺(四)——体温上报app(二阶段)
冲刺任务:完成用户注册功能和数据库类 RegisterActivity.java package com.example.helloworld; import android.content.Inte ...
- bintree
Python实现二叉树的建立与遍历 创建(二叉)树节点类 class Node: def __init__(self,data,l=None,r=None): self.val = data self ...
- 模块re正则
正则表达式 内容概要 正则表达式前戏 正则表达式之字符组 正则表达式特殊符号 正则表达式量词 正则表达式贪婪与非贪婪匹配 正则表达式取消转义 python内置模块之re模块 内容详情 正则表达式前戏 ...