忠诚 c++

14 篇文章 0 订阅

忠诚

题目描述

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

在询问过程中账本的内容可能会被修改

输入

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

输出

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

样例

in

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

out

2 0

解法

此题是线段树模板题,创建修改单点和查询区间函数即可

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,sum[400010],a[400010];
int p(int x){
	sum[x] = min(sum[x*2],sum[x*2+1]);
}
// 初始化函数 
void b(int l,int r,int rt){
	if(l==r){
		sum[rt] = a[l];return ;
	}
	int mid = l+r>>1;
	b(l,mid,rt*2);
	b(mid+1,r,rt*2+1);
	p(rt);
}
// 修改函数 
void xx(int l,int r,int rt,int x,int d){
	if(l==r){
		sum[rt] = d;
		return ;
	}
	int mid = l+r>>1;
	if( x<=mid) xx(l,mid,rt*2,x,d);
	else xx(mid+1,r,rt*2+1,x,d);
	p(rt);
}
// 查询区间
int c(int l,int r,int rt,int x,int y){
	if(l>=x and y>=r){
		return sum[rt];
	}
	int mid = l+r>>1;
	int ans=1234567890;
	if(x<=mid){
		ans = min(ans,c(l,mid,rt*2,x,y));
	}
	if(y>mid){
		ans = min(ans,c(mid+1,r,rt*2+1,x,y));
	}
	return ans;
} 
int main(){
	cin >> n >> m;          // 输入
	for(int i=1;i<=n;i++){
		cin >> a[i];
	}
	b(1,n,1);          // 初始化
	for(int i=1;i<=m;i++){ // 遍历每一个问题
		int p,x,y;
		cin >> p >> x >> y;
		if(p==1){
			cout << c(1,n,1,x,y) << ' '; 
		}else{
			xx(1,n,1,x,y);
		}
	}
	return 0;
}

感谢观看
这个是我和朋友创建的域欢迎加入!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用Qt框架的QPushButton类来实现C++按钮动态嵌套图片的功能。以下是一个简单的示例代码: ```c++ #include <QPushButton> #include <QPixmap> // 创建按钮 QPushButton *button = new QPushButton(parent); // 设置按钮的图像 QPixmap pixmap("image.png"); button->setIcon(pixmap); button->setIconSize(pixmap.size()); // 设置按钮的大小 button->setFixedSize(pixmap.width(), pixmap.height()); // 将按钮添加到父窗口中 parent->layout()->addWidget(button); ``` 在上面的代码中,我们首先创建了一个QPushButton对象,并且使用QPixmap类加载了一个图像作为按钮的图标。接着我们设置了按钮的大小为图像的大小,并且将按钮添加到了父窗口的布局中。 您可以根据需要修改上面的代码以实现您所需的效果。 ### 回答2: C按钮动态嵌套图片是一种常见的网页设计技术,它能够使按钮在特定的交互状态下,显示不同的图片。动态嵌套图片为用户提供了更直观、更友好的交互体验。 实现方式主要有两种,一种是通过CSS样式控制,另一种是通过JavaScript编程控制。无论使用哪种方式,都需要首先准备好按钮的不同状态对应的图片资源,并确保按钮具有足够的容器大小来显示这些图片。 CSS样式控制的方式可以利用CSS的伪类选择器,如":hover"、":active"等来实现按钮在不同状态下的样式切换。我们可以通过设置按钮的背景图片属性,使其在鼠标悬停、按下、选中等不同状态下显示对应的图片。具体的实现方式可以通过CSS样式表中设定相应的样式规则来实现,例如: .btn { background-image: url('default.jpg'); } .btn:hover { background-image: url('hover.jpg'); } .btn:active { background-image: url('active.jpg'); } JavaScript编程控制则更加强大和灵活。我们可以通过监听按钮的鼠标事件(如mouseover、mousedown等)来触发一段JavaScript代码,动态改变按钮的图片资源。使用JavaScript控制可以实现更复杂的效果,例如在按钮被点击时,可以使用动画效果来切换图片。以下是使用JavaScript实现按钮动态嵌套图片的简单示例: <button id="btn" onclick="changeImage()">按钮</button> <script> function changeImage() { var btn = document.getElementById("btn"); btn.style.backgroundImage = "url('clicked.jpg')"; } </script> 通过以上两种方式,我们可以实现C按钮动态嵌套图片。这种设计技术使得按钮在交互过程中能够更加生动,提升用户体验。 ### 回答3: C按钮动态嵌套图片是一种常见的网页设计技术,通过在按钮上添加图片,可以增加按钮的美观性和吸引力。这种技术可以用于各种网页和应用程序中,以提升用户体验和交互性。 动态嵌套图片的C按钮是指在按钮中使用图片作为背景,通过CSS样式表和HTML代码来实现。首先,我们需要在HTML中定义一个按钮标签,如按钮的大小、颜色和位置等。然后,通过CSS样式表中的背景属性,将背景设置为目标图片。这样,当用户点击按钮时,图片会作为背景动态显示。 使用动态嵌套图片的C按钮可以为用户提供更直观的反馈。例如,我们可以设置按钮的背景为一个带有颜色渐变效果的图片,在用户点击按钮时可以通过改变图片的透明度或颜色来显示按钮被按下的状态。这样的反馈可以帮助用户更清楚地了解操作的结果,并增加用户对网页或应用程序的兴趣和参与度。 另外,通过动态嵌套图片的C按钮还可以实现一些有趣的效果。例如,我们可以使用多张图片作为按钮的背景,通过改变图片的位置和大小,使按钮在不同状态下呈现不同的形态和效果。这种创新的设计可以增强用户对界面的记忆和认知,并提供更多的交互方式和体验。 总体而言,C按钮动态嵌套图片是一种有效的网页设计技术,可以提升用户体验和界面的美观性。通过合理运用该技术,我们可以为用户呈现更具吸引力和创意的界面,从而增加用户的参与度和忠诚度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值