当前位置: 首页 > wzjs >正文

微站设计wordpress标题序号

微站设计,wordpress标题序号,怎么看网站是不是做竞价,中企动力简介洛谷题目传送门 题目描述 到冬天了,这意味着下雪了!从农舍到牛棚的路上有 N 块地砖,方便起见编号为 1…N,第 i 块地砖上积了 ​ 英尺的雪。 在 Farmer John 的农舍的地窖中,总共有 B 双靴子,编号为 1…B。…

洛谷题目传送门

题目描述

到冬天了,这意味着下雪了!从农舍到牛棚的路上有 N 块地砖,方便起见编号为 1…N,第 i 块地砖上积了 f_{i}​ 英尺的雪。 在 Farmer John 的农舍的地窖中,总共有 B 双靴子,编号为 1…B。其中某些比另一些结实,某些比另一些轻便。具体地说,第 i 双靴子能够让 FJ 在至多 si​ 英尺深的积雪中行走,能够让 FJ 每步至多前进 d_{i}​。

Farmer John 从 1 号地砖出发,他必须到达 N 号地砖才能叫醒奶牛们。1 号地砖在农舍的屋檐下,N 号地砖在牛棚的屋檐下,所以这两块地砖都没有积雪。帮助 Farmer John 求出哪些靴子可以帮助他走完这段艰辛的路程。

输入格式

第一行包含两个空格分隔的整数 N 和 B(1≤N,B≤10^{5})。
第二行包含N个空格分隔的整数;第 i 个整数为 f_{i},即 i 号地砖的积雪深度(0≤f_{i}​≤10^{9})。输入保证 f_{1}​=f_{N}​=0。

下面 B 行,每行包含两个空格分隔的整数。第 i+2 行的第一个数为 s_{i},表示第 i 双靴子能够承受的最大积雪深度。第 i+2 行的第二个数为 d_{i},表示第 i 双靴子的最大步长。输入保证 0≤s_{i}10^{9} 以及 1≤d_{i}≤N−1。

输出格式

输出包含 B 行。第 i 行包含一个整数:如果 Farmer John 能够穿着第 i 双靴子从 1 号地砖走到 N 号地砖,为 1,否则为 0。

题意翻译

输入输出样例

输入 

8 7
0 3 8 5 6 9 0 0
0 5
0 6
6 2
8 1
10 1
5 3
150 7

输出

0
1
1
0
1
1
1

思路

我们把每个地砖看作步长为 0 的鞋子,每当我们遇到一个地砖就把他加入到地面,每遇到步长大于 0 的,就访问。

我们发现,如果我们把所有鞋子按深度递增排序,遇到步长大于 0 的,就不需要考虑深度,只需要考虑步长

如果每两个相邻地砖之间的距离(不包括端点)都小于这个鞋子的步长,则就可以穿这双鞋子走过去

我们定义 dp[ i ] 表示以第 i 个位置结束的连续没有地砖的长度

我们只需要用一个线段树去维护 dp[ i ]的最大值

我们考虑每个地砖加入时 dp 该如何变化

如:

 原来是:

编号: 1  2  3  4  5  6
vis : 1  0  0  0  0  1
dp  : 0  1  2  3  4  0 

在位置 4 加入一块地砖:

编号: 1  2  3  4  5  6
vis : 1  0  0  1  0  1
dp  : 0  1  2 3-3 4-3  0 

我们发现如果我们在 i 点加入一块地砖,那么 i 直到 i 后的   第一个 vis 值为1的点   的前一个点j

的dp值都要减少 dp[ i ],因为 i 点dp变为0了,后面点都要依次向后加,直到下一块vi值为0

那么对于每一次修改,如果我们要在 i 加入一块地砖,我们只需要暴力求出点 j,将区间

[ i , j ]都减去dp[i]就可以了

注意一点,我们求出每一个询问的答案时不能直接输出,因为顺序是乱的。我们应先把他保存下来,最后输出就可以了

Code

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5,INF=0x3f3f3f3f;
struct tre{int l,r,data,lzy;//data 保存最大值 
};
int b[N],c[N];//b 为dp的初始数组 
class segment_tree{//线段树 
private:tre tree[N*4];
public:void add(int u,int v){tree[u].data+=v;tree[u].lzy+=v;}void pushup(int u){tree[u].data=max(tree[u<<1].data,tree[u<<1|1].data);}void pushdown(int u){add(u<<1,tree[u].lzy);add(u<<1|1,tree[u].lzy);tree[u].lzy=0;}void build(int u,int l,int r){tree[u]={l,r,0,0};if(l==r){tree[u].data=b[l];return;}int mid=l+r>>1;build(u<<1,l,mid);build(u<<1|1,mid+1,r);pushup(u);}void chang(int u,int x,int y,int v){//区间修改 if(tree[u].l>y||tree[u].r<x)return;if(tree[u].l>=x&&tree[u].r<=y){add(u,v);return;}pushdown(u);chang(u<<1,x,y,v);chang(u<<1|1,x,y,v);pushup(u);}int getx(int u,int x){//单点查询 if(tree[u].l>x||tree[u].r<x)return 0;if(tree[u].l==tree[u].r&&tree[u].r==x){return tree[u].data;}pushdown(u);return max(getx(u<<1,x),getx(u<<1|1,x));}int getmax(int u,int x,int y){//区间访问 int l=tree[u].l,r=tree[u].r;if(y<l||x>r)return -0x3f3f3f3f;if(x<=l&&r<=y)return tree[u].data;int maxx=-INF;pushdown(u);maxx=max(maxx,getmax(u<<1,x,y));maxx=max(maxx,getmax(u<<1|1,x,y));return maxx;}
}t1;
int n,m,o;
struct S{int x,y,z,id;//x为深度,y为步长,z为砖的位置,id为鞋子的编号 friend bool operator<(S t1,S t2){//按深度排序,辅之以步长排序 return t1.x==t2.x?t1.y<t2.y:t1.x<t2.x;}
}a[N*2];
int ans[N];//保存答案 
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[++o].x;a[o].y=0;a[o].z=i;b[i]=i;}for(int i=1;i<=m;i++){o++;cin>>a[o].x>>a[o].y;a[o].z=0;a[o].id=i;}t1.build(1,1,n);//一定要记得建树 sort(a+1,a+1+o);c[n+1]=1;for(int i=1;i<=o;i++){if(a[i].y==0){int en;for(int j=a[i].z+1;j<=n+1;j++){//暴力求解右区间 if(c[j]==1){en=j;break;}}t1.chang(1,a[i].z,en-1,-t1.getx(1,a[i].z));//修改区间,注意i与a[i].z不要搞混了 c[a[i].z]=1;}else {ans[a[i].id]=(t1.getmax(1,1,n)<a[i].y);//保存答案 }}for(int i=1;i<=m;i++)cout<<ans[i]<<'\n';return 0;
}


文章转载自:

http://9uYJZK2e.LxLfr.cn
http://2CJET6nl.LxLfr.cn
http://RBSvVefA.LxLfr.cn
http://ESMhhii8.LxLfr.cn
http://qg2UrIUG.LxLfr.cn
http://2Q0tr4cD.LxLfr.cn
http://R1uPK89Q.LxLfr.cn
http://ymTDPB9l.LxLfr.cn
http://zqFcBxAs.LxLfr.cn
http://cjluTtmB.LxLfr.cn
http://c1KuCZof.LxLfr.cn
http://yPt1aUJH.LxLfr.cn
http://4rY6UwJD.LxLfr.cn
http://Qb3wqaMZ.LxLfr.cn
http://1mMyYU9P.LxLfr.cn
http://ltH0AyMh.LxLfr.cn
http://rkI7ijvH.LxLfr.cn
http://FsugfSGD.LxLfr.cn
http://zP1705KB.LxLfr.cn
http://CIvydTDY.LxLfr.cn
http://94goQ9DK.LxLfr.cn
http://B5WJW56f.LxLfr.cn
http://JzSjT9HC.LxLfr.cn
http://g82VAqkE.LxLfr.cn
http://87Vrf9PB.LxLfr.cn
http://kyOZXYkd.LxLfr.cn
http://y7wxLKJh.LxLfr.cn
http://PxNrDX3j.LxLfr.cn
http://xR6ra7cZ.LxLfr.cn
http://00CuFzta.LxLfr.cn
http://www.dtcms.com/wzjs/758902.html

相关文章:

  • 什么建站程序好收录wordpress微信个人支付宝
  • 银锭网那个网站做的 好内容型网站的运营
  • 舞台灯光网站建设wordpress再见
  • 六安住房和城乡建设局官方网站现代化专业群建设网站
  • 网站建设辶首选金手指十五国企建筑单位招聘信息
  • 蚌埠市建设局网站团购网站开发语言
  • 房产网站排名做西点的网站
  • ui设计自学网站推荐南宁做网约车怎么样
  • 简约网站设计欣赏网站 审批号
  • 广州百度推广电话长沙seo外包
  • 帝国网站整站迁移乐清市亿新软件科技有限公司
  • 广州国外建站模板信息型网站有哪些
  • 微信公众号上微做网站网站开发前端培训
  • 广州建设集团股份有限公司网络营销seo是什么意思
  • 网站建设安全需求给企业做网站的公司
  • 攸县住房和城乡规划建设局网站wordpress个人工作室主题
  • 通辽市网站建设运动器材网站建设
  • 海尔网站建设信息山西省吕梁市有哪些县
  • 一般做美食网站的产品需求在线一键免费生成网页网站
  • 运营网站挣钱方法网站做seo推广 s
  • 如何设计网站布局中国第一作文网官网
  • 如何给给公司建立网站惠州网站建设技术托管
  • 做项目搭建网站 构建数据库北京做微信网站
  • 做什麽网站有前景h5多人同时交互
  • 网站访问量大怎么办网站快速收录提交
  • 创建个人百度百科网站的哪些标签需要优化
  • 免费网站建设ppt英文wordpress 安装
  • 网站建设廾金手指专业壹柒房屋结构自建设计 网站
  • 珠海网站建设技术支持wordpress二维码 插件下载地址
  • 做百度网站接到多少客户电话号码网站建设 技术团队