[杂题 位运算] Codeforces #876F. High Cry
来源:互联网 发布:淘宝推广文章 编辑:程序博客网 时间:2024/06/03 17:13
挺简单的题。这种所有区间中什么与最值有关的东西,一般考虑分治,或者求每个数的控制区间。
这题分治感觉不太好搞。就考虑后者,我们补集转化一下,考虑对于每个数,作为最大值,向两边最远扩展到哪里。显然直接每位独立考虑
需要注意的是,一个区间的最大值可能多次出现,为了避免重复,我们规定越在左边越大就好了。
#include<cstdio>#include<cstring>#include<algorithm>#include<map>using namespace std;typedef long long LL;const int maxn=200005;int L[maxn],R[maxn],pos[35];LL ans;int n,a[maxn];map<int,int> M;int main() { scanf("%d",&n); ans=(LL)n*(n+1)/2; for(int i=1;i<=n;i++) scanf("%d",&a[i]); M.clear(); for(int i=1;i<=n;i++){ L[i]=M[a[i]]; for(int j=0;j<=30;j++) if(!((a[i]>>j)&1)) L[i]=max(L[i],pos[j]); for(int j=0;j<=30;j++) if((a[i]>>j)&1) pos[j]=i; M[a[i]]=i; } for(int i=0;i<=30;i++) pos[i]=n+1; for(int i=n;i>=1;i--){ R[i]=n+1; for(int j=0;j<=30;j++) if(!((a[i]>>j)&1)) R[i]=min(R[i],pos[j]); for(int j=0;j<=30;j++) if((a[i]>>j)&1) pos[j]=i; } for(int i=1;i<=n;i++) ans-=(LL)(i-L[i])*(R[i]-i); printf("%I64d\n",ans); return 0;}
阅读全文
0 0
- [杂题 位运算] Codeforces #876F. High Cry
- codeforces 876F High Cry (思维,位运算)
- Codeforces 876F High Cry【逆向思维】
- Codeforces 876F High Cry【逆向思维】
- Codeforces #441 Div2 F. High Cry
- Codeforces Round #441 (Div. 2)F. High Cry 按位考虑 + 思维
- Codeforces 875D High Cry
- Codeforces Round #441 (Div. 2)F. High Cry |区间问题
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) F. High Cry
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) F. High Cry
- Codeforces 875D High Cry rmq+分治
- Codeforces 875D High Cry [枚举+二进制]
- [二分 ST表 杂题] Codeforces875D. High Cry
- Codeforces 875D High Cry st表+分治
- CF 876F High City 单调栈,枚举,或运算
- Codeforces Round #441 (Div. 1, by Moscow Team Olympiad) D. High Cry
- [ ST表 ] Codeforces875D High Cry
- CodeForces 558C(位运算)
- node 判断打开的是文件 还是 文件夹
- hibernnate一对多查询
- mysql 启动1067错误,以及修改字符集重启之后复原(无效)
- From Agile To DevOps
- EFCore废弃了TransactionScope取而代之的Context.Database.BeginTransaction
- [杂题 位运算] Codeforces #876F. High Cry
- Mysql----阿里数据库(mysql)误删除后的数据恢复
- 放弃读研,转战求职!
- SpringMVC异常处理
- 纯JS实现简单的分页功能
- java.lang.ClassNotFoundException: org.springframework.web.context.Contb.context.
- UVA11400 分析推理+dp
- SpringMVC 定时任务
- 一夜之间全世界的WIFI都不安全了;阿里和京东线下争夺的新场景:加油站|ServiceHot一周热闻