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

CF1864G Magic Square

题面:(粘自洛谷)

CF1864G Magic Square

题目描述

Aquamoon 有一个魔方,可以看作一个 \(n \times n\) 矩阵,矩阵的元素构成数字的排列 $1, \ldots, n^2 $ 。

Aquamoon 可以对矩阵执行两种操作:

  • 行移位,即将矩阵的整行向右移动几个位置(至少 $ 1 $ 且最多 $ n-1 $ )。 超出矩阵右边界的元素将移至行的开头。 例如,将行 $ \begin{pmatrix} a & b & c \end{pmatrix} $ 移动 $ 2 $ 位置将导致 $ \begin{pmatrix} b & c & a \end{pmatrix} $ ;
  • 列移位,即将矩阵的整列向下移动几个位置(至少 $ 1 $ 且最多 $ n-1 $ )。 来自矩阵下边界的元素被移动到列的开头。 例如,将列 $ \begin{pmatrix} a & b & c \end{pmatrix} $ 移动 $ 2 $ 个位置将导致 $ \begin{pmatrix} b & c & a \end{pmatrix} $ .

行从上到下编号为\(1\)\(n\),列从左到右编号为\(1\)\(n\)。 第 $ x $ 行和第 $ y $ 列交叉处的单元格表示为 $ (x, y) $ 。

Aquamoon 可以执行多项(可能是零)操作,但她必须遵守以下限制:

  • 每行、每列最多可以移动一次;
  • 矩阵的每个整数最多可以移动两次;
  • 任意两个整数移动两次后的偏移量不能相同。 形式上,如果整数 $ a $ 和 $ b $ 被移动了两次,假设 $ a $ 已将其位置从 $ (x_1,y_1) $ 更改为 $ (x_2,y_2) $ ,并且 $ b $ 已将其位置从 $ (x_3,y_3) $ 到 $ (x_4,y_4) $ ,然后 $ x_2-x_1 \not\equiv x_4-x_3 \pmod{n} $ 或 $ y_2-y_1 \not\equiv y_4-y_3 \pmod{n } $ .

Aquamoon 想知道她可以通过多少种方式将魔方从给定的初始状态转变为给定的目标状态。 如果应用操作的顺序不同,则认为两种方式不同。 由于答案可能非常大,因此输出对 $ 998,244,353 $ 取模的结果。

输入格式

每个测试包含多个测试用例。 第一行包含测试用例的数量 $ t $ ( $ 1 \le t \le 2\cdot 10^4 $ )。 测试用例的描述如下。

每个测试用例的第一行包含一个整数 $ n $ ( $ 3\le n \le 500 $ )。

接下来的 $ n $ 行的第 $ i $ 行包含 $ n $ 个整数 $ a_{i1}, \ldots, a_{in} $ ,表示初始矩阵的第 $ i $ 行 ( $ 1 \le a_{ij} \le n^2 $ )。

接下来的 $ n $ 行中的第 $ i $ 行包含 $ n $ 个整数 $ b_{i1}, \ldots, b_{in} $ ,表示目标矩阵的第 $ i $ 行( $ 1 \le b_{ij} \le n^2 $ )。

保证初始矩阵的元素和目标矩阵的元素都构成数字的排列 $ 1, \ldots, n^2 $ 。

保证所有测试用例的\(n^2\)总和不超过\(250\,000\)

输出格式

对于每个测试用例,如果可以在尊重所有限制的情况下将初始状态转换为目标状态,则输出一个整数 - 执行此操作的方法数,以 $ 998,244,353 $ 为模。

如果没有解决方案,则打印单个整数 $ 0 $ 。

输入输出样例

输入

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

输出

1
0
0
4

说明/提示

在第一个测试用例中,将初始矩阵转换为目标矩阵的唯一方法是将第二行向右移动 \(1\) 位置,然后将第一列向下移动 \(1\) 位置。

在第二个测试用例中,可以表明没有正确的方法来变换矩阵,因此,答案是 $ 0 $ 。

思路:

借鉴自Alex_Wei

因为一个数至多被操作两次,且每行每列至多被操作一次,所以一个数所在行经历过操作以后,这个数一定在正确的列上。同理,一个数所在列经历过操作以后,这个数一定在正确的行上。可以考虑反证法,我们假设起点经过行移动后到达了青色的点。显然,从青色的点到终点需要两步,此时该点移动了三步,与题意不符,故不成立。列操作同理可得。

image

此外,题目要求被操作的两个数的偏移向量不同,这里用一个\(vis\)数组就能解决。然而,我们可以将它作为条件推出一个很有用的性质:若至少有一行被操作,那每一列的偏移量不同;若至少有一列被操作,那每一行的偏移量不同。这个性质还是比较好推的,也是考虑反证:假设有两列的偏移量相同,然后再对任意一行的进行操作,那么一定有两个数的偏移向量一样,与题目相悖,故不存在。举个🌰,我们假设第\(i\)列和第\(j\)列同样向下偏移两个格,然后对第\(k\)行进行向右偏移的操作

image

从图中,我们不难发现青点和粉点的偏移向量是一样的。

我们设第\(i\)行的偏移量为\(r_i\),第\(j\)列的偏移量为\(c_j\),由上述性质可得,任意的\(r_i\)互不相同且\(c_j\)互不相同(\(r_i≠0\),\(c_j≠0\))。

接下来我们要求出所有的\(r_i\)\(c_j\)。若第\(i\)行存在一个数,该数的行没有改变,那么显然\(r_i\)只能等于这个数的偏移量。若第\(i\)行的所有数的行都改变了,也就是\(c_{1\sim n}\)均不为0。又因为\(1≤c_j<n\),所以存在相同且不为0的\(c_j\),这又说明所有的行均不能被操作,否则与上述性质矛盾,因此\(r_i=0\)。反之同理。这说明每一行/列的偏移量为定值,不会随着操作而改变。

我们假设一行的状态为合法的,当且仅当它没有被操作过,且\(r_i>0\),且操作后的数都在正确的列上。同理可设得合法的列的状态。假设某一时刻合法的只有行和列中的一种(只有行合法或只有列合法),那么这些行/列操作是相互独立的。假设有\(x\)行/列合法,因为操作的先后不影响最后的答案,而题目又说如果应用操作的顺序不同,则认为两种方式不同。,所以贡献为\(x!\)(\(x\)种操作的全排列)

若第\(i\)行和第\(j\)列同时合法,那么考虑\(a_{i,j}\),如果先操作第\(i\)行,且第\(j+r_i\)列的偏移量可以使得\(a_{i,j}\)到达正确的位置,那么因为先操作第\(j\)列也可以让\(a_{i,j}\)到达正确的行,所以第\(j\)列和第\(j+r_i\)列的偏移量相同,矛盾。同理可得先操作第\(j\)列也会矛盾。举🌰说明一下,我们假设\(a_{i,j}\)要移到蓝色点所在的位置,因为此时的列与行均合法(上面假设的),所以此时的\(c_j=k-i\)。假设我们先移动第\(i\)行,此时该点到达了\((i,j+r_i)\)的位置,要将该点移到正确的位置,此时\(c_{j+r_i}=k-i\),此时的\(c_{j+r_i}\)\(c_j\)相同,与题目条件相悖,故不存在。

image

综上,不存在行和列同时合法。考虑当前所有合法的行与列,显然一次行操作不会增多或减少合法行,所以一定是当前合法行全部操作完后产生若干合法列,再将若干合法列操作完后产生新的合法行,行列交替操作知道不会产生新的合法行与列。此时检查一下每个数是否到达它应该到达的位置,若是则根据乘法原理输出若干阶乘相乘后的答案,否则无解。

时间复杂度大于等于\(O(n^2)\),小于等于\(O(n^3)\)

代码:

$code$
#include<iostream>
#include<map>
#include<vector>
#define int long long//不开long long见_____ 
using namespace std;
const int N=520,mod=998244353;
int T,n,cnt,ans,a[N][N],b[N][N],r[N],c[N],fac[N];pair<int,int> pos[N*N];bool vis[N][N];
inline void work(){cin>>n;for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j],vis[i][j]=0;//输入+多测清空 for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>b[i][j],pos[b[i][j]]={i,j};//输入+记录结果位置 for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){int dx=(pos[a[i][j]].first-i+n)%n;int dy=(pos[a[i][j]].second-j+n)%n;//偏移向量 if(dx&&dy){//只考虑移动两次的数 if(vis[dx][dy]){//有过相同的偏移向量 cout<<"0\n";return ;}vis[dx][dy]=1;//标记当前偏移向量 }}}for(int i=1;i<=n;i++){map<int,int> mp;for(int j=1;j<=n;j++) mp[b[i][j]]=j;//记录对应位置所在列 r[i]=-1;//初始化 for(int j=1;j<=n;j++){auto it=mp.find(a[i][j]);//查找a[i][j]出现的列  if(it==mp.end()) continue;//没找到 int flag=(it->second-j+n)%n;//a[i][j]出现的列  if(r[i]==-1) r[i]=flag;//没有移动过 标记为当前偏移量 else if(r[i]!=flag){//与前面偏移量冲突 cout<<"0\n";//输出无解 return ;}}if(r[i]==-1) r[i]=0;//不用偏移 }for(int j=1;j<=n;j++){map<int,int> mp;for(int i=1;i<=n;i++) mp[b[i][j]]=i;c[j]=-1;for(int i=1;i<=n;i++){auto it=mp.find(a[i][j]);if(it==mp.end()) continue;int flag=(it->second-i+n)%n;if(c[j]==-1) c[j]=flag;else if(c[j]!=flag){cout<<"0\n";return ;}}if(c[j]==-1) c[j]=0;}//同上述求r[i]的过程 int ans=1,cur=0,last=-1;while(1){int cnt=0;if(!cur){//行操作 for(int i=1;i<=n;i++){if(!r[i]) continue;//不用偏移 bool ban=0;for(int j=1;j<=n;j++) if((pos[a[i][j]].second-j+n)%n!=r[i]) ban=1;//判当前行是否合法  if(!ban){//若合法 cnt++;//记录合法的行的数量 int d[N];for(int j=1,p=r[i]+1;j<=n;j++){d[p]=a[i][j];if(++p>n) p-=n;}//按照题目模拟偏移操作 memcpy(a[i],d,sizeof(d));//把值赋回原数组 }}	}else{//列操作 for(int j=1;j<=n;j++){if(!c[j]) continue;bool ban=0;for(int i=1;i<=n;i++) if((pos[a[i][j]].first-i+n)%n!=c[j]) ban=1;if(!ban){cnt++;int d[N];for(int i=1,p=c[j]+1;i<=n;i++){d[p]=a[i][j];if(++p>n) p-=n;}for(int i=1;i<=n;i++) a[i][j]=d[i];}}}//同上述行操作 if(!cnt&&!last) break;//没有合法的行与列了 last=cnt;cur^=1;//记录上一次答案 转换行与列 ans=(ans*fac[cnt])%mod;//答案为阶乘相乘 }bool f=1;for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f&=(a[i][j]==b[i][j]);//是否都到达指定位置 if(!f) cout<<"0\n";//只要有没到的就为无解 else cout<<ans<<'\n';//否则输出答案 
}
signed main(){ios::sync_with_stdio(false);fac[0]=1;for(int i=1;i<N;i++) fac[i]=(fac[i-1]*i)%mod;//预处理阶乘 cin>>T;while(T--) work();return 0;
}

下述内容与题目无关

$song$

你是 遥遥的路
山野大雾里的灯
我是孩童啊 走在你的眼眸
你是 明月清风
我是你照拂的梦
见与不见都一生 与你相拥
而我将 爱你所爱的人间
愿你所愿的笑颜
你的手我蹒跚在牵
请带我去明天
如果说 你曾苦过我的甜
我愿活成你的愿
愿不枉啊 愿勇往啊
这盛世每一天
你是 岁月长河
星火燃起的天空
我是仰望者 就把你唱成歌
你是 我之所来
也是我心之所归
世间所有路都将 与你相逢
而我将 爱你所爱的人间
愿你所愿的笑颜
你的手我蹒跚在牵
请带我去明天
如果说 你曾苦过我的甜
我愿活成你的愿
愿不枉啊 愿勇往啊
这盛世每一天
山河无恙 烟火寻常
可是你如愿的眺望
孩子们啊 安睡梦乡
像你深爱的那样
而我将 梦你所梦的团圆
愿你所愿的永远
走你所走的长路
这样的爱你啊
我也将 见你未见的世界
写你未写的诗篇
天边的月 心中的念
你永在我身边
与你相约 一生清澈
如你年轻的脸

$picture$

image

相关文章:

CF1864G Magic Square

题面:(粘自洛谷) CF1864G Magic Square 题目描述 Aquamoon 有一个魔方,可以看作一个 \(n \times n\) 矩阵,矩阵的元素构成数字的排列 $1, \ldots, n^2 $ 。 Aquamoon 可以对矩阵执行两种操作:行移位,即将矩阵的整行向右移动几个位置(至少 $ 1 $ 且最多 $ n-1 $ )。 超出…...

OI TRICKS

位运算 每一位是独立的,可以拆开处理 \(a, b \in \{0, 1\}\),则xor and or\(a \oplus 1 = 1- a\) \(a \ \text{and} \ 0 = 0\) \(a \ \text{or} \ 1 = 1\)\(a \oplus 0 = a\) \(a \ \text{and} \ 1 = a\) \(a \ \text{or} \ 0 = a\)$a \oplus b = a + b - 2ab $ \(a \ \t…...

day37大模型程序开发-GraphRAG理论

RAG基本回顾实现流程准备原始的知识库(一个一个的文件组成) 将知识库文件内容进行读取(完整的字符串) 分块处理(新知识库:一段一段的文本字符串组成) 向量转换:将每一段文本chunk转换成向量(向量模型) 将向量数据存储到向量数据库 接受用户的提问,将用户提问转换成向…...

G

int a[1000001]; int top=-1;//栈为空 void push(int num) { a[++top]=num; } void pop() { printf("%d ", a[top--]); }//减1出栈 int main() { int n, i; int b[1000001]={0}; int c[1000001]={0}; scanf("%d", &n); for(i=0;i<n;i++)scanf("…...

AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLAM1具身机器人

AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLAM1具身机器人AI Compass前沿速览: AI-Compass 致力于构建最全面、最实用、最前沿的AI技术学习和实践生态,通过六大核心模块的系统化组织,为不同层次的学习者和开发者提供从完整学习路…...

day3536大模型应用开发-模型微调框架

为什么需要微调? 在开始学习微调之前,大家首先还是要搞清楚为什么要微调?在什么情况下需要微调?让模型更懂“专业话”:通用模型就像一个“万事通”,它学过很多东西,但对一些特别专业的领域(比如医学、法律、金融)可能不会特别精通。通过微调,我们可以给模型“补课”,…...

使用NVM管理Node.js版本

🍁简介 在当前日常前端开发中,不同项目可能依赖于不同版本的Node.js。 一个项目可能需要Node.js 14,而另一个项目可能需要Node.js 18甚至更高版本。 直接安装和卸载不同版本的Node.js不仅繁琐,而且容易导致环境混乱。 Node Version Manager NVM 是一个命令行工具,允许在同…...

day12-Trae之一键换脸APP开发02

今日内容 1 Trae配置 # 1 之前就装过python解释器和JDK了 # 2 如果你电脑上没有任何编辑器,使用txt写代码,都可以可以运行pyton或java的项目# 3 IDE只是个快速写代码的软件,如果没装python解释器和JDK---》代码运行不了Trae Pycharm Androidstudio VScode 都叫编辑器 简称ID…...

day35大模型应用开发-模型微调

为什么需要微调? 在开始学习微调之前,大家首先还是要搞清楚为什么要微调?在什么情况下需要微调?让模型更懂“专业话”:通用模型就像一个“万事通”,它学过很多东西,但对一些特别专业的领域(比如医学、法律、金融)可能不会特别精通。通过微调,我们可以给模型“补课”,…...

P6631 [ZJOI2020] 序列 题解

很好的贪心题。 考虑从左到右枚举每个位置,每次在右边添加一个数时更行答案。 容易想到记录当前前缀可以继续向右延伸的 \(1,2,3\) 操作的个数。记当前需要添加的数为 \(i\),用 \(c,x,y\) 分别表示可以继续向右延伸(从 \(\le i-1\) 的位置)的三种操作的个数:连续区间、奇偶…...

初始化一个rust环境

初始化一个rust环境初始化一个rust环境 rust 安装工具依赖入门 - Rust 程序设计语言一门帮助每个人构建可靠且高效软件的语言。 https://www.rust-lang.org/zh-CN/learn/get-startedrustup 环境变量 RUSTUP_DIST_SERVER : https://mirrors.ustc.edu.cn/rust-static RUSTUP_UPDA…...

编程里边有好多不容易触及的知识点

可能是因为不是原生土长的内容,编程里边有很多没有办法合情理解的领域。框架是其中一个,类似的还有 窗口库,还有好多其它东西。以前刚开始学窗口的时候,总是觉得没办法进行。周围的同学大概都是 拿过来用就可以,创建一个frame增加些lable 写一些事件。这些内容,相当于引用…...

25.9.18随笔联考总结

考试 通读题面,发现前两道是签。然后开做,饭堂,最后花费大部分时间过掉。后面两道题都不会。寄寄。 估计:100+100+0+0。实际:100+100+0+0。 有人藏分,素质有待提高! 改题+总结 T3 需要看出无限制的方案数对应卡特兰数,然后我没有推出来,并且也没有去打表找规律。感觉自…...

漏洞详解--文件上传 如何花样绕过?!

一、漏洞原理 1.1 核心 文件上传漏洞,顾名思义,将攻击者将恶意文件上传到服务器,服务器将恶意文件解析,攻击就达成了。 1.2 漏洞详解 文件上传漏洞非常好理解,有三个关键点,一是上传文件,二是找到文件上传的路径,三是使恶意文件得到解析。 假设一个系统没有防御(后面会…...

使用Windows客户端访问EDA环境的NFS共享

在IC设计环境中, 也总是会有Windows操作系统的开发服务器或者客户端需要使用IC设计平台中Linux主机使用的NFS服务器。 使用者也是IC设计团队中的一员,可能出于设计工具的原因, 他/她的部分工作必须在Windows中完成, 同时也需要保持NFS目录的权限体系,不能为了这少量的Wind…...

Day03-1

public class HelloWorld { public static void main(String[] args) { String teacher = "David"; System.out.println("Hello World"); } //有趣的代码注释 //单行注释 //输出一个Hello,World! //多行注释 :可以注释一段文字 /注释/ /* 我是多行注释 我…...

使用php -S 127.0.0.1:8000 新建php服务

php -S 127.0.0.1:8000 启动服务后 当前坐在目录下的所有文件都可以在浏览器上以 http://127.0.0.1/目录/文件名称 的形式访问 比如: 浏览器访问 http://127.0.0.1/upload_files.php 就会直接调用当前目录 upload_files.php 浏览器访问 http://127.0.0.1/ims/abc.png 就会打开…...

Day03

强类型语言 所有变量都需要定义后才能使用,Java,C++ 弱类型语言 Javascript 数据类型(JAVA) 基本类型 数值类型字符类型 char 占两个字节 浮点类型(小数)float 占四个字节 double 占八个整数类型byte 占一字节 short 占两字节 int 占四字节 long 占八字节boolean类型 占一…...

完整教程:从“我店”模式看绿色积分电商平台的困境与破局

完整教程:从“我店”模式看绿色积分电商平台的困境与破局pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", m…...

Java第三周课前思考

什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?完成独立功能或创建类的实例或对类级别的属性进行操作的方法应该用static修饰。 不用static修饰的方法往往具有依赖实例状态、通过实例调用、可访问静态变量和方法、…...

Java的安装及卸载

卸载JDK删除java的安装目录 删除JAVA_HOME(环境配置中) 删除path下关于java的目录(环境配置中) cmd中查找java -version是否仍存在安装JDK百度搜索JDK8,找到下载地址 同意协议 下载电脑对应的版本 双击安装JDK 记住安装的路径 配置环境变量我的电脑-->右键-->属性 环…...

题解:P13882 [蓝桥杯 2023 省 Java A] 小蓝的旅行计划

挺可爱的反悔贪心,乍一看没看出和旅行家的预算的区别,甚至做完才发现不一样的说。 正文 首先我们可以将操作分为两个部分。分别是用油操作和加油操作。 用油 有一个简单的贪心策略,用油的时候首先使用最便宜的油,这点显然。 此外,如果当前油箱里所有油都不能到达下一站,自…...

实用指南:订阅式红队专家服务:下一代网络安全评估新模式

实用指南:订阅式红队专家服务:下一代网络安全评估新模式pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", m…...

更快的布尔矩阵乘法

这是小蝴蝶研读的第二篇论文,时间复杂度的话,原论文写的是 \(\frac{n^3}{2^{\Omega(\sqrt[7]{\log n})}}\),我感觉这个界可以精确分析出来,不过我还没看懂论文,先占个坑。...

数据结构初阶——红黑树的实现(C++) - 教程

数据结构初阶——红黑树的实现(C++) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !im…...

CMC蒲和平3.1

例3(凑)求 \(\int\frac{dx}{\sqrt[3]{(x + 1) ^ 2(x - 1) ^ 4}}\).solution 注意到 \(d(\frac{x + 1}{x - 1}) = \frac{-2}{(x - 1) ^ 2} dx\),考虑凑微分。 \[I = \int \frac{dx}{\sqrt[3]{(\frac{x + 1}{x - 1}) ^ 2} (x - 1) ^ 2} = -\frac{1}{2}\int \frac{d(\frac{x + …...

解码C语言数组

一维数组 数组是相同类型数据元素的有序集合,通过下标(索引)访问元素,内存中连续存储。 数组名表示首元素地址,sizeof(arr) 返回整个数组的字节大小 核心特点元素类型一致:所有元素必须为同一数据类型(如 int, float)。 固定大小:数组长度在声明时确定,静态数组无法动…...

github启用Disscussions讨论功能

配置步骤 1. 设置GitHub仓库并启用Discussions功能 首先需要为你的GitHub仓库启用Discussions功能:访问你的GitHub仓库: https://github.com/KkaiFang/my_notes点击 Settings 标签页向下滚动找到 Features 部分勾选 Discussions 复选框来启用讨论功能2. 配置Giscus评论系统 访…...

RWA技术规范解读:如何实现现实世界资产的合规代币化

RWA技术规范解读:如何实现现实世界资产的合规代币化 近日,深圳市信息服务业区块链协会发布了《RWA技术规范》(T/SZBA-2025),这是国内首个针对现实世界资产代币化的团体标准。本文将深入解读该规范的核心内容,帮助读者全面了解RWA代币化的技术框架和实施要点。 1. 什么是RWA…...

干货预警!Apache SeaTunnel 助力多点 DMALL 构建数据集成平台,探索AI新零售行业应用!

🎉亲爱的社区朋友们,数据集成领域的一场知识盛宴即将来袭!9 月 30 日下午 2 点,Apache SeaTunnel 社区精心策划的又一场线上 Meetup 将准时与大家云端相见!🎉亲爱的社区朋友们,数据集成领域的一场知识盛宴即将来袭!9 月 30 日下午 2 点,Apache SeaTunnel 社区精心策…...

Apache SeaTunnel 2.3.12 发布!核心引擎升级、连接器生态再扩张

近期,Apache SeaTunnel 2.3.12 正式发版。这是继 2.3.11 之后的又一次迭代,本周期合并 82 个 PR,提供 9 项新特性、30+ 项功能增强、20+ 处文档修正,并修复 43 个 Bug。核心改进集中在 SensorsData 与 Databend 生态接入,Paimon、ClickHouse、MaxCompute 等连接器读写能力…...

详细介绍:对于牛客网—语言学习篇—C语言入门—链表的题目解析

详细介绍:对于牛客网—语言学习篇—C语言入门—链表的题目解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New&quo…...

Day17Arrays类的初步认识

package com.cc.array;import java.util.Arrays;public class ArrayDem6 {public static void main(String[] args) {int[] a = {12, 3, 43, 4, 235, 5, 6, 45, 7, 7};System.out.println(a);//[I@f6f4d33//打印数组元素System.out.println(Arrays.toString(a));//toString:以字…...

小学生模拟赛题解

A 正常做这题显然 \(10^{18}\) 是不可做的,所以问题一定出现在 gen 上。 注意到 \(7\mid2009\),换句话说,若 \(t_1=3k(k\in\mathbb N_+)\),那么 \(t_2=t_1+9\),这就导致 \(3\mid t_2\)。以此类推,会发现对于 \(\forall i\in[2,n]\),满足 \(t_i-t_{i-1}=9\),答案就是 \(…...

服务器安装docker、mysql、redis、nginx、nacos、jdk等

一、安装docker 1.1、安装必要工具 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm21.2、进行仓库源设置 sudo yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo1.3、docker安装安装最新…...

StringComparer.OrdinalIgnoreCase

StringComparer.OrdinalIgnoreCase 是 .NET 提供的不区分大小写、且按 Unicode 码位排序的字符串比较器,适用于哈希表、字典、集合、排序等需要显式指定比较规则的地方。1. 核心特点特性说明比较规则 不区分大小写(A == a)排序规则 纯 Unicode 码位顺序(文化无关)性能 比文…...

LLM大模型:Qwen3-Next-80B中的next究竟是个啥?

1、近期,国内LLM头号玩家阿里发布了Qwen3-Next-80B模型,但从名字上看就和其之前发布的模型不同:多了next!这就奇怪了:为啥会多出一个next?这个next究竟是啥意思了?2、自从3年前 chatGPT 3.5发布后,AI又开始大火,就是因为效果比传统的机器学习好10倍!效果为啥好了,核…...

中了勒索病毒 peng

中了勒索病毒 peng一,中招 早上一上班,看到电脑屏幕显示这样的壁纸。 居然中招了?不敢相信。 我发现自己的网盘里的所有文件,都被加密并改名,形如 aaaa.jpg.[[VlDy9dk2RaQ1F]].[[Ruiz@firemail.cc]].peng 而且这些文件,都已同步到了网盘,通过手机app访问,也只能看到这些…...

在 WSL 中通过 Bash 函数快速转换 Windows 路径为 Ansible/WSL 路径 - 教程

在 WSL 中通过 Bash 函数快速转换 Windows 路径为 Ansible/WSL 路径 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Cour…...

金融租赁公司厂商租赁业务调研报告

厂商租赁金融租赁公司厂商租赁业务调研报告 报告摘要 本报告旨在全面、深入地分析中国金融租赁公司(下称“金租公司”)厂商租赁业务的现状、模式、市场环境、监管动态、数字化转型路径及绩效评估体系。截至2025年,厂商租赁作为一种深度绑定产业的业务模式,正日益成为金租公…...

普科科技PKC7030H交直流电流探头应用指南​​

普科PKC7030H探头支持DC-120MHz带宽、1%精度,30A连续电流测量,适用于高频大电流交直流混合信号测试。在现代电力电子、新能源及高速数字系统的设计与调试中,对复杂电流波形的精准测量是分析效率、优化性能与保障可靠性的基石。​​普科科技(PRBTEK)PKC7030H高频交直流电流…...

从“分散”到“统一”,中控技术利用SeaTunnel构建高效数据采集框架,核心数据同步任务0故障运行!

本文将深入探讨中控技术基于 Apache SeaTunnel 构建企业级数据采集框架的实践,重点分享集群高可用配置、性能调优、容错机制及数据质量监控等方面的具体思考与方案。作者 | 崔俊乐引言:对企业而言,数据采集的核心挑战从来不仅仅是“同步”,而是如何在大规模、多元异构的复杂…...

再见 Cursor,Qoder 真香!这波要改写 AI 编程格局

如果把未来 AI 编程工具的核心竞争力用一句话总结,那就是:能不能让开发者在透明化的协作中,信任它、依赖它,并且和它一起把项目养大。作者:loonggg 真心建议大家去使用一下这段时间最新推出的一款 AI 编程工具:Qoder 。 真的是太好用了,一点也不比 Cursor 差。 为什么这…...

T/B cell subtype marker - un

B cell ref: https://www.abcam.cn/primary-antibodies/b-cells-basic-immunophenotypingT cell ref: https://www.abcam.cn/primary-antibodies/t-cells-basic-immunophenotyping作者:un-define出处:https://www.cnblogs.com/mmtinfo/p/19099331本文版权归作者和博客园共有,…...

SAP FICO 完全凭证替代

GGB1 这个参数是获取所有行项目的关键USING bool_data TYPE gb002_015*&---------------------------------------------------------------------* *& Form u902 *&---------------------------------------------------------------------* * text *…...

K8s Application模式下的flink任务执行精要

本文分享自天翼云开发者社区《K8s Application模式下的flink任务执行精要》,作者:l****n 构键k8s集群在这里,我们需要搭建一个K8S环境用于提供flink任务的运行时环境。在这里推荐使用kubeadm或者一些脚本工具搭建,可参考本自动k8s脚本工具。具体过程在这里省略,可以参考上…...

从0打造一个TTS语音合成引擎:原理与实现

语音合成技术(Text-to-Speech, TTS)近年来发展迅猛,从早期机械感十足的合成音到如今几乎可以以假乱真的人声,背后是深度学习技术的巨大进步。本文将带你了解现代语音合成的基本原理,并尝试用Python实现一个简易版的TTS系统。 语音合成技术演进图1:语音合成技术发展历程,…...

莫队

Argvchs 说我不会根号算法,把之前的博客搬过来,然后再补点东西。 一种离线算法,可以用 \(O(n\sqrt n)\) 的复杂度处理区间查询问题,当然,也可以带修,下文也会提到。 关于复杂度 莫队优化的关键是排序 + 分块,将每个询问离线下来,按照左端点所在块从小到大排序,假如左端…...

0voice-2.1.1-网络io与io多路复用select/poll/epoll

测试...

Java基本语句-分支语句

Java基本语句-分支语句Day05 如何在API字典中寻找自己想要的Scanner类型 1.点击搜索 输入Scanner 2.字典中回显示各种类型的获取方式: nextByte()、nextShort()、nextInt()、nextLong()、nextdouble()、nextFloat()、next()多种引用使用。 3.调用Scanner类的相关方法,来获取指定…...