hdu5288 多校
来源:互联网 发布:linux命令行上网 编辑:程序博客网 时间:2024/05/29 13:15
题意:f(l,r)表示i的数量,i满足(l=<i<=r)且没有不存在任何一个j,j!=i,且ai mod aj=0;求那个题目中的公式结果。题意还是挺好理解,不理解的可以看看样例画画就知道了。
思路:假设有一个序列元素为 a b c d e f;且a,f是d的因数,bce都不是d的因数。则在bcde这个区间段,任意包含d的区间d都是可以贡献一个答案值的,比如本例中bcd bcde cd cde de d 这6个序列中计算f(l,r)函数时d都是可以一个统计量。所以对于每一个数组中的元素只需找到其左右最靠近的因数在哪个位置即可。若ai在数组下标为i,且ai前最近的因数位置在l,ai后最近的因数是r,那么ai总共可以贡献的统计量为(i-l)*(r-i);现在的问题是如何快速确定每一个数的最近左因数和最近右因数。可以从左往右扫描数组,比如扫描到ai时,1*ai,2*ai,3*ai......j*ai(j*ai<10000因为数据范围就到10000)的l都要修改为i,对于r的确定当然就是从右往左扫描,解决详看代码
http://paste.ubuntu.com/11918563/
0 0
- hdu5288 多校
- hdu5288 多校
- hdu5288
- hdu5288
- HDU5288
- hdu5288(2015多校1)OO’s Sequence
- hdu5288 vector用法+ ……(多校1.1)
- hdu5288数学枚举因子
- HDU5288 OO’s Sequence
- HDU5288 OO’s Sequence
- hdu5288 OO’s Sequence
- hdu5288 区间个数
- hdu5288(思维+分解因子)
- hdu5288 区间求个数和
- 搜索 - hdu5288 OO’s Sequence
- HDU5288 OO’s Sequence 二分
- [杂题] HDU5288: OO’s Sequence
- HDU5288 OO’s Sequence(暴力枚举)
- linux c find grep awk
- Windows下安装Django
- js中下载弹窗链接
- nginx 1.9 + tomcat8 + nfs 配置集群环境
- 几种线程池的实现算法分析
- hdu5288 多校
- SecureCRT 常用命令大全
- hdu 5294 Tricks Device
- Xshell连接Linux服务器总掉线
- Zookeeper Introduce Zookeeper原理介绍
- Android 自定义雷达图
- 【数据结构与算法分析1.2】编写一个程序求解字谜游戏问题
- django-restful请求的访问限制
- flume+kafka+storm