发现自己不会T3可以退群了

排序问题(组合、模拟)

可以发现Gobo Sort相当于在所有排列中随机选择一个,所以当第\(i\)个数出现次数为\(a_i\)时,期望的Sort次数就是\(\frac{(n+m)!}{\prod\limits_{i=1}^{10^9} a_i!}\)。

我们希望Sort次数尽可能大,也就是能够让\([L,R]\)内的\(a_i\)尽可能平均。我们把所有\(a_i \neq 0 , i \in [L,R]\)的所有\(a_i\)扔进小根堆,每一次pop堆顶考虑其余的所有数是否能够加到当前堆顶的\(a_i\)的个数,如果不能就把剩下的平摊。

代码

游戏(线性筛、组合)

实际会对最后答案产生影响的数\(x\)一定会满足\([l,r]\)内不存在比\(x\)小的\(x\)的因子。

所以通过线性筛先求出所有数的最小质因子,就可以求出所有会对答案产生影响的数,那么现在就是要求求出这些数中最后一个出现的数的出现位置的总和。

考虑枚举最后一个数出现的位置\(x\),那么\([x+1,len]\)里全部都是不产生影响的数,那么我们可以先选定后面\(y\)个数是不产生影响的数、前面乱排,减去后面\(y+1\)个数是不产生影响的数的方案数,就是从后往前第\(y+1\)个数是最后一个对答案产生影响的数的方案数。

代码

守卫(DP)

不会做qwq

考虑:对于一个区间\([l,r]\),\(r\)位置一定会放一个保镖,把\(r\)所能够看到的所有位置删掉之后又会形成若干个区间,这些区间的右端点和右端点右边的点中一定要放一个保镖,这就变成了一个子问题。

所以可以考虑DP。设\(f_{i,j}\)表示区间\([i,j]\)的答案,转移先把所有\(j\)能看到的点拿出来,假设形成了区间\([l_1,r_1],[l_2,r_2],...,[l_k,r_k]\),那么转移就是\(f_{i,j} = 1 + \sum\limits_{i=0}^k \min(f_{l_i,r_i} , f_{l_i,r_i+1})\)。

这样转移是三方的不够优秀,但是注意到对于区间\([i,j]\)的不能看到的区间一定是区间\([l,j](l<i)\)的看不到的区间的子集,所以可以先固定右端点扫左端点,对于已经形成的不能看见的区间直接将答案贡献进去,这样复杂度就降为\(O(n^2)\)。

代码

JXOI2018的更多相关文章

  1. 【JXOI2018】守卫

    [JXOI2018]守卫 参考题解:https://blog.csdn.net/dofypxy/article/details/80196942 大致思路就是:区间DP.对于\([l,r]\)的答案, ...

  2. [JXOI2018]守卫

    嘟嘟嘟 正如某题解所说,这题很有误导性:我就一直在想凸包. 随便一个数据,就能把凸包hack掉: 这样我们的点G就gg了. 所以正解是什么呢?dp. 题解看这位老哥的吧,我感觉挺好懂的:题解 P456 ...

  3. 【BZOJ5324】[JXOI2018]守卫(动态规划)

    [BZOJ5324][JXOI2018]守卫(动态规划) 题面 BZOJ 洛谷 题解 既然只能看到横坐标在左侧的点,那么对于任意一个区间\([l,r]\)而言,\(r\)必须被选. 假设\(r\)看不 ...

  4. 【BZOJ5323】[JXOI2018]游戏(组合计数,线性筛)

    [BZOJ5323][JXOI2018]游戏(组合计数,线性筛) 题面 BZOJ 洛谷 题解 显然要考虑的位置只有那些在\([l,r]\)中不存在任意一个约数的数. 假设这样的数有\(x\)个,那么剩 ...

  5. 【BZOJ5322】[JXOI2018]排序问题(模拟)

    [BZOJ5322][JXOI2018]排序问题(模拟) 题面 BZOJ 洛谷 题解 这题就显得很呆. 显然就是每次找到\([l,r]\)中出现次数最小的那个数并且放一个. 然后随便模拟一下就好了Qw ...

  6. JXOI2018简要题解

    JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法 ...

  7. [JXOI2018]游戏 (线性筛,数论)

    [JXOI2018]游戏 \(solution:\) 这一道题的原版题面实在太负能量了,所以用了修改版题面. 这道题只要仔细读题,我们就可以将题目的一些基本性质分析出来:首先我们定义:对于某一类都可以 ...

  8. 5322: [Jxoi2018]排序问题

    5322: [Jxoi2018]排序问题 链接 分析: 每次选一个出现次数最小的. 代码: #include<cstdio> #include<algorithm> #incl ...

  9. 【题解】JXOI2018游戏(组合数)

    [题解]JXOI2018游戏(组合数) 题目大意 对于\([l,r]\)中的数,你有一种操作,就是删除一个数及其所有倍数.问你删除所有数的所有方案的步数之和. 由于这里是简化题意,有一个东西没有提到: ...

  10. 洛谷P4561 [JXOI2018]排序问题(二分 期望)

    题意 题目链接 Sol 首先一种方案的期望等于它一次排好的概率的倒数. 一次排好的概率是个数数题,他等于一次排好的方案除以总方案,也就是\(\frac{\prod cnt_{a_i}!}{(n+m)! ...

随机推荐

  1. 配置vue项目将打包后图片文件的引用路径改为cdn路径?

    vue cli3项目, 需求: 图片文件打包时, 将项目内的所有图片文件的引用地址改为cdn路径 vue cli3的默认配置下, 打包后图片使用的是相对路径, 例如打包后项目内图片引用路径为 img/ ...

  2. 第07组 Alpha事后诸葛亮

    1.请在博客开头给出组长博客链接(3.1 2分) 团队:摇光 队长:杨明哲 组长博客:这里 2.参考邹欣老师的问题模板进行总结思考(3.2 27分) 设想和目标(2分) 1.我们的软件要解决什么问题? ...

  3. [源码分析]LinkedHashMap

    一个键有序的 HashMap   可以将 LinkedHashMap 理解为 LinkList + HashMap,所以研究LinkedHashMap之前要先看HashMap代码.这里不再赘述.其实L ...

  4. react项目如何运行

    react项目如何运行 一.总结 一句话总结: npm i 安装好package.json的 指定插件后,npm start 启动项目 二.react项目的安装与运行 转自或参考:react项目的安装 ...

  5. ESXi6.5上的Ubuntu虚机在远程SSH时宕机

    情况是这样的, 有一个ESXi6.5上跑的Ubuntu虚机, 版本是18.04.1, 今天升级成18.04.2后, 就发现远程连接SSH不对劲, 在本地登录和操作都好好的, 只要远程SSH一连接, 服 ...

  6. Redis自定义fastJson Serializer

    public class FastJsonRedisSerializer<T> implements RedisSerializer<T> { public static fi ...

  7. Xamarin图表开发基础教程(6)OxyPlot框架

    Xamarin图表开发基础教程(6)OxyPlot框架 Xamamin iOS中绘制线图OxyPlotiOSDemo [示例OxyPlotiOSDemo]下面将实现线图的显示.具体的操作步骤如下: ( ...

  8. k8s记录-pip源配置

    #pip源# 清华大学https://pypi.tuna.tsinghua.edu.cn/simple/https://mirrors.tuna.tsinghua.edu.cn/pypi/web/si ...

  9. Python 初级 6 循环 (三)

    一.复习 1 计算循环(for循环) for looper in [1, 2, 3, 4, 5]: print("hello") 1) looper的值从第0个数1开始 2) 对应 ...

  10. Linux安全学习

    安全游戏说明 游戏形式帮助初学者学习和实践网络安全,主要是Linux shell命令的练习. https://overthewire.org/wargames/ 二进制 灰帽黑客进阶秘籍之一--lin ...