CF1168C
CF1168C
从后往前扫一遍维护\(f[x][k]\)表示从开始x至少要走到那个位置才能到达一个第\(k\)位是1的数
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,m,a[310001],w[20][20],e[20],f[310001][20],x,y,d[20];
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
memset(w,0x3f,sizeof(w));
memset(f,0x3f,sizeof(f));
for(int i=n;i>=1;i--)
{
memset(e,0,sizeof(e)); memset(d,0x3f,sizeof(d)); int ct=0;
for(int j=0;j<=18;j++) if(a[i]&(1<<j)) e[++ct]=j,w[j][j]=i;
for(int j=1;j<ct;j++)
for(int k=j+1;k<=ct;k++) w[e[j]][e[k]]=w[e[k]][e[j]]=i;
for(int j=0;j<=18;j++)
for(int k=1;k<=ct;k++) d[j]=min(d[j],w[e[k]][j]);
for(int j=0;j<=18;j++)
for(int k=1;k<=ct;k++) w[e[k]][j]=d[j];
for(int j=1;j<=ct;j++)
for(int k=0;k<=18;k++) f[i][k]=min(f[i][k],w[e[j]][k]);
}
for(;m;m--)
{
scanf("%d%d",&x,&y); int B=0;
for(int k=0;k<=18;k++) if(a[y]&(1<<k)) if(f[x][k]<=y) B=1;
if(B) printf("Shi\n");
else printf("Fou\n");
}
}
CF1168C的更多相关文章
- CF1168C And Reachability 【构造,dp】
题目链接:洛谷 题目描述:给出$n$个数$a_i$,若$i<j$且$a_i & a_j>0$,则$i$到$j$连一条有向边,$q$次询问,询问从$l$开始是否能到达$r$. 数据范 ...
- CF1168C And Reachability(DP)
首先定义 $g[i][j]$ 表示 $i$ 前面(不包括 $i$)第一个第 $j$ 位是 $1$ 的数的位置.可以随便转移. 再定义 $f[i][j]$ 表示 $i$ 前面(包括 $i$)第一个第 $ ...
- 在$CF$水题の记录
CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...
随机推荐
- vue基础学习一
写一个例子,告诉你VUE的方便之处,就是双向绑定,不需要操作DOM对象,而是操作数据 div中msg 和JS中msg是一一对应的 然后看浏览器中 然后如果我想改变浏览器中值,我在console这么操作 ...
- 关于<a></a>标签里嵌套<a></a>标签的bug
当你用一个<a></a>标签时,在<a>标签中再插入一个<a></a>,此时,你会发现外面的<a>标签会重复出现,且有点混乱.找 ...
- Fix invisible cursor issue in Ubuntu 13.10
Fix invisible cursor issue in Ubuntu 13.10 Fixing this problem is rather too easy. Open a terminal ( ...
- 模拟javaWeb责任链的设计
这篇文章介绍了责任链模式的应用:本文介绍如果自己实现一个责任链 定义请求和响应信息 简单定义请求类Request(封装一个字符串) public class Request { String requ ...
- 解决div和img之间的空隙
div盒子和img之间有空隙之前也遇到过几次这问题,今天又遇到了特地来总结下. 先上代码和效果图: <!doctype html><html lang="en"& ...
- Razor 保存动态表格
本文转载自 ASP.NET MVC数组模型绑定 ,https://www.cnblogs.com/choon/p/5429065.html 内容根据评论内容中的方式有所调整 在ASP.NET MVC ...
- jQuery HTML-设置
例子1 html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...
- mysql 根据字母排序
select CONVERT(u.user_name USING gbk) AS user_name from table where 1=1 order by user_name
- sparksql 自定义用户函数(UDF)
自定义用户函数有两种方式,区别:是否使用强类型,参考demo:https://github.com/asker124143222/spark-demo 1.不使用强类型,继承UserDefinedAg ...
- django 如何重用app
若有一个已经运行稳定的程序,那么可以将其打包,供其他项目安装使用. 假设django项目的目录结构如下: mysite/ manage.py mysite/ __init__.py settings. ...