ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

省选模拟12

2022-02-09 10:05:17  阅读:178  来源: 互联网

标签:12 于是 省选 最大值 最小值 差值 最值 mathcal 模拟


昨晚被zxb打呼噜吵到两点还没睡着,于是考试想补觉

但是没有睡着,于是只好去想题,于是一分钟打了第一题\(\mathcal{O(n^3)}\)的暴力

后来发现可以斜率优化到\(\mathcal{O(n^2)}\),写完之后想写递增的部分分可是不会

要是有了部分分的话就是正解了...

第二题是个交互,于是也只有暴力分,没想到二分,也没想到可以利用交集

第三题打了个最暴力的状压就走了

T1 数列array

发现每一段的最后一个一定是这一段的最大值,不然的话完全可以拆出来造成新的贡献

于是暴力的二维dp就可以变成一维的了,于是再次斜率优化,变成\(\mathcal{O(nlogn)}\)

AC_code

T2 差异difference

可以二分找到最大值或者最小值的可能位置

具体来说,询问二会有一个最大差值,就是最大值和最小值的差值,于是我们二分位置

不断询问,我们可以找到同时包含最大最小值的最小前缀,那么最后一个数要么是最大值要么是最小值

我们利用这个最值去查找和其它数的差值

用二进制拆分,对于每一位未为1的做一个集合

一次询问这个集合,再一次询问集合和最值

这样就可以找到每个数和最值的差值

由于每个数都不一样,每个差值只会出现一次

我们取这个数为一的位的集合的交集,就是这个数的差值

这样的话,判断一下最值是最大值还是最小值,然后输出就好了

AC_code

T3 异或randomxor

不会呢

标签:12,于是,省选,最大值,最小值,差值,最值,mathcal,模拟
来源: https://www.cnblogs.com/hzoi-fengwu/p/15873779.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有