2021牛客暑期多校训练营8 F-Robots(bitset优化dp)
F-Robots
第三种机器人暴力dp,用bitset优化。
bitset<250005> b[i][j]
表示从(i,j)(i,j)(i,j)能到达哪些点,第三种机器人向右向下转移即可。
状态压缩!
时间复杂度O(qn+n4w)O(qn+\frac{n^4}{w})O(qn+wn4)
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
template <class T=int> T rd()
{T res=0;T fg=1;char ch=getchar();while(!isdigit(ch)) {if(ch=='-') fg=-1;ch=getchar();}while( isdigit(ch)) res=(res<<1)+(res<<3)+(ch^48),ch=getchar();return res*fg;
}
vector<pair<int,int> > q[505][505];
char s[505][505];
int ans[500005];
int n,m;bitset<250005> b[2][505];int main()
{n=rd(),m=rd();for(int i=1;i<=n;i++) scanf("%s",s[i]+1);int qc=rd();for(int k=1;k<=qc;k++){int op=rd(),x=rd(),y=rd(),a=rd(),b=rd();if(op==1){for(int i=x;i<=n;i++) {if(s[i][y]=='1') break;if(i==a&&y==b) ans[k]=1;}}else if(op==2){for(int j=y;j<=m;j++){if(s[x][j]=='1') break;if(x==a&&j==b) ans[k]=1;}}else q[x][y].emplace_back(k,(a-1)*m+b);}// b[i][j]=(i,j)|b[i+1][j]|b[i][j+1];for(int i=n;i>=1;i--)for(int j=m;j>=1;j--){b[i&1][j].reset();if(s[i][j]=='1') continue;b[i&1][j]=b[i+1&1][j]|b[i&1][j+1];b[i&1][j].set((i-1)*m+j);for(pair<int,int> u:q[i][j]) ans[u.first]=b[i&1][j][u.second];}for(int i=1;i<=qc;i++) puts((ans[i])?"yes":"no");return 0;
}
2021牛客暑期多校训练营8 F-Robots(bitset优化dp)相关推荐
- 2021牛客暑期多校训练营6 :D Gambling Monster 期望dp + fwt + cdq分治
传送门 文章目录 题意: 思路: 题意: 给你一个大轮盘,被分成了nnn个区域0,1,2,..,n−10,1,2,..,n-10,1,2,..,n−1,每个区域被转到的概率是ai∑j=0n−1aj\f ...
- 2021牛客暑期多校训练营4 B - Sample Game 期望dp\生成函数
传送门 文章目录 题意: 思路: 题意: 给你一个生成器,每次生成1−n1-n1−n其中的某个数的概率为pip_ipi,生成的规则如下: (1)(1)(1)随机生成一个数加入集合. (2)(2)(2 ...
- 2021牛客暑期多校训练营5 E-Eert Esiwtib(树形dp+位运算)
E-Eert Esiwtib 位运算考虑贡献时分0/1按位模拟考虑 fu,0/1/2f_{u,0/1/2}fu,0/1/2表示子树u中点(包括u)到u所有路径的或/与/异或值. 转移的时候我们要考虑 ...
- 2021牛客暑期多校训练营4 B-Sample Game(概率DP)
B-Sample Game ding_ning123大佬题解 注:上述题解图片来自ding_ning123大佬题解 Code #include<bits/stdc++.h> using n ...
- 2021牛客暑期多校训练营1 I-Increasing Subsequence(期望dp+优化)
I-Increasing Subsequence fi,j,0/1f_{i,j,0/1}fi,j,0/1表示上一轮第一个人选了iii,第二个人选了jjj,并且当前是第1/2个人选择的概率. 转移考虑 ...
- 2021牛客暑期多校训练营2 F Girlfriend (阿波罗尼斯圆+简单几何)
F Girlfriend (阿波罗尼斯球+简单几何) 题目大意: 给定四个点,每两个点构成一个阿波罗尼斯球,求两圆相交部分的体积. 思路: 一看就是几何题啊,话不多说直接开淦... 首先对于阿波罗尼斯 ...
- 2021牛客暑期多校训练营2 - F - Girlfriend ( 球体积相交 )
题目连接:点击进入 题目 题意 A.B.C.D.k1.k2 已知,根据不等式, P1 的取值会形成一个图形,P2 类似,求两个图形的交 思路 这个式子取等号是阿波罗尼斯圆,二维平面是圆,三维是球壳,取 ...
- 2021牛客暑期多校训练营7
2021牛客暑期多校训练营7 文章目录 2021牛客暑期多校训练营7 F:xay_loves_trees 解释 代码 H:xay_loves_count 解释 代码 I:xay_loves_or 解释 ...
- 2021牛客暑期多校训练营9
2021牛客暑期多校训练营9 题号 题目 知识点 A A Math Challenge B Best Subgraph C Cells D Divide-and-conquer on Tree E E ...
最新文章
- PHPStudy下Apache SSL证书安装教程
- 用于改善质量、稳定性和多样性的可增长式GAN
- 计算机位运算:左移乘以2,右移除以2
- Redis快照(Snapshot)特点
- minGW64安装和使用 极简教程
- linux常用架构,Linux常用到的一些命令-Go语言中文社区
- hello March
- 【深度学习】深度学习实验记录--自编码+分类器
- jquery系列教程2-style样式操作全解
- POJ 2082Lost Cows
- win10系统eclipse中整合hadoop错误
- 用技术——设计模式22——行为型模式——模板模式——待补充
- Network Delay Time
- win11笔记本没有网络图标问题的解决历程
- .7z文件 合并、解压
- 听说今年金三银四变成金一银二了。
- 全球与中国稀土荧光粉市场深度研究分析报告
- Direct2D 图形计算
- NPDP产品经理小知识:黄金圈法则
- 基于web视频聊天技术归纳
热门文章
- 支持向量回归代码_RDKit:基于支持向量回归(SVR)预测logP
- 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc
- powerpc-linux-gcc,关于powerpc-linux-uclibc-gcc的使用
- oracle 查看函数被哪些触发器引用_oracle如何查看存储过程,存储函数,触发器的具体内容...
- csv 字符串_python3从零学习-5.5.1、CSV 文件读写
- 读取oracle bfile字段,ORACLE中BFILE字段的使用研究_oracle
- leetcode28. 实现 strStr(KMP详解)
- LeetCode 82 删除排序链表中的重复元素||-中等
- Subset POJ - 3977(折半枚举+二分+二进制枚举)
- Redundant Paths POJ - 3177(tarjan+边双连通分量)