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

$p\oplus q=r$

很牛很好的题,但不知道为什么 qoj 这么多踩。

原题/原题

简介题面:

问题 A:构造两个长度为 \(n\) 的包含 \(0\sim n-1\) 的排列 \(p,q\),使得 \(r=p\oplus q\) 也是个排列。

首先特判 \(n=1\)。然后发现 \(\oplus_{i=0}^{n-1} r_i=\oplus_{i=0}^{n-1} q_i\oplus_{i=0}^{n-1}q_i=0\),即 \(\oplus_{i=0}^{n-1} i=0\),明显只有 \(n\bmod 4=0\) 时成立。

简化问题,\(p_i=i\),那么只用构造 \(q\) 即可。

考虑已经求得另一个问题:

问题 B:\(p,q\) 都为长度为 \(2n\) 的双排列(\(0\le i<n\) 出现两次),\(r=p\oplus q\) 也是双排列。

用这个问题的答案构造原本问题的答案。例如:

\[\begin{array}{c|c|c|c|c|c|c}p&0&0&1&1&2&2 \\ \hlineq&2&1&1&0&0&2 \\ \hliner&2&1&0&1&2&0 \end{array} \]

\(n\) 复制到 \(2n\)

\[\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c}p&0&0&0&0&1&1&1&1&2&2&2&2 \\ \hlineq&2&2&1&1&1&1&0&0&0&0&2&2 \\ \hliner&2&2&1&1&0&0&1&1&2&2&0&0 \end{array} \]

\(p,q\) 都乘 \(4\)\(p\) 加上 \([0,1,2,3,0,1,\ldots]\)\(q\) 加上 \([0,2,1,3,0,2,\ldots]\)

\[\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c}p&0&1&2&3&4&5&6&7&8&9&10&11 \\ \hlineq&8&10&5&7&4&6&1&3&0&2&9&11\\ \hliner&8&11&7&4&0&3&7&4&8&11&3&0 \end{array} \]

考虑 \(2i\)\(2i+1\) 分一组,发现 \(r\) 重复的都是一组一组的,即 \(\{r_{2i}, r_{2i+1}\}=\{r_{2j},r_{2j+1}\}\),发现只要交换 \(r_{2i}\)\(r_{2i+1}\) 就可以改变情况,不交换的话 \(\{r_{2i}\bmod 4, r_{2i+1}\bmod 4\}=\{0,3\}\),交换完之后变成 \(\{0,2\}\)

\[\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c}p&0&1&2&3&4&5&6&7&8&9&10&11 \\ \hline q&8&10&5&7&4&6&3&1&2&0&11&9\\ \hline r&8&11&7&4&0&3&5&6&10&9&1&2 \end{array}\]

另外问题 \(B\) 中的 \(q_x=q_y=i\)\(x,y\) 的奇偶性不应相同,后面构造出的可以发现是不相同的,所以不用考虑。因为奇偶性相同的话在后面的构造会使得 \(q\) 有相同的数。

现在已经可以从 \(B\)\(A\) 了,考虑求 \(B\),实际上问题 \(B\) 可以化解成:

问题 C:构造两个排列 \(a,b\),使得 \(a_i\oplus i,b_i\oplus i\) 使个双排列。

然后 \(p_{2i}=a_i,p_{2i+1}=b_i\),这样就舍得 \(x,y\) 奇偶性不同了。

再求一个新问题:

问题 D:构造两个长度为 \(2^l\) 的排列 \(c,d\),满足 \(c_i\oplus i,d_i\oplus i\) 是个双排列,并且满足 \(\{c_0,c_1,\ldots,c_{k-1}\}=\{0,1,\ldots,k-1\}\)

  • \(l=0\)\(c=\{0\},d=\{0\}\)
  • \(l=1\)\(c=\{0,1\},d=\{1,0\}\)

先直接设 \(d_i\oplus i=2^{l-1}+\lfloor \frac{i}{2} \rfloor\),可以发现构造出的 \(d\) 是个排列,并且对于 \(2^{l-1}\le i<2^l\)\(i\) 都产生了 \(2\) 个。求得 \(c',d'\) 为当长度为 \(2^{l-1}\) 并且 \(k'=k\bmod 2^{l-1}\)时的答案:

  • \(k<2^{l-1}\)\(c=c'+(d'\oplus 2^{l-1})\)
  • 否则:\(c=d'+(c'\oplus 2^{l-1})\)

这样 D 就解决,考虑回 C,同样递归处理,对于 \(n\le 2\) 的和 D 返回一样的。考虑将 \(n\) 分解成 \(n=2^l+k\),且 \(k<2^l\),求得 \(c,d\) 为长度为 \(2^l\) 时问题 D 的答案,\(a',b'\) 为长度为 \(k\) 时问题 C 的答案。考虑构造:

  • \(a\)

\[\begin{array}{c|c|c|c} i&0\sim k-1&k\sim 2^l-1&2^l\sim n-1\\\hline a&(a'\oplus 2^{l-1})&c_{k\sim 2^l-1}&c_{0\sim k - 1} \end{array} \]

  • \(b\)

\[\begin{array}{c|c|c} i&0\sim 2^l-1&2^l\sim n-1\\\hline b&d&b'\oplus 2^{l-1}\end{array} \]

首先 \(b'=c_{0\sim k-1}\),归纳法,发现考虑 \(b\)\(c_{0\sim k-1}\) 的构造方式其实是一样的,手玩一下就行。

\(\oplus i\) 后结果大于等于 \(2^l\) 的有 \(a'\)\(c_{0\sim k-1}\),因为 \(b'=c_{0\sim k-1}\),那么刚好使得 \(2^l\le i<n\) 刚好出现两次。

小于 \(2^l\) 的有 \(c_{k\sim 2^l-1}\)\(d\)\(b'\),同样 \(b'=c_{0\sim k-1}\),回归到了问题 D,满足情况。

所以这个构造是成立的。

#include<bits/stdc++.h>
using namespace std;
int n;
void d(int p[], int q[], int n, int k)
{if(!n)return;if(n == 1){p[0] = q[0] = 0;return;}if(n == 2){q[1] = p[0] = 0;q[0] = p[1] = 1;return;}int a[n / 2], b[n / 2];d(a, b, n / 2, k % (n / 2));if(k < n / 2){for(int i = 0; i < n / 2; i++)p[i] = a[i];for(int i = n / 2; i < n; i++)p[i] = b[i - n / 2] + n / 2;}else{for(int i = 0; i < n / 2; i++)p[i] = b[i];for(int i = n / 2; i < n; i++)p[i] = a[i - n / 2] + n / 2;}for(int i = 0; i < n; i++)q[i] = (n / 2 + i / 2) ^ i;
}
void c(int p[], int q[], int n)
{if(!n)return;if(n == 1){p[0] = q[0] = 0;return;}if(n == 2){q[1] = p[0] = 0;q[0] = p[1] = 1;return;}int w = 1;while(2 * w <= n)w *= 2;int k = n - w;int h[w];c(p, q + w, k);d(h, q, w, k);for(int i = 0; i < k; i++)p[i + w] = h[i];for(int i = k; i < w; i++)p[i] = h[i];for(int i = 0; i < k; i++)p[i] += w;for(int i = w; i < n; i++)q[i] += w;
}
void pri(int x)
{printf("%d ", x);
}
void slove()
{scanf("%d", &n);if(n == 1){printf("Yes\n0\n0\n");return;}if(n&3){printf("No\n");return;}int m = n / 4;int p[m], q[m], vis[n];c(p, q, m);for(int i = 0; i < n; i++)vis[i] = 0;printf("Yes\n");for(int i = 0; i < n; i++)printf("%d ", i);printf("\n");for(int i = 0; i < m; i++){if(vis[i^p[i]]){pri(p[i]*4+2);pri(p[i]*4);}else{pri(p[i]*4);pri(p[i]*4+2);vis[i^p[i]] = 1;}if(vis[i^q[i]]){pri(q[i]*4+3);pri(q[i]*4+1);}else{pri(q[i]*4+1);pri(q[i]*4+3);vis[i^q[i]] = 1;}}printf("\n");
}
int main()
{int t;scanf("%d", &t);while(t--)slove();return 0;
}

相关文章:

$p\oplus q=r$

很牛很好的题,但不知道为什么 qoj 这么多踩。 原题/原题 简介题面:问题 A:构造两个长度为 \(n\) 的包含 \(0\sim n-1\) 的排列 \(p,q\),使得 \(r=p\oplus q\) 也是个排列。首先特判 \(n=1\)。然后发现 \(\oplus_{i=0}^{n-1} r_i=\oplus_{i=0}^{n-1} q_i\oplus_{i=0}^{n-1}q…...

2025年金融行业API安全最佳实践:构建纵深防御体系

2025年金融行业API安全最佳实践:构建纵深防御体系金融行业数字化转型深度依赖API技术,开放业务模式也带来新的安全挑战。构建有效的API安全防护体系需覆盖全生命周期,结合管理要求、技术工具和运营机制,并借鉴行业实践案例。提出关键实践方法与实施框架金融行业数字化转型深…...

Jack-of-All-Trades

Jack-of-All-Trades 一、信息收集先使用nmap扫一下Ip看看开放了哪些端口,这里很奇怪,22端口上面却是部署着http协议,看了一下wp这里要使用浏览器绕过这个限制nmap -sS -A -Pn 10.10.196.165 这里使用firefox,在导航栏里面搜索about config然后再出来的搜索框这里再搜索netw…...

Matlab的交通标志定位实现

基于Matlab的交通标志定位实现方案,结合颜色分割、形态学处理和轮廓分析技术一、代码 %% 参数设置 imgPath = traffic_sign.jpg; minArea = 500; % 最小区域面积 maxArea = 10000; % 最大区域面积 colorThreshold = 0.8; % 颜色相似度阈值%% 图像预处理 img = imread(imgP…...

怎样在 Salesforce Flow 中获取当前 Salesforce 组织的 URL

可以在 Flow 中配置一个 Formula 类型的变量: LEFT($Api.Partner_Server_URL_260, FIND( /services, $Api.Partner_Server_URL_260))...

reLeetCode 热题 100-3 最长连续序列扩展 排序算法 - MKT

reLeetCode 热题 100-3 最长连续序列扩展 排序算法...

vuejs3.0 从入门到精通【左扬精讲】—— 从原生到原子化:一文梳理现代 CSS 技术体系(2025 版)

vuejs3.0 从入门到精通【左扬精讲】—— 从原生到原子化:一文梳理现代 CSS 技术体系(2025 版)作为前端开发的核心技术之一,CSS(层叠样式表)早已不是 “写几行样式” 那么简单。随着项目规模扩大和工程化需求升级,CSS 技术栈也衍生出众多分支 —— 从解决复用性的预处理器…...

java中JSON字符串处理的踩坑

在处理JSON字符串的时候,读取的数据原封不动每一行是,前后有两个引号"{\"cuidC54E92418CA1CD099A5AFC4D2F322015|VECB5VMT4\": {\"REFINED_APPLIST_TIMESTAMP\": 1756716480, \"DEVICE_INFO\": {\"SOURCE\": 131072, \"br…...

11111

1111111111...

阿里云微服务引擎 MSE 及 API 网关 2025 年 8 月产品动态

...

TIA Portal中S7-1500F CPU与ET200SP安全模块的配置例程(转载)

ET200SP 分布式 IO 系统除 ET200SP 标准模块外,还包含故障安全模块。具有 PROFINET接口的安全 CPU 与配有故障安全模块的 ET200SP IO设备可以实现安全功能。配置过程与标准系统中一样,通过在硬件组态中进行网络连接,并在在线状态下分配从站的设备名称。ET200SP上的故障安全模…...

获取第一个运行的Word应用程序实例

获取第一个运行的COM应用程序实例1 using System;2 using System.Collections.Generic;3 using System.Runtime.InteropServices;4 using System.Runtime.InteropServices.ComTypes;5 6 /// <summary>7 /// 提供查询运行中COM对象的改进方案8 /// </summary>9 publ…...

S7-1500 TRACE功能组态 (转载)

1、TRACE配置介绍1.1、新建TRACE配置 在TIA博途软件中,双击项目树相应PLC站点下的“Traces”,展开后来实现TRACE的各项功能,TRACE在线视图如图2所示。图2. 创建TRACE ①点击“添加新Trace”,用于新建Trace配置;② 为目前离线文件和CPU已装载有相同名称的TRACE; 为目前仅…...

如何在Proxmox VE中使用fdisk命令行扩展LVM存储池 - 若

前言 在Proxmox VE(PVE)的使用过程中,为虚拟机和容器添加额外的存储空间是一项常见任务。当你为服务器新增了一块硬盘后,Web管理界面有时可能无法提供所有所需的图形化操作选项。本篇教程将介绍如何完全通过命令行,使用经典的 fdisk 和 lvm 工具,安全地将一块新硬盘添加到…...

垃圾AV覆盖defender

免责声明 本文章涉及的内容仅用于安全研究、学习和技术讨论,不针对任何杀毒软件进行虚假陈述或恶意操作。文中所提及的软件及操作均不旨在贬低、攻击或损害其品牌、名誉及正常功能。请读者仅在合法、受控的环境下进行实验和测试,作者对因使用本文内容而产生的任何后果不承担责…...

SAP-PO:怎么控制传输的内容在单数据情况下是数组格式还是单对象格式

像下图,没设置前是对象格式 设置后是数组格式 可以在CC的Custom XML/JSON Comversion Rules下进行设置 sender通道是在general第一个页签 receiver是在dataformat页签 如果字段为空则在结构中就不会显示该字段,需要在函数中可以配置一下...

开源新基建:数字中国创新发展的底层密码与生态实践

开源新基建:数字中国创新发展的底层密码与生态实践 在全球数字化转型加速的背景下,开源技术已从开发者工具演变为国家数字战略的核心基础设施。中国正通过构建自主可控的开源生态体系,打造数字经济发展的安全基座,这一战略布局正在重塑产业创新范式并创造显著的商业价值。最…...

员工离职停用Salesforce帐号?这11个“坑”千万别踩!

在Salesforce里,用户离职很常见,看似只是一个“停用账号”的小操作。但如果涉及到管理员(Admin)账号,情况就完全不同。管理员往往绑定了大量的报表、自动化流程和系统配置,一旦处理不当,轻则报表失效、流程中断,重则影响关键业务。 本文结合实践,总结了停用Salesforce…...

Linux的运行模式

在 Linux 系统中,getenforce 是一个用于查询 SELinux(Security-Enhanced Linux)当前运行模式的命令。 SELinux 是一种强制访问控制(MAC)安全机制,它有三种主要运行模式: Enforcing(强制模式):SELinux 会强制执行所有安全策略,违反策略的操作会被阻止并记录日志 Perm…...

Spring Boot + MybatisX,效率翻倍!

1.什么是MybatisX? 2.使用MybatisX的好处 3.如何使用MybatisX?1.什么是MybatisX? MybatisX 是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。 2.使用MybatisX的好处节省大量持久层代码开发时间 强大的功能为业务…...

条码控件Aspose.BarCode教程:使用 Java 自动生成 DotCode 条形码

DotCode 是一种二维条码符号,广泛应用于制造业和制药业等行业。这种条码简化了创建机器可读代码的流程,从而提升了物流效率。借助Aspose.BarCode for Java,我们可以构建一个工具,以 Java 编程方式自动生成 DotCode 条码。此 Java SDK 允许您自定义属性并将条码导出为图像格…...

AI 玩转网页自动化无压力:基于函数计算 FC 构建 Browser Tool Sandbox

从 Web 1.0 到 Web2.0,再到单页应用(SPA)和 React/Vue 等前端框架时代,再到当下的 AI Agent 时代。每个阶段都有当时的浏览器自动化的王者。作者:计缘 浏览器自动化的前世今生 从 Web 1.0 到 Web2.0,再到单页应用(SPA)和 React/Vue 等前端框架时代,再到当下的 AI Agen…...

AI时代的全栈框架:独立开发者的机会与挑战

独立开发者终于能全干了?AI帮忙还愁生态?一体性是王道,但选什么框架还得自己纠结。AI写代码真靠谱?前言 本文本来只是 DjangoStarter v3.2.1 新版本发布博客里的一段思考,不过越写越长,干脆拆分成一篇独立的文章得了。😄全栈这个词已经被喊烂了,但在 AI 时代,它的含义…...

创建逻辑卷

查看创建pv创建vg创建lv...

Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 协助多端口与脚本自动化 )

Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 协助多端口与脚本自动化 )pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…...

洛谷P2490 [SDOI2011] 黑白棋

传送门 首先容易想到,白色棋子与其右边的黑色棋子越靠越近,最后挨在一起,与其他棋子无关。 朴素地想到 \(NimK\) 的建模,一共有 \(\dfrac{k}{2}\) 堆石子,每次取 \(d\) 堆。 注意到必胜局面比较难求,适合正难则反,用总方案数 \(\dbinom{n}{k}\) 减去必败局势。 难点在于…...

WGCLOUD的告警日志在哪儿存贮的?

WGCLOUD所有发送的告警消息都存贮在【系统日志】模块里 WGCLOUD系统日志功能模块,用于存贮系统操作的各种记录,也包括各种系统运行的日志信息,告警通知信息,告警恢复信息 所有系统运行产生的错误日志,操作日志,告警日志都会记录在系统日志中 系统日志记录只能查看,不能删…...

传统软件部署的痛点

这是对之前《Docker 容器化》文章的一个补充 在 Docker 等容器技术普及前,开发、测试、运维团队常被环境不一致、部署复杂、资源浪费、扩容低效为典型的问题困扰,这些问题不仅可能导致项目的交付周期的延后,还会引发跨团队协作矛盾,甚至导致线上故障,我们逐一来看每个问题…...

HarmonyOS 5分布式数据管理初探:实现跨设备数据同步

本文将引导您了解HarmonyOS 5的分布式数据管理能力,并通过一个简单的示例演示如何实现跨设备数据同步。1. 分布式数据管理简介 HarmonyOS的分布式数据管理能力允许应用程序在多个设备之间无缝地同步和共享数据。它抽象了底层设备差异,让开发者可以像操作本地数据一样处理跨设…...

qoj965 Trade

题意 有 \(n\) 件商品,第 \(i\) 件商品有基准价格 \(c_i\) 和抬价价格 \(p_i\),\(p_i\) 互不相同,每件商品只能买一件,你有 \(S\) 元钱。 若你买了 \(k\) 件商品,则第 \(i\) 件商品的价格为 \(c_i+k\times p_i\)。问你最多能买多少件商品。 \(1\le c_i\le 10^9,0\le p_i,S…...

复盘我的第一个 大模型Agent:从核心循环到模块化架构的演进之路

本文将以我编写的一个 Go Agent Demo 为例,穿透各类框架的表层封装,回归其工程本质。我将首先分析其核心的 ReAct 循环,并展示这个看似简单的循环是如何通过模块化设计,演进为一个结构化、可扩展的软件系统。最近,我投入了一些时间学习和研究大语言模型(LLM)驱动的 Agen…...

Linux内核不使用bear如何快速生成compile_commands.json使用vscode阅读源码

野火鲁班猫SDK 进入内核目录 cd /opt/LubanCat_SDK/kernel-5.10 编译内核 ../build.sh kernel 生成compile_commands.json /opt/LubanCat_SDK/kernel-5.10/scripts/clang-tools/gen_compile_commands.py打开vscode code . 安装clangd插件 打开一个c文件 开始生成clangd数据库...

Docker 容器化

引言 在解释docker是什么之前,我们首先应该先了解的是容器化的概念。 什么是容器?就是一个沙箱,在这个沙箱中涵盖了特定应用运行的一切依赖的内容。但他不是一个操作系统,且和底层的操作系统是隔离的。 什么是容器化?容器化就是将软件和应用所需要的所有依赖打包到一个独立…...

phpmyadmin漏洞利用

1、信息搜集 1.1、版本号 访问/README /doc/html/index.html获取版本信息1.2、绝对路径 (1) phpinfo() 页面:最理想的情况,直接显示web路径 (2) web报错信息:可以通过各种fuzz尝试让目标报错,也有可能爆出绝对路径 (3) 一些集成的web框架:如果目标站点是利用phpstudy、LAM…...

CF19E Fairy

题意:给定一个无向图,$n,m \le 10^4$,需对每个点黑白染色,使每条边两端点颜色不同,求对每一条边,删除该边后是否存在合法染色方案。思路:合法染色方案即删除边后图为二分图,不存在奇环。先构造 dfs 生成树,将一条非树边和其覆盖树边形成的环称为基本环,包含多个非树边…...

Wireshark 学习笔记(二)

Wireshark 学习笔记 (二) 数据包操作 统计|摘要 统计 此菜单提供多种统计选项,可供调查,帮助用户了解流量范围、可用协议、端点和会话等宏观情况,以及一些特定协议的详细信息,如 DHCP、DNS 和 HTTP/2。 解析地址 此选项通过提供解析地址及其主机名的列表,帮助分析师识别捕…...

鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用

持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中。本文使用DevEco Studio创建应用,并使用预览、模拟器、真机三种方式进行调试。​ 大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更…...

Litctf2025 Write-up

逼逼叨 很难受啊,出去跑项目封闭管理,结果没打上,只能赛后复现了。 上班是真滴累 Web [LitCTF 2025]多重宇宙日记进来先随便注册个账户,说实话看到这样的题目第一眼怀疑二次注入、直接不想做登陆后发现可以设置主题语言之类的,随便试试无果查看页面源码摘出JS中的关键代码…...

DFS算法(递归)

DFS算法(递归) DFS(Depth-First Search,深度优先搜索)是一种用于遍历或搜索树、图等数据结构的算法。其核心思想是:沿着一条路径尽可能深入地探索,直到无法继续前进(遇到已访问节点或无未访问邻接节点),再回溯到上一个节点,选择另一条未探索的路径继续深入。所以可以…...

博客园出海记

在开篇中我们宣布了博客园出海计划的启航,出海航船选择了阿里云。第一件准备工作是在航船上组装集装箱 —— 搭建 Kubernetes 集群。出海根据地选在了阿里云新加坡机房,Kubernetes 集群用阿里云 ECS 自己搭建,没有使用阿里云容器服务 ACK。首先购买一台 ECS 用于部署 Contro…...

vue3 - pinia状态管理库

概念 Pinia 是 Vue 官方推荐的状态管理库,是 Vuex 的继任者(Vuex 作者同一人开发),专门为 Vue 3 设计,完全支持 Composition API 和 TypeScript。它简化了状态管理的流程,提供了更简洁的 API 和更好的开发体验。 核心特点简洁的 API 去掉了 Vuex 中的 mutation(突变),…...

做会议海报就是在淘汰老实人

还好有模板直接用!不仅节省更多时间,做出来的ppt,或是学术海报既清晰又美观,导师看了都说好! ppt和学术海报都是可直接编辑的哦!每张文件图片均获取网络,仅供学习与研究交流使用。支持原创! 感兴趣可直接无套路领取 【450+学术会议海报poster模板】+【600+学术汇报PPT模…...

ubuntu24.04安装mysql5.7.42

环境Os:ubuntu 24.04 desktop桌面版mysql:5.7.42 说明: a.ubuntu24下安装mysql 5.7 使用的依赖库 需要创建软连接指向新的依赖库.查看操作系统信息root@hxl-VirtualBox:/# uname -a Linux hxl-VirtualBox 6.14.0-29-generic #29~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug 14…...

易基因:Cell封面:中国科学家杨学勇/黄三文m6A-seq等揭示同义突变通过表观转录调控机制决定生物性状|顶刊突破

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,中国农业科学院蔬菜花卉研究所杨学勇研究员、中国农业科学院深圳农业基因组所黄三文研究员和英国约翰英纳斯中心丁一倞研究员团队合作,以封面文章形式在顶刊《Cell》(细胞)上发表题为“Recessive epi…...

一文看懂Deepspeed:用ZeRO训练大模型原理解析及参数含义解释

实际训练中Deepspeed参数配置ZeRO各stage含义是什么,offload以及gradient checkpoint是如何起作用的,本篇基于ZeRO不同stage含义,以及实践时参数含义来阐述Deepspeed原理。 这几天在做大模型的微调,发现几乎所有都用到了deepspeed,这里给大家提供一个ChatGLM2在ptuning模式…...

AC-DC整流器双闭环控制MATLAB/Simulink仿真

AC-DC整流器双闭环控制系统的MATLAB/Simulink仿真程序,包含电压外环和电流内环控制。 这个仿真实现了一个三相PWM整流器的双闭环控制:电压外环:控制直流侧输出电压,提供电流内环的参考信号 电流内环:控制网侧电流,实现单位功率因数运行MATLAB:参数设置与仿真启动 % AC-D…...

新娘化妆 造型 美甲 护肤 资料合集

化妆的核心--眉妆 眉毛的结构认识眉毛主要由眉头眉峰眉尾眉头在鼻翼外侧到内眼角的垂直线上眉峰在眉头到眉尾的三分之二处, 是鼻翼外侧至人眼平视前方时外眼球的延长线上。眉腰眉头与眉峰中间称之为眉腰眉尾在鼻翼外侧到外眼角的 延长线上,或则嘴角到外眼角的延长线上。 标准…...

rabbitMQ-基础day1 - a

微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调用者发起请求后需要等待服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们成这种调用方式为同步调…...

实用指南:Nginx反向代理与负载均衡部署

实用指南:Nginx反向代理与负载均衡部署pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !importa…...

C# Avalonia 13- MoreDrawing - BlurEffects

C# Avalonia 13- MoreDrawing - BlurEffectsBlurEffects.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xm…...