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

RHCE-2-chrony服务器

简介

重要性

  • 由于IT系统中,准确的计时非常重要,有很多种原因需要准确计时:

    • 在网络传输中,数据包括和日志需要准确的时间戳

    • 各种应用程序中,如订单信息,交易信息等 都需要准确的时间戳

Linux的两个时钟

  • 硬件时钟RTC (Real Time Clock):即BIOS时钟,也就是我们主板中用电池供电的时钟,是将时间写入到BIOS中,系统断电后时间不会丢失,可以在开机时通过主板程序中进行设置

 # 查看硬件时间[root@server ~]# hwclock2023-05-30 09:48:32.535594+08:00
  • 系统时钟 (System Clock) :顾名思义也就是Linux系统内核时钟、软件时钟,是由Linux内核来提供的,系统时钟是基于内存,如果系统断电时间就会丢失

 # 查看系统时间[root@server ~]# date2023年 05月 30日 星期二 09:50:50 CST​[root@server ~]# date  -s  10:00    # 修改为错误的时间2023年 05月 30日 星期二 10:00:00 CST[root@server ~]# date2023年 05月 30日 星期二 10:00:01 CST[root@server ~]# hwclock  -s        # 向硬件时间同步[root@server ~]# date2023年 05月 30日 星期二 09:51:50 CST

设置日期时间

timedatectl命令设置
 # [root@server ~]# timedatectl  # 显示当前的日期和时间Local time: 三 2023-11-15 13:00:26 CST       # 本地时间Universal time: 三 2023-11-15 05:00:26 UTC   # 世界时间RTC time: 三 2023-11-15 06:16:16       # 硬件时间Time zone: Asia/Shanghai (CST, +0800)   # 时区System clock synchronized: yes                          # 时间是否已同步NTP service: active                       # 时间同步服务已启动RTC in local TZ: no # no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间​[root@server ~]# systemctl status chronyd  # 查看时间同步服务状态(由于默认使用chrony服务同步时间,不再使用ntp服务)​[root@server ~]# timedatectl set-ntp no  # 关闭时间同步,以方便修改日期时间​[root@server ~]# systemctl status chronyd​[root@server ~]# timedatectl set-time "2023-12-12"  # 设置新日期​[root@server ~]# timedatectl set-time "12:12:12"​[root@server ~]# timedatectlLocal time: 二 2023-12-12 12:12:22 CSTUniversal time: 二 2023-12-12 04:12:22 UTCRTC time: 二 2023-12-12 04:12:23Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: noNTP service: inactiveRTC in local TZ: no​[root@server ~]# timedatectl list-timezones | grep Asia # 查看可用时区​[root@server ~]# timedatectl set-timezone Asia/Shanghai  # 设置时区
 ​
date命令设置
 [root@server ~]# date  # 显示​[root@server ~]# date +"%Y-%m-%d %H:%M:%S"  # 格式显示​# 设置日期时间[root@server ~]# date  -s  2023-11-152023年 11月 15日 星期三 00:00:00 CST[root@server ~]# date  -s  14:33:332023年 11月 15日 星期三 14:33:33 CST[root@server ~]# date2023年 11月 15日 星期三 14:33:34 CST
  • 注意:以便于以后的实验正常执行,可恢复快照后继续

NTP

  • NTP:(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。

  • NTP基于UDP报文进行传输,使用的UDP端口号为123

  • NTP可以对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用,对于运行NTP的本地系统,既可以接受来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

  • NTP的其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms

Chrony介绍

  • chrony是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器(NTP)同步,因此让你的时间保持精确。

  • chrony由两个程序组成,分别是chronyd和chronyc

    • chronyd:是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

    • chronyc:提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作

  • 注意:Chrony与NTP都是时间同步软件,两个软件不能够同时开启,会出现时间冲突,openeuler中默认使用chrony作为时间服务器,不在支持NTP软件包

 [root@server ~]# systemctl status ntp  # 查看ntp状态

安装与配置

安装:

 # 默认已安装,若需要安装则可执行:​[root@server ~]# yum  install  chrony  -y​[root@server ~]# systemctl start  chronyd​[root@server ~]# systemctl enable  chronyd

Chrony配置文件分析

  • 主配置文件:/etc/chrony.conf

 [root@server ~]# vim  /etc/chrony.conf​# 使用 pool.ntp.org 项目中的公共服务器。# 或者使用server开头的服务器,理论上想添加多少时间服务器都可以# iburst表示的是首次同步的时候快速同步pool pool.ntp.org iburst​# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间 补偿调整。 driftfile /var/lib/chrony/drift ​# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进。 # Allow the system clock to be stepped in the first three updates if its offset is larger than 1 second. makestep 1.0 3 ​# 启用实时时钟(RTC)的内核同步。 # Enable kernel synchronization of the real-time clock (RTC). rtcsync ​# 通过使用 hwtimestamp 指令启用硬件时间戳 # Enable hardware timestamping on all interfaces that support it. #hwtimestamp * # Increase the minimum number of selectable sources required to adjust the system clock. #minsources 2 ​# 指定 NTP 客户端地址,以允许或拒绝连接到扮演时钟服务器的机器 # Allow NTP client access from local network. #allow 192.168.48.0/24​# Serve time even if not synchronized to a time source. # local stratum 10 ​# 指定包含 NTP 身份验证密钥的文件。 # Specify file containing keys for NTP authentication. # keyfile /etc/chrony.keys ​# 指定日志文件的目录。 # Specify directory for log files. logdir /var/log/chrony ​# 选择日志文件要记录的信息。 # Select which information is logged. # log measurements statistics tracking

同步时间服务器

授时中心
 210.72.145.44 国家授时中心 ntp.aliyun.com 阿里云 s1a.time.edu.cn 北京邮电大学 s1b.time.edu.cn 清华大学 s1c.time.edu.cn 北京大学 s1d.time.edu.cn 东南大学 s1e.time.edu.cn 清华大学 s2a.time.edu.cn 清华大学 s2b.time.edu.cn 清华大学 s2c.time.edu.cn 北京邮电大学 s2d.time.edu.cn 西南地区网络中心 s2e.time.edu.cn 西北地区网络中心 s2f.time.edu.cn 东北地区网络中心 s2g.time.edu.cn 华东南地区网络中心 s2h.time.edu.cn 四川大学网络管理中心 s2j.time.edu.cn 大连理工大学网络中心 s2k.time.edu.cn CERNET桂林主节点 s2m.time.edu.cn 北京大学 ntp.sjtu.edu.cn 202.120.2.101 上海交通大学
实验1
  • 同步时间

  • 第一步:先修改成错误时间

[root@server ~]# date  -s  10:30
2023年 05月 30日 星期二 10:30:00 CST
  • 第二步:编制chrony的配置文件

[root@server ~]# vim  /etc/chrony.conf 
# 定位第3行,删除后添加阿里的时间同步服务地址
server   ntp.aliyun.com   iburst# 注意:也可以先清空chrony.conf内容,将阿里开源提供的时间服务器推荐配置复制粘贴到该文件中
server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony
  • 第三步:重启服务

[root@server ~]# systemctl restart  chronyd
  • 第四步:时间同步

[root@server ~]# chronyc  sources  -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address        Stratum Poll Reach LastRx Last sample            
==========================================================================
^* 203.107.6.88            2   6    17    56   +493us[ -335us] +/-   34ms
第五步:查看时间是否同步[root@server ~]# timedatectl   statusLocal time: 二 2023-05-30 10:24:39 CSTUniversal time: 二 2023-05-30 02:24:39 UTCRTC time: 二 2023-05-30 02:24:40Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes    # yes  表名已同步NTP service: activeRTC in local TZ: no[root@server ~]# date
2023年 05月 30日 星期二 10:26:14 CST   
实验2
  • 搭建本地时间同步服务器

  • 架构

性质IP地址同步对象
服务端server192.168.48.130ntp.aliyun.com
客户端node1192.168.48.131192.168.48.130
  • 要求

    • 服务端server向阿里时间服务器进行时间同步

    • 客户端node1向服务端server进行时间同步

  • 第一步:定位服务端server

# 安装软件
[root@server ~]# yum  install  chrony  -y   # 默认已安装# 编辑配置文件,定位第3行,修改为阿里的时间服务地址
[root@server ~]# vim  /etc/chrony.conf 
server  ntp.aliyun.com  iburst# 重启服务
[root@server ~]# systemctl restart chronyd# 测试
[root@server ~]# chronyc  sources  -v[root@server ~]# timedatectl  status# 设置允许客户端时间同步
[root@server ~]# vim  /etc/chrony.conf 26 allow 192.168.48.131/24  # 定位第26行,设置谁可以访问本机进行同步
[root@server ~]# systemctl restart chronyd
  • 第二步:定位客户端node1

# 安装软件
[root@node1 ~]# yum  install  chrony  -y    # 编辑配置文件
[root@node1 ~]# vim  /etc/chrony.conf     # 修改第3行为server的地址
server  192.168.48.130  iburst# 重启服务
[root@node1 ~]# systemctl restart  chronyd# 测试
[root@node1 ~]# chronyc  sources  -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample           
=========================================================================
^* 192.168.48.130          3   6    17    39    +20us[ +252us] +/-   38ms[root@node1 ~]# timedatectl   statusLocal time: 二 2023-05-30 11:08:37 CSTUniversal time: 二 2023-05-30 03:08:37 UTCRTC time: 二 2023-05-30 03:08:38Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no
  • 注意:客户端同步失败的原因

    • 检查网络连通性,需要能ping通

    • 检查服务端的allow参数

    • 需要重启服务

chronyc命令

查看时间服务器:
[root@server ~]# chronyc  sources  -v  # -v参数表示显示内容是否有解释.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
======================================================================
chronyc sources输出分析
  • M:这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。

  • S:此列指示源的状态

*chronyd当前同步到的源
+表示可接受的信号源,与选定的信号源组合在一起
-表示被合并算法排除的可接受源
表示已失去连接的源
x表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)
~表示时间似乎具有太多可变性的来源
  • Name/IP address:显示服务器源的名称或IP地址

  • Stratum:表示源的层级,层级1表示本地连接的参考时钟,第2层表示通过第1层级计算机的时钟实现同步,依此类推

  • Poll:表示源轮询频率,以秒为单位,值是基数2的对数,例如值6表示每64秒进行一次测量,chronyd会根据当时的情况自动改变轮询频率

  • Reach:表示源的可达性的锁存值(八进制数值),该锁存值有8位,并在当接收或丢失一次时进行一次更新,值377表示最后八次传输都收到了有效的回复

  • LastRx:表示从源收到最近的一次的时间,通常是几秒钟,字母m,h,d或y分别表示分钟,小时,天或年

  • Last sample:表示本地时钟与上次测量时源的偏移量,方括号左侧的数字表示原始测量值,方括号右侧表示偏差值,+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前

其它命令

  • 查看时间服务器的状态

[root@server ~]# chronyc  sourcestats  -v
查看时间服务器是否在线[root@server ~]# chronyc  activity  -v
同步系统时钟[root@server ~]# chronyc  -a  makestep

常见时区

  • UTC 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。

  • GMT 格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

  • CST 中国标准时间 (China Standard Time)GMT + 8 = UTC + 8 = CST

  • DST夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。(中国不使用)

相关文章:

RHCE-2-chrony服务器

简介 重要性 由于IT系统中,准确的计时非常重要,有很多种原因需要准确计时: 在网络传输中,数据包括和日志需要准确的时间戳 各种应用程序中,如订单信息,交易信息等 都需要准确的时间戳 Linux的两个时钟 硬…...

音频RK809

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、目的二、知识准备2.1Audio框架2.1.1 DAI2.1.2 CODEC2.1.3 machine三、原理图3.1 整体原理图3.2 喇叭部分3.3 麦克风部分四、设备树4.1 sound 部分4.2 codec 部分五、驱动讲...

解决 linux 服务器 java 命令不生效问题

在Linux系统中,当你安装Java并设置了JAVA_HOME环境变量后,你可能需要使用source /etc/profile命令来使Java命令生效。这是因为/etc/profile是一个系统级的配置文件,它包含了系统的全局环境变量设置。 但是需要注意的是,source /e…...

22 多态

目录 多态的概念多态的定义及实现抽象类多态的原理单继承和多继承关系中的虚函数表继承和多态常见的面试问题 前言 需要声明的,下面的代码和解释的哦朴实vs2013x86环境,涉及指针是4bytes,如果要其他平台下,部分代码需要改动。比…...

排序算法超详细代码和知识点整理(java版)

排序 1、冒泡排序 ​ 两层循环,相邻两个进行比较,大的推到后面去,一共比较“数组长度”轮,每一轮都是从第一个元素开始比较,每一轮比较都会将一个元素固定到数组最后的一个位置。【其实就是不停的把元素往后堆&#…...

Java复习第十二天学习笔记(JDBC),附有道云笔记链接

【有道云笔记】十二 3.28 JDBC https://note.youdao.com/s/HsgmqRMw 一、JDBC简介 面向接口编程 在JDBC里面Java这个公司只是提供了一套接口Connection、Statement、ResultSet,每个数据库厂商实现了这套接口,例如MySql公司实现了:MySql驱动…...

Python从零到一构建GPT模型

只用Python和 torch框架,从零到一构建GPT模型,对大语言模型入门,了解GPT的内部网络结构,是一个很好示例。 Build_GPT_from_Scratch.ipynb...

V R虚拟现实元宇宙的前景|虚拟现实体验店加 盟合作|V R设备在线购买

VR(虚拟现实)技术作为一种新兴的技术,正在逐渐改变人们的生活和工作方式。随着技术的不断进步,人们对于元宇宙的概念也越来越感兴趣。元宇宙是一个虚拟世界,通过VR技术可以实现人们在其中进行各种活动和交互。 元宇宙的…...

大话设计模式之策略模式

策略模式是一种行为设计模式,它允许在运行时选择算法的行为。这种模式定义了一族算法,将每个算法都封装起来,并且使它们之间可以互相替换。 在策略模式中,一个类的行为或其算法可以在运行时改变。这种模式包含以下角色&#xff1…...

蓝桥杯23年第十四届省赛真题-三国游戏|贪心,sort函数排序

题目链接: 1.三国游戏 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-三国游戏 - C语言网 (dotcpp.com) 虽然这道题不难,很容易想到,但是这个视频的思路理得很清楚: [蓝桥杯]真题讲解:三国游戏&#xff0…...

P15:PATH环境变量

为什么要配置环境变量 当我们打开DOS窗口,输入:javac,出现下面问题。 原因:windows操作系统在当前目录中无法找到javac命令文件。Windows操作系统是如何搜索硬盘上某一个命令? 首先从当前目录中搜索该命令如果当前目录…...

math模块篇(七)

文章目录 math.dist(p, q)math.hypot(*coordinates)math.sin(x)math.tan(x)math.degrees(x)math.radians(x)math.acosh(x)math.asinh(x)math.atanh(x) math.dist(p, q) 在Python的math模块中,并没有一个名为math.dist(p, q)的函数。可能你是想要计算两点p和q之间的…...

wordpress插件,免费的wordpress插件

WordPress作为世界上最受欢迎的内容管理系统之一,拥有庞大的插件生态系统,为用户提供了丰富的功能扩展。在内容创作和SEO优化方面,有一类特殊的插件是自动生成原创文章并自动发布到WordPress站点的工具。这些插件能够帮助用户节省时间和精力&…...

Remote Desktop Manager for Mac:远程桌面管理软件

Remote Desktop Manager for Mac,是远程桌面管理的理想之选。它集成了多种远程连接技术,无论是SSH、RDP还是VNC,都能轻松应对,让您随时随地安全访问远程服务器和工作站。 软件下载:Remote Desktop Manager for Mac下载…...

如何撰写研究论文

SEVENTYFOUR/SHUTTERSTOCK 即使对于有经验的作家来说,将数月或数年的研究浓缩到几页纸中也是一项艰巨的任务。作者需要在令人信服地解决他们的科学问题和详细地呈现他们的结果之间找到最佳平衡点,以至于丢失了关键信息。他们必须简明扼要地描述他们的方…...

数据结构

一、栈 先进后出 二、队列 先进先出 三、数组 查询快,增加修改慢 四、链表 查询慢,增加修改慢 五、二叉树 节点: 查找二叉树 二叉查找树的特点 二叉查找树,又称二叉排序树或者二叉搜索树 每一个节点上最多有两个子节点 左子树上所…...

动态规划相关题目

文章目录 1.动态规划理论基础2.斐波那契数3.爬楼梯4.使用最小花费爬楼梯5.不同路径6.不同路径 II7. 整数拆分8. 不同的二叉搜索树 1.动态规划理论基础 1.1 什么是动态规划? 动态规划,英文:Dynamic Programming,简称DP,如果某一…...

iOS - Runtime - Class-方法缓存(cache_t)

文章目录 iOS - Runtime - Class-方法缓存(cache_t)1. 散列表的存取值 iOS - Runtime - Class-方法缓存(cache_t) Class内部结构中有个方法缓存(cache_t),用散列表(哈希表)来缓存曾经调用过的方法,可以提高…...

2014年认证杯SPSSPRO杯数学建模B题(第一阶段)位图的处理算法全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 B题 位图的处理算法 原题再现: 图形(或图像)在计算机里主要有两种存储和表示方法。矢量图是使用点、直线或多边形等基于数学方程的几何对象来描述图形,位图则使用像素来描述图像。一般来说&#…...

【物联网项目】基于ESP8266的家庭灯光与火情智能监测系统——文末完整工程资料源码

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …...

Unity中控制帧率的思考

如何控制帧率: 在Unity中,你可以通过设置Application.targetFrameRate来限制帧率。 例如,如果你想将帧率限制为16帧, 你可以在你的代码中添加以下行: Application.targetFrameRate 16; 通常,这行代码会放在…...

阿里云子域名配置,且不带端口访问

进入阿里云控制台,创建一个SSL证书 # 域名名称child.domain.com创建完成后,将返回主机记录以及记录值,保存好,用于下一步使用 创建DNS解析 创建DNS的TXT类型解析 选择记录类型:TXT 填写主机记录:_dnsa…...

C#-ConcurrentDictionary用于多线程并发字典

ConcurrentDictionary 是 .NET Framework 中用于多线程并发操作的一种线程安全的字典集合类。它提供了一种在多个线程同时访问和修改字典时保持数据一致性的机制。 以下是 ConcurrentDictionary 类的一些重要特性和用法: 线程安全性:ConcurrentDictiona…...

深入探讨多线程编程:从0-1为您解释多线程(下)

文章目录 6. 死锁6.1 死锁原因 6.2 避免死锁的方法加锁顺序一致性。超时机制。死锁检测和解除机制。 6. 死锁 6.1 死锁 原因 系统资源的竞争:(产生环路)当系统中供多个进程共享的资源数量不足以满足进程的需要时,会引起进程对2…...

深度学习pytorch——减少过拟合的几种方法(持续更新)

1、增加数据集 2、正则化(Regularization) 正则化:得到一个更加简单的模型的方法。 以一个多项式为例: 随着最高次的增加,会得到一个更加复杂模型,模型越复杂就会更好的拟合输入数据的模型(图-1)&#…...

排序第五篇 归并排序

一 简介 归并排序(Merge Sort) 的基本思想是: 首先将待排序文件看成 n n n 个长度为1的有序子文件, 把这些子文件两两归并, 得到 n 2 \frac{n}{2} 2n​ 个长度为 2 的有序子文件; 然后再把这 n 2 \frac{n}{2} 2n​ 个有序的子…...

【Win】使用PowerShell和Webhooks轻松发送消息至Microsoft Teams

Microsoft Teams是一款由微软开发的团队协作和通讯工具。如果您对这个名字还不太熟悉,那么现在就是一个了解它的好时机。微软将Teams定位为其之前Skype for Business解决方案的继任者,并且它也提供了与其他基于频道的通讯应用程序(例如Slack、…...

ESCTF-OSINT赛题WP

这你做不出来?check ESCTF{湖北大学_嘉会园食堂} 这个识图可以发现是 淡水渔人码头 但是 osint 你要发现所有信息 聊天记录说国外 同时 提示给了美国 你综合搜索 美国 渔人码头 在美国旧金山的渔人码头(英语:Fisherman’s Wharf)是一个著名旅…...

2024蓝桥杯省赛保奖突击班-Day2-前缀和、差分、尺取_笔记_练习题解

3月25日-课堂笔记 前缀和预处理 O ( n ) \mathcal{O}(n) O(n) s[1] a[1]; for(int i 2; i < n; i)s[i] s[i - 1] a[i];利用前缀和查询区间和 O ( 1 ) O(1) O(1) long long calc(int l, int r) {return l 1 ? s[r] : s[r] - s[l - 1]; }差分序列的求法 c[1] a[…...

C++基础之虚函数(十七)

一.什么是多态 多态是在有继承关系的类中&#xff0c;调用同一个指令&#xff08;函数&#xff09;&#xff0c;不同对象会有不同行为。 二.什么是虚函数 概念&#xff1a;首先虚函数是存在于类的成员函数中&#xff0c;通过virtual关键字修饰的成员函数叫虚函数。 性质&am…...

用动易做的诗歌协会网站/公司网址

仅以此文来记录正式环境下还原数据库的尿崩时刻。 1. 还原大法一&#xff1a; 首先&#xff0c;新建个数据库&#xff1b; 再随随便便建个表&#xff0c;没毛病。 备份一下 最好添加到你能记住的目录 新建个School1库&#xff0c;用来放另来放被还原的库。按照下列步骤操作。…...

做网站多少钱西宁君博领衔/电商平台有哪些?

今天上午讲解了C语言的一道练习题&#xff0c;有5个字符串&#xff0c;首先将它们按照字符串中的字符个数由小到大排列&#xff0c;再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求&#xff1a;利用字符串指针和指针数组实现。代码…...

重庆网站seo公司/招工 最新招聘信息

1. 账户与账户安全 账户和组是操作系统的基本概念,linux的组有基本组和附加组之分,一个用户只可以加入到一个基本组中国,但是可以加入到多个附加组中.创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中. 1.1 创建账户和组 1. useraddm-c 设置账户描述信息,一…...

江山有做网站开发吗/游戏推广合作

ENTER键可以让光标移到下一个输入框 <input οnkeydοwn"if(event.keyCode13)event.keyCode9" >只能是中文 <input οnkeyup"valuevalue.replace(/[ -~]/g,)" οnkeydοwn"if(event.keyCode13)event.keyCode9">屏蔽输入法 <input…...

辽宁平台网站建设平台/百度网盘资源搜索引擎

题目&#xff1a;原题链接&#xff08;困难&#xff09; 标签&#xff1a;SQL 解法时间复杂度空间复杂度执行用时Ans 1 (Python)450ms (5.06%)Ans 2 (Python)Ans 3 (Python) 解法一&#xff1a; SELECT T.product_id,P.product_name,T.report_year,T.total_amount FROM (SEL…...

装修咨询平台/成都seo经理

来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一、现象描述 真正意义上的inline-block水平呈现的元素间&#xff0c;换行显示或空格分隔的情况下会有间距&#xff0c;很简单的个例子&#xff1a; <input /> <input type"submit" /> 间距就来了~…...