[nowcoder5667G]Greater and Greater

1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 150005
4 struct ji{
5 int k,id;
6 bool operator < (const ji &a)const{
7 return (k<a.k)||(k==a.k)&&(id<a.id);
8 }
9 }a[N];
10 int n,m,ans,b[N];
11 bitset<40005>o,s,g[40005];
12 void write(bitset<40005> o){
13 for(int i=1;i<=m;i++){
14 int x=o[i];
15 printf("%d ",x);
16 }
17 printf("\n");
18 }
19 int main(){
20 scanf("%d%d",&n,&m);
21 for(int i=1;i<=n;i++)scanf("%d",&b[i]);
22 for(int i=1;i<=m;i++){
23 scanf("%d",&a[i].k);
24 a[i].id=i;
25 }
26 sort(a+1,a+m+1);
27 g[1][0]=1;
28 for(int i=1,j=1;i<=m;i=j){
29 while (a[i].k==a[j].k)j++;
30 g[j]=g[i];
31 for(int k=i;k<j;k++)g[j][a[k].id]=1;
32 }
33 o[0]=s[0]=1;
34 for(int i=1;i<=n;i++){
35 s=(((s<<1)|o)&g[upper_bound(a+1,a+m+1,ji{b[i],m+1})-a]);
36 if (s[m]==1)ans++;
37 }
38 printf("%d",ans);
39 }
[nowcoder5667G]Greater and Greater的更多相关文章
- 2020牛客暑假多校训练营 第二场 G Greater and Greater bitset
LINK:Greater and Greater 确实没能想到做法. 考虑利用bitset解决问题. 做法是:逐位判断每一位是否合法 第一位 就是 bitset上所有大于\(b_1\)的位置 置为1. ...
- Go 语言的基本数据类型
Go 语言的基本数据类型 0)变量声明 var 变量名字 类型 = 表达式 例: 其中“类型”或“= 表达式”两个部分可以省略其中的一个. 1)根据初始化表达式来推导类型信息 2)默认值初始化为0. ...
- C++程序设计——知识点总结
C++程序设计课程的总结,方便以后快速查阅和复习 Week 2 从C走进C++ 函数指针 函数名是函数的入口地址,指向函数的指针称为"函数指针". 比如,qsort库函数: voi ...
- 3.OGG函数
1.COMPUTE 一般用来计算目标端和源段的字段值,使用这个函数计算出目标端对应列想要的值 Use the @COMPUTE function to return the value of ...
- Matlab编程基础
平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...
- 搜索表头的例子-jqueryEasyUi
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Robot Framework--09 分支与循环的用法
转自:http://blog.csdn.net/tulituqi/article/details/8038923 一.分支 在Robotframework2.7.4之前的版本,我们要想写IF比较容易, ...
- 第23章 排序算法(包括merge等)
第23章 排序算法 Sorting:1 sort Sort elements in range (function template)2 stable_sort Sort elements pr ...
- [转]PDF预览插件PDFObject.js
本文转自:http://pdfobject.com/index.php When possible, use standardized HTML markup and avoid JavaScript ...
随机推荐
- 题解 [HNOI2007]分裂游戏
题目传送门 题目大意 有趣的取石子游戏即将开始. 有 \(n\) 堆石头,编号为 \(0,1,2,...,n-1\).两个人轮流挑石头. 在每个回合中,每个人选择三堆编号为 \(i,j,k\) 的石头 ...
- Win7恢复注册表
前言 安装仿真实验环境的时候,按照指引把杀软关了,然后出现了"不是有效Win32应用程序"的错误,bd了一下解决方案,爬到了一篇文章:删除注册表中的.exe然后重启,然后,所有的e ...
- jsonp和cors解决跨域
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.对于JSON大家应该是很了解了吧,不是很清楚的朋友可以去json.org上了解下,简单易懂. 1.什么是跨 ...
- dubbo注册中心占位符无法解析问题(二)
dubbo注册中心占位符无法解析问题 前面分析了dubbo注册中心占位符无法解析的问题. 并给出了2种解决办法: 降低mybatis-spring的版本至2.0.1及以下 自定义MapperScann ...
- Linux搭建SVN服务器详细教程
前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...
- 5.29日 Scrum Metting
日期:2021年5月29日 会议主要内容概述:人员调整,xyl同时兼顾前后端:确定表格缩放策略和新图表添加:强调任务分配,总结工作. 一.进度情况## 组员 负责 两日内已完成的工作 后两日计划完成的 ...
- BUAA 2020 软件工程 软件分析案例作业
Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件分析案例 我在这个课程的目标是 学习软件 ...
- Noip模拟43 2021.8.18
T1 地一体 可以树形$dp$,但考场没写出来,只打了没正确性的贪心水了$30$ 然后讲题的时候B哥讲了如何正确的贪心,喜出望外的学习了一下 不难发现 每次士兵都会直接冲到叶子节点 从深的点再返回到另 ...
- Python matplotlib pylot和pylab的区别
matplotlib是Python中强大的绘图库. matplotlib下pyplot和pylab均可以绘图. 具体来说两者的区别 pyplot 方便快速绘制matplotlib通过pyplot模块提 ...
- tarjan知识点梳理
tarjan在图论中还是挺重要的.这里就简要的梳理一下tarjan的知识点. tarjan算法与无向图连通性. 首先说一下图中割点和桥的定义. 桥:也称割边,定义类似,在无向图中,若去掉某条边,导致整 ...