JDOJ 2175: 忠诚2

2023-12-02 03:30
文章标签 忠诚 2175 jdoj

本文主要是介绍JDOJ 2175: 忠诚2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JDOJ 2175: 忠诚2

题目传送门

Description

老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总是一次问多个问题。
在询问过程中账本的内容可能会被修改

Input

输入中第一行有两个数m,n表示有m(m<=100000)笔账,n表示有n个问题,n<=100000。
接下来每行为3个数字,第一个p为数字1或数字2,第二个数为x,第三个数为y
当p=1 则查询x,y区间
当p=2 则改变第x个数为y

Output

输出文件中为每个问题的答案。具体查看样例。

Sample Input

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

Sample Output

2 0

题解:

线段树。

单点修改区间查询。

模板。

代码:

#include<cstdio>
#include<algorithm>
#define lson pos<<1
#define rson pos<<1|1
using namespace std;
int m,n;
int a[100001];
int tree[100001<<2];
void build(int pos,int l,int r)
{int mid=(l+r)>>1;if(l==r){tree[pos]=a[l];return;}build(lson,l,mid);build(rson,mid+1,r);tree[pos]=min(tree[lson],tree[rson]);
}
void fix(int pos,int l,int r,int x,int y)
{int mid=(l+r)>>1;if(l==r){tree[pos]=y;return;}if(x<=mid)//attentionfix(lson,l,mid,x,y);else if(x>mid)//attentionfix(rson,mid+1,r,x,y);tree[pos]=min(tree[lson],tree[rson]);
}
int getsum(int pos,int l,int r,int x,int y)
{int ret=1<<30;int mid=(l+r)>>1;if(x<=l && r<=y)return tree[pos];if(y<=mid)ret=min(ret,getsum(lson,l,mid,x,y));else if(x>mid)ret=min(ret,getsum(rson,mid+1,r,x,y));elseret=min(ret,min(getsum(lson,l,mid,x,y),getsum(rson,mid+1,r,x,y)));return ret;
}
int main()
{int flag=1;scanf("%d%d",&m,&n);for(int i=1;i<=m;i++)scanf("%d",&a[i]);build(1,1,m);for(int i=1;i<=n;i++){int p,a,b;scanf("%d",&p);if(p==1){if(flag==1){scanf("%d%d",&a,&b);printf("%d",getsum(1,1,m,a,b));flag=0;}else{scanf("%d%d",&a,&b);printf(" %d",getsum(1,1,m,a,b));}}if(p==2){scanf("%d%d",&a,&b);fix(1,1,m,a,b);}}return 0;
}

作为一个刚学线段树的蒟蒻,本人很负责地告诉大家:

一定要注意二分递归的时候是<=还是< ,>=还是>。(代码中attention部分)

否则就是:

1738131-20190805132457794-663484072.png

(这就是二分没学好的后果)

转载于:https://www.cnblogs.com/fusiwei/p/11302472.html

这篇关于JDOJ 2175: 忠诚2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/443801

相关文章

poj 2175 最小费用最大流TLE

题意: 一条街上有n个大楼,坐标为xi,yi,bi个人在里面工作。 然后防空洞的坐标为pj,qj,可以容纳cj个人。 从大楼i中的人到防空洞j去避难所需的时间为 abs(xi - pi) + (yi - qi) + 1。 现在设计了一个避难计划,指定从大楼i到防空洞j避难的人数 eij。 判断如果按照原计划进行,所有人避难所用的时间总和是不是最小的。 若是,输出“OPETIMAL",若

打造信任和忠诚:增加和改善客户评价的10种方法

客户推荐和产品评价可以成为您最强大的销售工具之一。超过70%的消费者表示他们在购买前会查看产品评价,近63%的消费者表示他们更有可能从有产品评级和评价的网站购买。社会认可可以安抚犹豫的购物者,提供额外的背景信息,并通过确保买家对购买满意来减少退货。 想要在您的业务中建立信任,创造有意义的社会认可并培养品牌忠诚度吗?以下是10个帮助您提升产品评价和客户推荐的建议。 1.将评价放在显眼位置 考虑

洛谷p1816忠诚

原题 区间查询最小值,数据1e5,nlogn算法,联想到RMQ算法,f[i][j]表示i点后2<<j位中最小值,dp枚举即可。 #include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<iomanip>#include<algorithm>#define in(x) scanf("%d"

九型人格测试,6号忠诚型人格的职业分析

在九型人格测试中,6号忠诚型人格,他们乐于接受安排,做事情小心谨慎,忠诚待人,喜欢群体性生活,为别人做事情忠心耿耿,很享受这种状态,而不觉得是自己吃亏,通常会被人理解为:老实人,厚道人。   从另一方面来说,他们有些不思进取,总是待在一个熟悉的环境,并且骨子里愿意相信权威,也乐意为对方服务。忠诚、警觉、机智和务实,拥有团体意识,希望能够得到别人的接纳和喜欢。很少与人发生冲突,会和平地表达自己的意见

农村中老年用户对H公司太忠诚了,这块市场没有谁能抢走

我们看惯了城市里各种青年消费者的H公司的零售店以及在苹果零售店的表现,这次回到农村与村里的中老年人聊天,发现他们大多手拿H公司的手机,这部分消费者不乏文化水平较高的人士。 亲戚为1990年代初的重点大学毕业生,计算机专业,吃到了计算机行业的头啖汤,因此在近50岁的时候就选择了半退休,回了县城居住,偶尔也会回村里,这次春节期间他当然也回村了。 在县城生活几年的日子,他也逐渐融入了如今的农村和乡镇

看《兰德公司对中国的评价》——做一个勇敢、忠诚、正直和诚实的中国人

兰德是美国领先的智库/思想库。应该是个保守派/右派,下面的文章写的很狠,但耐心想想是有它的道理,是对我们这一代人的一个警钟。中国不要成为一个没有灵魂的巨人。《兰德公司对中国的评价》全文请参考晃姐姐的博文:http://blog.sina.com.cn/s/blog_476bdd0a0100ggvp.html 我的家乡有一句方言:为北京人怕冷,字面上是在海南岛那个天高皇帝远的地方,管啥北京人的死

乔布斯背后的苹果九虎将:才华横溢又极端忠诚

乔布斯背后的苹果九虎将:才华横溢又极端忠诚 2011年08月26日08:06         手机看新闻 打印 网摘 纠错 商城 分享 推荐 <!--a href="#weibkgo" onClick='goweibk()'>微博字号 推荐阅读 更多 一般人我不告诉他!显示器6大误区解读 拍美女很简单!编辑教你拍好人像与微距 ThinkPad X1领衔 暑促新

忠诚(洛谷1816)

题目描述 老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总是一次问多个问题。

6大关键词:尝新/随心/低忠诚···,全面解读食品饮料行业发展趋势与消费者洞察|徐礼昭

内容:重构零售实验室&商派 《2023食品饮料行业零售数字化洞察报告》节选 作者:徐礼昭(商派市场负责人,重构零售实验室负责人) 如今品牌的影响力不再止于资本与业绩数字,更多是在产品核心价值以及消费者互动等层面下苦功,提升竞争力。那么,价值回归之下,食品饮料行业又有哪些新的发展趋势?消费者画像又有怎样的变化?DTC战略如何赋能企业增长?品牌们又该如何修炼自身的数字化能力,把握住数字时代

P1816 忠诚题解

题目原网址: https://www.luogu.com.cn/problem/P1816 题目描述 老管家是一个聪明能干的人。他为财主工作了整整 1010 年。财主为了让自已账目更加清楚,要求管家每天记 kk 次账。由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按 1, 2, 3 \ldo