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

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27

  • 一、题目名称:异或和
  • 二、题目名称:生命进化书
  • 三、题目名称:熊孩子拜访

一、题目名称:异或和

时间限制:1000ms内存限制:256M

题目描述:

小张找到了一个整数 N,他想问问你从 1 到 N 的所有不同整数的异或和是多少, 请你回答他的问题。

输入描述:

第一行包含一个整数 N (1 <= N <= 100000)。

输出描述:

第一行输出一个整数, 代表从 1 到 N 的所有不同整数的异或和。

🚩 示例:

✔️ 示例1:

输入
5

输出
1

🔔 提示:
1 ^ 2 ^ 3 ^ 4 ^ 5 = 3 ^ 3 ^ 4 ^ 5 = 4 ^ 5 = 1。

🔔 解题思路:
根据异或的性质,可以得知一个数与自身异或的结果为0,即 a^a = 0。而对于任意一个数 a,a^0 = a。因此,从 1 到 N 的所有整数的异或和等价于从 1 到 N-1 的所有整数的异或和再与 N 进行异或运算。

代码1如下:

##输入的整数 N
N = int(input())##初始化异或和 xor_sum 为 0
xor_sum = 0##循环遍历从 1 到 N-1 的所有整数 i,并将 xor_sum 与 i 进行异或运算
for i in range(1, N):xor_sum ^= i
##将 xor_sum 与 N 进行异或运算,得到最终的异或和
xor_sum ^= N#输出异或和xor_sum
print(xor_sum)

在这里插入图片描述

代码2如下:

##计算从1到N的所有数字的异或和,并将结果输出#include <stdio.h>int main() {int N;##变量xor_sum为0,用于保存异或和int xor_sum = 0;scanf("%d", &N);##使用for循环从1遍历到N-1for (int i = 1; i < N; i++) {## 对变量xor_sum进行异或运算,将当前循环变量i与xor_sum进行异或,## 并将结果赋值给xor_sum,相当于累计计算异或和xor_sum ^= i;}##将变量N与xor_sum进行异或,并将结果赋值给xor_sum,相当于将N也纳入异或和的计算xor_sum ^= N;printf("%d\n", xor_sum);return 0;
}

在这里插入图片描述

代码3如下:

#include <iostream>
using namespace std;int main() {int N;cin >> N;int xor_sum = 0;for (int i = 1; i < N; i++) {xor_sum ^= i;}xor_sum ^= N;cout << xor_sum << endl;return 0;
}

在这里插入图片描述

代码4如下:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();int xor_sum = 0;for (int i = 1; i < N; i++) {xor_sum ^= i;}xor_sum ^= N;System.out.println(xor_sum);}
}

在这里插入图片描述

代码5如下:

package mainimport "fmt"func main() {var N intfmt.Scan(&N)xor_sum := 0for i := 1; i < N; i++ {xor_sum ^= i}xor_sum ^= Nfmt.Println(xor_sum)
}

在这里插入图片描述

二、题目名称:生命进化书

时间限制:1000ms内存限制:256M

题目描述:

小A有一本生命进化书,以一个树形结构记载了所有生物的演化过程。 为了探索和记录其中的演化规律,小A提出了一种方法,可以以字符串的形式将其复刻下来,规则如下: 初始只有一个根节点,表示演化的起点,依次记录 01 字符串中的字符, 如果记录 0,则在当前节点下添加一个子节点,并将指针指向新添加的子节点; 如果记录 1,则将指针回退到当前节点的父节点处。 现在需要应用上述的记录方法,复刻下它的演化过程。请返回能够复刻演化过程的字符串中, 字典序最小的 01 字符串; 注意:节点指针最终可以停在任何节点上,不一定要回到根节点。

输入描述:

parents[] 数组,其中,parents[i] 表示编号 i 节点的父节点编号(根节点的父节点为 -1)。

输出描述:

返回能够复刻演化过程的字符串中, 字典序最小 的 01 字符串

🚩示例:

✔️示例1

输入
* 输入样例1
[-1,0,0,2]
* 输入样例2
[-1,0,0,1,2,2]

输出
* 输出样例1
00110

解释:共存在 2 种记录方案:
第 1 种方案为:0(记录编号 1 的节点) -> 1(回退至节点 0) -> 0(记录编号 2 的节点) -> 0((记录编号 3 的节点))
第 2 种方案为:0(记录编号 2 的节点) -> 0(记录编号 3 的节点) -> 1(回退至节点 2) -> 1(回退至节点 0) -> 0(记录编号 1 的节点)
返回字典序更小的 ‘00110’

输出样例2
00101100

提示:

1 <= parents.length <= 10^4

-1 <= parents[i] < i (即父节点编号小于子节点)

🔔 解题思路:

利用深度优先搜索(DFS)的方式遍历树,并记录每个节点的演化路径,然后找出字典序最小的01字符串作为结果。

代码1如下:

import sys
##设置递归深度限制为100000,防止递归过深导致堆栈溢出
sys.setrecursionlimit(100000)  ##定义变量N为10000,表示节点数量的上限,可以避免数组或列表溢出的问题,并确保程序可以处理足够大的生物演化树
N = 10000##初始化变量n为0,表示当前已经添加的节点数量
n = 0
##创建一个大小为N的列表parents_node ,用于存储每个节点的父节点编号
parents_node = [0] * N
##创建一个大小为N的二维列表dp,用于存储每个节点的状态信息。dp[i][0]表示以节点i为根节点且不返回该节点的最小字符串,dp[i][1]表示以节点i为根节点且返回该节点的最小字符串
dp = [["", ""] for _ in range(N)]##创建一个大小为N的列表child_node ,用于存储每个节点的子节点列表
child_node = [[] for _ in range(N)]##递归函数dfs,用于遍历树并计算每个节点的最小字符串
def dfs(s):for v in child_node[s]:  ##遍历节点s的子节点列表,对每个子节点调用dfs函数dfs(v)
####计算以节点v为根节点且返回该节点的最小字符串时,加上当前节点s的值(0)和回退符号(1)构成的字符串a = "0" + dp[v][1] + "1"  
##计算以节点v为根节点且不返回该节点的最小字符串时,加上当前节点s的值(0)和子节点v的最小字符串(dp[v][0]和dp[v][1]中较小的一个)构成的字符串b = "0" + min(dp[v][0], dp[v][1])
##计算以节点s为根节点且返回该节点的最小字符串,要么是在a前面添加节点s的值和回退符号,要么是在a后面添加节点u的值和回退符号new_return = min(a + dp[s][1], dp[s][1] + a)
##计算以节点s为根节点且不返回该节点的最小字符串,要么是在b前面添加节点s的值和子节点v的最小字符串,要么是在a后面添加节点s的值和子节点v的最小字符串new_no_return = min(dp[s][1] + b, a + dp[s][0])##更新节点s的不返回的最小字符串dp[s][0] = new_no_return
##更新节点s的返回的最小字符串dp[s][1] = new_return##生物演化树的父节点列表,输入的字符串
input_str = input()##字符串的长度
input_len = len(input_str)###初始化变量processed_number为0,表示已经处理过的字符数量
processed_number = 0##函数getch,用于从输入字符串中获取字符
def getch():
##声明processed_number是全局变量global processed_number
##每次调用getch函数后,processed_number加1processed_number += 1
## 返回输入字符串中第processed_number个字符。return input_str[processed_number - 1]##函数read,从输入字符串中读取一个整数
def read():##初始化变量f为1,表示正数
##  x = 0: 初始化变量x为0,用于存储读取的整数f = 1x = 0
###调用getch函数获取一个字符char = getch()while char > '9' or char < '0':  ##当字符char 不是数字时循环执行以下代码块if char == '-':  ##如果字符char 是负号,则将变量f设为-1f = -1##再次调用getch函数获取一个字符char = getch()
##当字符char 是数字时循环执行以下代码块while char >= '0' and char <= '9':##将字符char转换为对应的数字,并将其加到变量x的末尾x = x * 10 + ord(char) - ord('0')## 再次调用getch函数获取一个字符char = getch()
##返回读取的整数,如果之前设定了f为-1,则返回负数return f * x###初始化变量root_node_number为0,表示树的根节点编号
root_node_number= 0
while processed_number < input_len:  ##当处理过的字符数量小于输入字符串的长度时循环执行以下代码块parents_node[n] = read()  ##将读取的整数作为第n个节点的父节点编号if parents_node[n] == -1:  ##如果第n个节点没有父节点(即是根节点)root_node_number= n  ##将当前节点编号赋值给root_node_number作为根节点的编号else:  ##否则,如果第n个节点有父节点child_node[parents_node[n]].append(n)  ##在父节点的子节点列表中添加当前节点n += 1  ##增加节点数量dfs(root_node_number)  ##调用dfs函数遍历树,并计算每个节点的最小字符串
##打印根节点的不返回和返回的最小字符串中较小的一个
print(min(dp[root_node_number][0], dp[root_node_number][1]))

在这里插入图片描述

代码2如下:

package mainimport ("fmt""strings"
)const N = 10000var (n             intparents_node  [N]intdp            [N][2]stringchild_node    [N][]intinput_str     stringprocessed_num int
)func dfs(s int) {for _, v := range child_node[s] {dfs(v)a := "0" + dp[v][1] + "1"b := "0" + min(dp[v][0], dp[v][1])new_return := min(a+dp[s][1], dp[s][1]+a)new_no_return := min(dp[s][1]+b, a+dp[s][0])dp[s][0] = new_no_returndp[s][1] = new_return}
}func getch() byte {char := input_str[processed_num]processed_num++return char
}func read() int {f := 1x := 0char := getch()for char > '9' || char < '0' {if char == '-' {f = -1}char = getch()}for char >= '0' && char <= '9' {x = x*10 + int(char-'0')char = getch()}return f * x
}func min(a, b string) string {if a < b {return a}return b
}func main() {fmt.Scanln(&input_str)input_str = strings.TrimSpace(input_str)input_len := len(input_str)root_node_number := 0for processed_num < input_len {parents_node[n] = read()if parents_node[n] == -1 {root_node_number = n} else {child_node[parents_node[n]] = append(child_node[parents_node[n]], n)}n++}dfs(root_node_number)fmt.Println(min(dp[root_node_number][0], dp[root_node_number][1]))
}

在这里插入图片描述

三、题目名称:熊孩子拜访

时间限制:1000ms内存限制:256M

题目描述:

已知存在一个长度为n的整数序列A。 A中所有元素按照从小到达的顺序进行排序。 现在执行操作倒置一段序列。 请找到A序列里的倒置子序列。

输入描述:

第一行输入整数n.(1<=n<=1000)。 第二行输入n个整数。(1<=num<=10000)

输出描述:

输出被倒置的数列的左值,右值。 如果没有输出0 0

🚩示例:

✔️示例1
输入
4
1 3 2 4

输出
2 3

🔔 解题思路:

根据题目描述,我们需要找到整数序列A中的倒置子序列。假设整个A序列是按照从小到大的顺序排列的,那么倒置子序列就是在这个有序序列中出现递减的部分,我们需要找到这个递减的部分的最左值和最右值。找到整数序列中的倒置子序列并输出。如果没有倒置子序列,则输出0 0。

代码1如下:

n = int(input().strip())
##按空格分割成多个子字符串,然后用列表推导式
## [int(item) for item in ...]将每个子字符串转换成整数,最后将这些整数放入列表中并赋值给变量arr
arr = [int(item) for item in input().strip().split()]def solution(n, arr):result = []  ##空列表result,用于存储结果# 初始化right_val为0,用于保存右值right_val = 0# 初始化left_val为0,用于保存左值left_val = 0##初始化next_val为0,表示当前遍历到的元素next_val = 0##遍历列表arr中的每个元素,赋值给变量itemfor item in arr:###如果next_val大于item且item大于right_val,即当前元素比上一个元素小且比右值大if next_val > item and item > right_val:##将next_val赋值给right_val,更新右值为上一个元素right_val = next_val##将item赋值给left_val,更新左值为当前元素left_val = item###如果next_val小于left_val且item大于right_val,即上一个元素比左值大且 当前元素比右值大elif next_val < left_val and item > right_val:## 将next_val赋值给left_val,更新左值为上一个元素left_val = next_val##将item赋值给next_val,更新下一个元素为当前元素next_val = item##将左值转换为字符串,并添加到结果列表result中result.append(str(left_val))##将右值转换为字符串,并添加到结果列表result中result.append(str(right_val))##如果结果列表为空if len(result) == 0:##将结果列表置为["0", "0"],表示没有倒置子序列result = ["0", "0"]return result  #返回结果列表result = solution(n, arr)
print(" ".join(result))

在这里插入图片描述

代码2如下:

#include <stdio.h>void solution(int n, int arr[], int result[]) {int right_val = 0;int left_val = 0;int next_val = 0;
##使用 for 循环从0遍历到 n-1for (int i = 0; i < n; i++) {
##将数组 arr 在索引 i 处的元素赋值给变量 item,即当前遍历到的元素int item = arr[i];##如果 next_val 大于 item 并且 item 大于 right_valif (next_val > item && item > right_val) {##将 next_val 赋值给 right_val,更新右值为上一个数right_val = next_val;##将 item 赋值给 left_val,更新左值为当前数left_val  = item;##否则,如果 next_val 小于 left_val 并且 item 大于 right_val} else if (next_val < left_val && item > right_val) {##将 next_val 赋值给 left_val,更新左值为上一个数left_val = next_val;}##将当前数 item 赋值给 next_val,表示下一个循环的上一个数是当前数next_val = item;}result[0] = left_val; ##将左值 left_val 存储到结果数组 result 的第一个位置result[1] = right_val; ##将右值 right_val 存储到结果数组 result 的第二个位置#如果结果数组的第一个和第二个位置都是0if (result[0] == 0 && result[1] == 0) {result[0] = 0; ##将结果数组的第1个位置设置为0result[1] = 0; ##将结果数组的第2个位置设置为0}
}int main() {int n;scanf("%d", &n);int arr[n];for (int i = 0; i < n; i++) {#读取一个整数n,并将其赋值给数组 arr 在索引 i 处的元素scanf("%d", &arr[i]);     }int result[2]; ##声明一个大小为2的整数数组 result,用于保存结果solution(n, arr, result);printf("%d %d\n", result[0], result[1]);return 0;
}

代码3如下:

n = int(input())
left_val = 0  ##初始化变量left_val为0,用于保存左值
right_val = 0  ##初始化变量right_val为0,用于保存右值
next_val = 0  ##初始化变量next_val为0,表示当前遍历到的元素位置arr = input().split()  # 读取一行输入并拆分为字符串列表##使用for循环迭代1到n之间的每个数,赋值给变量i。范围是左闭右开的,所以不包含n + 1
for i in range(1, n + 1):##如果当前迭代到的是第一个数if i == 1:##将列表arr 的第一个元素转换为整数,并赋值给变量temptemp = int(arr[0])#如果当前迭代到的不是第一个数else:##将变量temp的值赋给临时变量tt = temp##将列表values中索引为i - 1的元素转换为整数,并赋值给变量temptemp = int(arr[i - 1])##如果上一个数t大于当前数temp,即出现了倒置if t > temp:##如果next_val为0,表示当前是第一个倒置if next_val == 0:##将上一个数t赋值给right_val,更新右值为上一个数right_val = t##将当前数temp赋值给left_val,更新左值为当前数left_val = temp##将next_val设为1,表示已经找到了第一个倒置next_val = 1#如果已经找到了第一个倒置else:##将当前数temp赋值给left_val,更新左值为当前数left_val = temp
##打印输出左值和右值
print(left_val , right_val )

在这里插入图片描述

相关文章:

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27 一、题目名称&#xff1a;异或和二、题目名称&#xff1a;生命进化书三、题目名称&#xff1a;熊孩子拜访 一、题目名称&#xff1a;异或和 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&…...

整数拆分乘积最大

将一个整数拆分为若干个自然数的和&#xff0c;如果要使这些数的乘积最大&#xff0c;应该尽可能的拆分出3。 任意一个数字可以由多个3的n次方的和&#xff08;差&#xff09;表示。 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class M…...

浅谈 Linux 下 vim 的使用

Vim 是从 vi 发展出来的一个文本编辑器&#xff0c;其代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 Vi 是老式的字处理器&#xff0c;功能虽然已经很齐全了&#xff0c;但还有可以进步的地方。Vim 可以说是程序开发者的一项很好用的工…...

leetcode:只出现一次的数字Ⅲ(详解)

题目&#xff1a; 给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1&…...

【vue3.0 使用组合式定义组件】

Vue3.0 中通过使用 setup 函数来定义组件。setup 函数接收两个参数&#xff0c;第一个参数是组件的 props&#xff0c;第二个参数是一个上下文对象&#xff0c;可以通过它访问到与组件相关的数据和方法。在 setup 函数中&#xff0c;我们可以使用 Vue3.0 提供的新特性 — 组合式…...

Tensor-动手学深度学习-李沐_笔记

介绍 Tensor&#xff0c;又称"张量"&#xff0c;其实就是n维度数组。不同维度的Tensor示意图如下&#xff1a; 关于Tensor.reshape reshape函数可以处理总元素个数相同的任何新形状&#xff0c;【3&#xff0c;2&#xff0c;5】->【3&#xff0c;10】->【5&a…...

Kafka生产者原理 kafka生产者发送流程 kafka消息发送到集群步骤 kafka如何发送消息 kafka详解

kafka尚硅谷视频&#xff1a; 10_尚硅谷_Kafka_生产者_原理_哔哩哔哩_bilibili ​ 1. producer初始化&#xff1a;加载默认配置&#xff0c;以及配置的参数&#xff0c;开启网络线程 2. 拦截器拦截 3. 序列化器进行消息key, value序列化 4. 进行分区 5. kafka broker集群 获取…...

Uniapp笔记(七)uniapp打包

一、项目打包 1、h5打包 登录dcloud账户&#xff0c;在manifest.json的基础配置选项中&#xff0c;点击重新获取uniapp应用标识APPID 在manifest.json的Web配置选项的运行的基础路径中输入./ 在菜单栏的发行栏目&#xff0c;点击网站-PC或手机H5 输入网站标题和网站域名&am…...

软考高级系统架构设计师系列论文七十六:论基于构件的软件开发

软考高级系统架构设计师系列论文七十六:论基于构件的软件开发 一、构件相关知识点二、摘要三、正文四、总结一、构件相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构...

基于Thinkphp6框架全新UI的AI网址导航系统源码

2023全新UI的AI网址导航系统源码&#xff0c;基于thinkphp6框架开发的 AI 网址导航是一个非常实用的工具&#xff0c;它能够帮助用户方便地浏览和管理自己喜欢的网站。 相比于其他的 AI 网址导航&#xff0c;这个项目使用了更加友好和易用的 ThinkPHP 框架进行搭建&#xff0c;…...

Html 补充

accesskey 设置快捷键 Alt设定的键 <a href"https://blog.csdn.net/lcatake/article/details/131716967?spm1001.2014.3001.5501" target"_blank" accesskey"i">我的博客</a> contenteditable 使文本可编译 默认为false 对输入框无…...

Visual Studio编译出来的程序无法在其它电脑上运行

在其它电脑&#xff08;比如Windows Server 2012&#xff09;上运行Visual Studio编译出来的应用程序&#xff0c;结果报错&#xff1a;“无法启动此程序&#xff0c;因为计算机中丢失VCRUNTIME140.dll。尝试重新安装该程序以解决此问题。” 解决方法&#xff1a; 属性 -> …...

习题练习 C语言(暑期第二弹)

编程能力小提升&#xff01; 前言一、表达式判断二、Assii码的理解应用三、循环跳出判断四、数字在升序数组中出现的次数五、整数转换六、循环语句的应用七、函数调用八、两个数组的交集九、C语言基础十、图片整理十一、数组的引用十二、数组的引用十三、字符个数统计十四、多数…...

树莓派使用Nginx+cpolar内网穿透实现无公网IP访问内网本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…...

攻防世界-Web_php_unserialize

原题 解题思路 注释说了flag存在f14g.php中&#xff0c;但是在wakeup函数中&#xff0c;会把传入的文件名变成index.php。看wp知道&#xff0c;如果被反序列话的字符串其中对应的对象的属性个数发生变化时&#xff0c;会导致反序列化失败而同时使得__wakeup 失效&#xff08;CV…...

云化背景下的接口测试覆盖率自动化检查

一、问题来源 在云化场景下&#xff0c;API的测试覆盖是一项重要评估与考察指标。除了开发者自测试外&#xff08;UT&#xff09;&#xff0c;还可以利用云化测试平台、流水线等方法进行相关指标的检查与考核。利用这种方法既可以减轻开发者测试工作量&#xff0c;不必在本地做…...

QCC_BES 音频重采样算法实现

+V hezkz17进数字音频系统研究开发交流答疑群(课题组) 这段代码是一个用于将音频数据进行立体声重采样的函数。以下是对代码的解读: 函数接受以下参数: pcm_buf:16位有符号整型的音频缓冲区,存储了输入的音频数据。pcm_len:音频缓冲区的长度。mic1:16位有符号整型的音频…...

如何使用CSS实现一个3D旋转效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 3D效果实现⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域…...

联想电脑装系统无法按F9后无法从系统盘启动的解决方案

开机时按F9发现没有加载系统盘. 打开BIOS设置界面&#xff0c;调整设置如下: BOOT MODE: Legacy Support.允许legacy方式boot. BOOT PRIORITY: Legacy First. Legacy方式作为首选的boot方式. USB BOOT: ENABLED. 允许以usb方式boot. Legacy: 这里设置legacy boot的优先级,…...

AMEYA360:大唐恩智浦电池管理芯片DNB1168-新能源汽车BMS系统的选择

DNB1168是一款全球独有的集成&#xff08;EIS&#xff09;交流阻抗谱监测功能的单电池监测芯片。该芯片通过车规级AEC-Q100和汽车行业最高功能安全等级ISO 26262&#xff1a;2018 ASIL-D双重认证。芯片?内部集成多种高精度电池参数监测&#xff0c;支持电压、温度、交流阻抗检…...

【Python进阶学习】【Excel读写】使用openpyxl写入xlsx文件

1、当前文件不存在指定的子文件夹则创建 2、文件存在追加写入 3、文件不存在创建文件并写入表头 # -*- coding: utf-8 -*- import openpyxl as xl import osdef write_excel_file(folder_path):if not os.path.exists(folder_path):os.makedirs(folder_path)result_path os.p…...

Docker(md版)

Docker 一、Docker二、更换apt源三、docker搭建四、停启管理五、配置加速器5.1、方法一5.2、方法二 六、使用docker运行漏洞靶场1、拉取tomcat8镜像2、拉取成功3、开启服务4、查看kali的IP地址5、访问靶场6、关闭漏洞靶场 七、vulapps靶场搭建 一、Docker Docker是一个开源的应…...

如何使用CSS实现一个无限循环滚动的图片轮播效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐HTML 结构⭐ CSS 样式⭐ JavaScript 控制⭐ 注意事项&#xff1a;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff0…...

你使用过WebSocket吗?

什么是WebSocket&#xff1f; WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议&#xff0c;它的出现是为了解决 Web 应用中实时通信的需求。传统的 HTTP 协议是基于请求-响应模式的&#xff0c;即客户端发送请求&#xff0c;服务器响应请求&#xff0c;然后连接关闭。…...

Spark整合hive的时候出错

Spark整合hive的时候 连接Hdfs不从我hive所在的机器上找&#xff0c;而是去连接我的集群里的另外两台机器 但是我的集群没有开 所以下面就一直在retry 猜测&#xff1a; 出现这个错误的原因可能与core-site.xml和hdfs-site.xml有关&#xff0c;因为这里面配置了集群的nameno…...

SocketTools.NET 11.0.2148.1554 Crack

添加新功能以简化使用 URL 建立 TCP 连接的过程。 2023 年 8 月 23 日 - 12:35新版本 特征 添加了“HttpGetTextEx”函数&#xff0c;该函数在返回字符串缓冲区中的文本内容时提供附加选项。添加了对“FileTransfer”.NET 类和 ActiveX 控件中的“GetText”和“PutText”方法的…...

【深度学习-seq2seq模型-附核心encoder和decoder代码】

深度学习 深度学习-seq2seq模型什么是seq2seq模型应用场景架构编码器解码器训练 & 预测损失预测评估BLEUBELU背后的数学意义 模型参考论文 深度学习-seq2seq模型 本文的网络架构模型参考 Sutskever et al., 2014以及Cho et al., 2014 什么是seq2seq模型 Sequence to seq…...

videojs 实现自定义组件(视频画质/清晰度切换) React

前言 最近使用videojs作为视频处理第三方库&#xff0c;用来对接m3u8视频类型。这里总结一下自定义组件遇到的问题及实现&#xff0c;目前看了许多文章也不全&#xff0c;官方文档写的也不是很详细&#xff0c;自己摸索了一段时间陆陆续续完成了&#xff0c;这是实现后的效果.…...

python 模块urllib3 HTTP 客户端库

官网文档地址&#xff1a;https://urllib3.readthedocs.io/en/stable/reference/index.html 一、安装 pip install urlib3二、基本使用 import urllib3 import threadingimg_list ["https://pic.netbian.com/uploads/allimg/220211/004115-1644511275bc26.jpg",&…...

2023 CCPC 华为云计算挑战赛 D-塔

首先先来看第一轮的 假如有n个,每轮那k个 他们的高度的可能性分别为 n 1/C(n,k) n1 C(n-(k-11),1)/C(n,k) n2 C(n-(k-21),2)/C(n,k) ni C(n-(k-i1,i)/C(n,k) 通过概率和高度算出第一轮增加的期望 然后乘上m轮增加的高度加上初始高度&#xff0c;就是总共增加的高度 下面是…...