Codeforces Round #562 (Div. 1) C. And Reachability
时间:2021-08-06
本文章向大家介绍Codeforces Round #562 (Div. 1) C. And Reachability,主要包括Codeforces Round #562 (Div. 1) C. And Reachability使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
考虑\(dp\),\(dp[i][j]\)表示从i开始最先到达的第j位为1的位置
如果\(a[x]\)能转移到\(a[y]\)那么必定有一位二进制位置上,\(dp[x][k]<=y\)
\(dp\)转移:从\(n\)向\(1\)枚举\(i\),如果\(a[i]\)在某一位上为\(1\),就用上一个该位为1的数更新\(dp[i][j]\).
const int maxn = 3e5 + 7;
int n, t, m;
int a[maxn];
int dp[maxn][30], nex[maxn];
void solve() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n + 1; i++)
fill(dp[i], dp[i] + 30, n + 1);
fill(nex, nex + maxn, n + 1);
for (int i = n; i >= 1; i--) {
for (int j = 25; j >= 0; j--) {
if ((a[i] >> j) & 1) {
for (int k = 0; k <= 25; k++)
dp[i][k] = min(dp[i][k], dp[nex[j]][k]);
dp[i][j] = i;
nex[j] = i;
}
}
}
for (int i = 1, x, y; i <= m; i++) {
cin >> x >> y;
int fg = 0;
for (int k = 0; k <= 25; k++)
if ((a[y] >> k) & 1)
fg |= (dp[x][k] <= y);
if (fg) cout << "Shi" << endl;
else cout << "Fou" << endl;
}
}
我看见 你
原文地址:https://www.cnblogs.com/maymi/p/15110416.html
- hadoop:将WordCount打包成独立运行的jar包
- Hadoop: MapReduce2多个job串行处理
- UE4新手引导之下载和安装虚幻4游戏引擎
- mac 下卸载mysql的方法
- ZooKeeper 笔记(1) 安装部署及hello world
- mybatis 使用经验小结
- ZooKeeper 笔记(2) 监听数据变化
- 使用C# 和Consul进行分布式系统协调
- 设置 java -jar 的进程显示名称
- 爱浪携手豆瓣内容、腾讯共同发布AI语音耳机
- Win.ini和注册表的读取写入
- ZooKeeper 笔记(4) 实战应用之【消除单点故障】
- 64位centos 下编译 hadoop 2.6.0 源码
- Python基础原理:FP-growth算法的构建
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CTO写的代码,真是绝了!
- 用 BERT 精简版 DistilBERT+TF.js,提升问答系统 2 倍性能
- docker浅入深出
- 一篇文章快速搞懂Qt文件读写操作
- C++核心准则T.20:避免定义没有明确语义的“概念”
- 机器学习之独热编码(One-Hot)详解(代码解释)
- TypeScript 实战算法系列(四):实现集合和各种集合运算
- 不知道怎么封装代码?看看这几种设计模式吧!
- 百分浏览器快捷键
- 深度神经网络权值初始化的几种方式及为什么不能初始化为零(1)
- Python_doc.1
- (24)Bash预定义变量
- 数组:每次遇到二分法,都是一看就会,一写就废
- OSPF 路由协议配置
- 项目实战 | 细节决定成败的渗透测试