F-Robots

第一种第二种机器人直接O(n)O(n)O(n)判断即可。

第三种机器人暴力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)相关推荐

  1. 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 ...

  2. 2021牛客暑期多校训练营4 B - Sample Game 期望dp\生成函数

    传送门 文章目录 题意: 思路: 题意: 给你一个生成器,每次生成1−n1-n1−n其中的某个数的概率为pip_ipi​,生成的规则如下: (1)(1)(1)随机生成一个数加入集合. (2)(2)(2 ...

  3. 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所有路径的或/与/异或值. 转移的时候我们要考虑 ...

  4. 2021牛客暑期多校训练营4 B-Sample Game(概率DP)

    B-Sample Game ding_ning123大佬题解 注:上述题解图片来自ding_ning123大佬题解 Code #include<bits/stdc++.h> using n ...

  5. 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个人选择的概率. 转移考虑 ...

  6. 2021牛客暑期多校训练营2 F Girlfriend (阿波罗尼斯圆+简单几何)

    F Girlfriend (阿波罗尼斯球+简单几何) 题目大意: 给定四个点,每两个点构成一个阿波罗尼斯球,求两圆相交部分的体积. 思路: 一看就是几何题啊,话不多说直接开淦... 首先对于阿波罗尼斯 ...

  7. 2021牛客暑期多校训练营2 - F - Girlfriend ( 球体积相交 )

    题目连接:点击进入 题目 题意 A.B.C.D.k1.k2 已知,根据不等式, P1 的取值会形成一个图形,P2 类似,求两个图形的交 思路 这个式子取等号是阿波罗尼斯圆,二维平面是圆,三维是球壳,取 ...

  8. 2021牛客暑期多校训练营7

    2021牛客暑期多校训练营7 文章目录 2021牛客暑期多校训练营7 F:xay_loves_trees 解释 代码 H:xay_loves_count 解释 代码 I:xay_loves_or 解释 ...

  9. 2021牛客暑期多校训练营9

    2021牛客暑期多校训练营9 题号 题目 知识点 A A Math Challenge B Best Subgraph C Cells D Divide-and-conquer on Tree E E ...

最新文章

  1. PHPStudy下Apache SSL证书安装教程
  2. 用于改善质量、稳定性和多样性的可增长式GAN
  3. 计算机位运算:左移乘以2,右移除以2
  4. Redis快照(Snapshot)特点
  5. minGW64安装和使用 极简教程
  6. linux常用架构,Linux常用到的一些命令-Go语言中文社区
  7. hello March
  8. 【深度学习】深度学习实验记录--自编码+分类器
  9. jquery系列教程2-style样式操作全解
  10. POJ 2082Lost Cows
  11. win10系统eclipse中整合hadoop错误
  12. 用技术——设计模式22——行为型模式——模板模式——待补充
  13. Network Delay Time
  14. win11笔记本没有网络图标问题的解决历程
  15. .7z文件 合并、解压
  16. 听说今年金三银四变成金一银二了。
  17. 全球与中国稀土荧光粉市场深度研究分析报告
  18. Direct2D 图形计算
  19. NPDP产品经理小知识:黄金圈法则
  20. 基于web视频聊天技术归纳

热门文章

  1. 支持向量回归代码_RDKit:基于支持向量回归(SVR)预测logP
  2. 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc
  3. powerpc-linux-gcc,关于powerpc-linux-uclibc-gcc的使用
  4. oracle 查看函数被哪些触发器引用_oracle如何查看存储过程,存储函数,触发器的具体内容...
  5. csv 字符串_python3从零学习-5.5.1、CSV 文件读写
  6. 读取oracle bfile字段,ORACLE中BFILE字段的使用研究_oracle
  7. leetcode28. 实现 strStr(KMP详解)
  8. LeetCode 82 删除排序链表中的重复元素||-中等
  9. Subset POJ - 3977(折半枚举+二分+二进制枚举)
  10. Redundant Paths POJ - 3177(tarjan+边双连通分量)