2024中国大学生算法设计超级联赛(2)

🚀欢迎来到本文🚀
🍉个人简介:陈童学哦,彩笔ACMer一枚。
🏀所属专栏:杭电多校集训
本文用于记录回顾总结解题思路便于加深理解。

📢📢📢传送门

  • A - 鸡爪
    • 解题思路
    • AC代码
  • F - 传奇勇士小凯
    • 解题思路
    • AC代码
  • G - URL划分
    • 解题思路
    • AC代码
  • J - 女神的睿智
    • 解题思路
    • AC代码
  • K - 在 A 里面找有 C 的 B
    • 解题思路
    • AC代码

A - 鸡爪

Problem Description

在这里插入图片描述
一个鸡爪是由 4 个部分组成,一个点与三个与该点相邻的边,三个边的另一端点被认为不在鸡爪中。

一个图上的鸡爪数是该图最多成形成几个鸡爪,使得图上每个点与边最多一个鸡爪中(注意上文点与边是否在鸡爪中的定义)。

现在给你 n 条边,你可以使用任意个点,构造一个简单无向图(没有自环重边),要求最大化该图的鸡爪数,并输出n条边的两端点。如果有多解,请让输出的 2n 个数字在行优先遍历的顺序下,字典序最小

字典序:序列A的字典序小于序列B,当且仅当存在i (1≤i≤n),使得A[i]<B[i],且对任意的j (1≤j<i),A[j]=B[j]。

在这里插入图片描述
Input

第一行为一个整数 T ( 1 ≤ T ≤ 1 0 4 ) ,表示测试样例个数。 第一行为一个整数 T(1≤T≤10^4) ,表示测试样例个数。 第一行为一个整数T(1T104),表示测试样例个数。

每个样例一行,为一个整数 n ( 1 ≤ n ≤ 1 0 4 ) 。保证所有样例的 n 的 ≤ 1 0 4 。 每个样例一行,为一个整数 n(1≤n≤10^4)。保证所有样例的n的≤10^4。 每个样例一行,为一个整数n(1n104)。保证所有样例的n104

在这里插入图片描述
Output

每个样例输出 n 行,每行两个正整数,表示该无向边连接的两个顶点(顶点从 1 开始编号) 每个样例输出 n 行,每行两个正整数,表示该无向边连接的两个顶点(顶点从 1 开始编号) 每个样例输出n行,每行两个正整数,表示该无向边连接的两个顶点(顶点从1开始编号)

解题思路

构造题(不会构造 ^ __ ^)。要使得构造的简单无向图的鸡爪数尽可能的多,而一个鸡爪由一个点和三条相邻边且只能使用一次。我们可以考虑倒着构造每个点,且除了第1个点外每个点需要与没有用过且与自身不相等的另外3个点连边。第一个点的与3 + n % 3 个点相连。

AC代码

#include<bits/stdc++.h>
#define look(x) cout << #x << " ==  " << x << "\n"
using namespace std;
using i64 = long long;
const int N = 2e5 + 10;
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;void solve(){int n;cin >> n;//需要跑几轮int m = n / 3;//每个点都连3个点vector<int> a(m + 1,3);//特判,不足3条边的情况if(n <= 2){m = 1;a.resize(2,0);}//第一个点还需要连的n % 3个点a[1] += n % 3;//存答案set<pair<int,int>> ans;//倒着从大到小开始for(int i = m;i >= 1;i --){//遍历出与i相连的3个点for(int j = 1;a[i] > 0;j ++){//不与自身相等且没有出现过if(i != j && !ans.count(minmax(i,j))){ans.insert(minmax(i,j));//点数减1a[i] --;}}}for(auto [x,y] : ans){cout << x << " " << y << "\n";}
}int main(){	ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;cin >> t;while(t --){solve();}return 0;
}

F - 传奇勇士小凯

Problem Description

传说在遥远的魔法大陆有着一个村庄叫做卡卡奇里奇,这里有n座房屋,n−1条道路,保证了任意两座房屋之间都可以通过道路相互可达。这里环境优美,居民幸福地生活着。

但是有一天晚上,原本平静的村庄突然受到一不明寄生生命体的袭击,奇怪的怪物绑架了所有居民,并控制了所有房屋。凌晨时分,在外游历的勇士小凯收到了卡卡奇里奇国王的召唤来到了卡卡奇里奇,奉命消灭所有怪物,解救整个村庄。

由于有人工智能Fairy的存在,卡卡奇里奇国王能够知道小凯和每个房屋的怪物的较量中的获胜概率是多少。在一场小凯和第i个房屋的怪物较量中,小凯有pi15的概率获得胜利,成功消灭第i个房屋的所有怪物,同时小凯有1−pi15的概率失败,那么第i个房屋的怪物会依旧存在,只能之后再挑战。由于没有被消灭怪物会在每个晚上恢复元气,所以每一天小凯对第i个房屋的怪物的战斗胜率是固定的。

经过了长途跋涉之后,小凯来到了卡卡奇里奇的1号房屋开始了战斗。每一天白天,小凯都会对当前他所在的房屋的怪物发起挑战,如果成功那么他会询问卡卡奇里奇国王然后在国王的建议之下选择一个与当前房屋相邻的(有直接的道路相连的)还存在怪物的房屋前进(但是第二天才能对该房屋的怪物进行挑战),如果不存在这样的房屋,那么喜欢摸鱼的小凯便会离开这个村庄去摸鱼。如果挑战失败,那么小凯会在这个房屋门口休息一个晚上,等到下一天继续发起挑战。

国王希望摸鱼的小凯在村庄呆的久一点,所以他想问你在他的控制之下,小凯最多期望在村庄里停留多少天?请你以最简分数的形式告诉他这个答案。

在这里插入图片描述

Input

第一行一个整数 T ( 1 ≤ T ≤ 20 ) 表示数据组数。 第一行一个整数T (1≤T≤20)表示数据组数。 第一行一个整数T(1T20)表示数据组数。

对于每组数据,第一行有一个整数 n ( 1 ≤ n ≤ 1 0 5 ) ,表示房屋的数量。 对于每组数据,第一行有一个整数n (1≤n≤10^5),表示房屋的数量。 对于每组数据,第一行有一个整数n(1n105),表示房屋的数量。

接下来有n−1行,每行两个整数u,v,表示村庄的一条道路,保证没有重边,没有自环。(1≤u,v≤n,u≠v)​

接下来有 n 个整数,第 i 个整数 p i ( 1 ≤ p i ≤ 15 ) 表示小凯打倒第 i 个村庄的怪物的概率为 p i 15 。 接下来有n个整数,第i个整数p_i (1≤p_i≤15)表示小凯打倒第i个村庄的怪物的概率为p_i15。 接下来有n个整数,第i个整数pi(1pi15)表示小凯打倒第i个村庄的怪物的概率为pi15

数据保证 ∑ n ≤ 5 ⋅ 1 0 5 数据保证∑n≤5⋅10^5 数据保证n5105

在这里插入图片描述

Output

对于每组数据,输出一个最简分数( A / B , A 与 B 互质)表示小凯最多期望在村庄里停留多少天。数据保证答案不会为 0 。 对于每组数据,输出一个最简分数(A/B,A与B互质)表示小凯最多期望在村庄里停留多少天。数据保证答案不会为0。 对于每组数据,输出一个最简分数(A/BAB互质)表示小凯最多期望在村庄里停留多少天。数据保证答案不会为0

在这里插入图片描述

解题思路

要我们求期望,首先如果做一件事成功的概率为 P P P,那么这件事成功的期望就是 1 / P 1/P 1/P,而这里小凯有 p i / 15 p_i/15 pi/15的概率获得胜利,那么期望就是 15 / p i 15/p_i 15/pi/。
然后我们可以先求每个点的期望,然后dfs从1开始遍历图求最大的期望天数,但是这里的期望期望是个分数,为了方便计算我们可以考虑通分,因为 p i p_i pi为1到15,所以通分的分母就应该是1到15的最小公倍数。
然后我们可以在分母相同的情况下求出每个点的分子,最后dfs累加答案求最大期望值。
最后再求个分子和分母的gcd然后输出最简分数形式。

AC代码

#include<bits/stdc++.h>
#define int long long
#define look(x) cout << #x << " ==  " << x << "\n"
using namespace std;
using i64 = long long;
const int N = 2e5 + 10;
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;
vector<int> g[N];
bool st[N];
int f[N];
int k = 1;
int ans = 0;
int gcd(int x,int y){return y ? gcd(y,x % y) : x;
}
int lcm(int x,int y){return x * y / gcd(x,y);
}
void dfs(int i,int x){ans = max(ans,x);for(auto y : g[i]){if(st[y]){continue;}st[i] = true;dfs(y,x + f[y]);st[i] = false;}}
void solve(){int n;cin >> n;for(int i = 1;i <= n;i ++){g[i].clear();st[i] = false;}for(int i = 1;i <= n - 1;i ++){int u,v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}vector<int> p(n + 1);//求在相同分母下每个点的分子for(int i = 1;i <= n;i ++){cin >> p[i];f[i] = 15 * k / p[i];}//dfs跑图dfs(1,f[1]);//求最大分子之和与分母的gcdint res = gcd(ans,k);cout << ans / res << "/" << k / res << "\n";ans = 0;
}signed main(){	ios::sync_with_stdio(false);cin.tie(nullptr);for(int i = 1;i <= 15;i ++){k = lcm(k,i);}
//	look(k);int t = 1;cin >> t;while(t --){solve();}return 0;
}

G - URL划分

Problem Description

给定一个 URL 字符串 S,形如 s3://hdu-oj-bucket/problem=1/type=data/

字符串的格式规定具体如下:

  1. 首先是指定使用的传输协议,例如 http, ftp, s3,保证传输协议只由小写英文字母和数字构成。之后紧跟 ://

  2. 接下来会紧跟一个字符串为其网络位置,以 / 为终止,在给定的例子中为 hdu-oj-bucket

  3. 在网络位置之后的路径字符串,每个子结构都会紧跟一个 /,在给定的例子中传输协议后面可以看成是 problem=1/, type=data/ 两个子结构组成的。假如说出现了 / 可以认为一定发生了子结构的切分。保证每个子结构中只会用到小写英文字母,数字,-=/

  4. 在路径字符串的子结构中,如果存在形如 A=B/ 的子结构,那就意味着在路径中声明了一些环境变量的值。在给定的例子中我们指定了 problem=1, type=data。为了方便解析我们保证 A,B 只由小写英文字母和数字构成,同时保证 A 是一个合法的变量命名。

对于一个确定的 URL 字符串 S,小 T 希望你帮忙解析这个字符串,输出这个 URL 所使用的传输协议网络位置,以及其在路径字符串子结构中定义的环境变量

在这里插入图片描述
Input

第一行输入一个正整数 T (1≤T≤100),表示总共有 T 组数据。

对于每一组测试数据,读入一个 URL 字符串 S (1<|S|≤200)。

具体格式满足题面中要求,保证该字符串一定合法。

在这里插入图片描述
Output

对于每一组测试数据,首先输出一行一个字符串表示,所使用的传输协议

接着输出一行一个字符串表示网络位置

接下来对于每一个声明的环境变量,输出 A=B,其中 A 为环境变量名,B 为该环境变量的值。

在这里插入图片描述

解题思路

模拟题,这题就是让我们把字符串解析后输出传输协议,网络位置,以及其在路径字符串子结构中定义的环境变量即可。需要注意的是环境变量里必须有=才输出,否则不不需要输出(我就被这个地方单杀了,鉴定为题目理解不到位。)

AC代码

#include<bits/stdc++.h>
#define look(x) cout << #x << " ==  " << x << "\n"
using namespace std;
using i64 = long long;
const int N = 2e5 + 10;
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;void solve(){string s;cin >> s;string res = "";vector<string> ans;for(int i = 0;i < s.size();i ++){if(s[i] == '/' || s[i] == ':'){ans.push_back(res);res = "";}else{res += s[i];}}int k = 0;for(auto x : ans){if(x != "" && k >= 2 && x.find('=') != -1){cout << x << "\n";}else if(x != "" && k < 2){cout << x << "\n";k ++;}}
}int main(){	ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;cin >> t;while(t --){solve();}return 0;
}

J - 女神的睿智

Problem Description

Alice在玩一款名叫《闪耀!优俊少女》的游戏,在这个游戏中,有一个重要的道具叫做女神的睿智。

为了获得女神的睿智,需要按顺序将8个知识碎片两两合成为结晶,再将4个结晶合成成为大结晶,最后将2个大结晶合成得到女神的睿智。

女神的睿智有着三种颜色,知识碎片和结晶也有着三种颜色。

在合成的碎片颜色相同时,结晶的颜色与碎片相同,在颜色不同时,结晶的颜色与左侧碎片相同。

在合成的结晶颜色相同时,大结晶的颜色与结晶相同,在颜色不同时,大结晶的颜色与左侧结晶相同。

在合成的大结晶颜色相同时,女神的睿智的颜色与大结晶相同,在颜色不同时,我们比较两种颜色的碎片在女神的睿智中出现的数量,选择出现数量多的碎片的颜色作为女神的睿智的颜色,碎片数量相同时,随机选择一个大结晶颜色作为女神的睿智的颜色。

Alice想要知道最后能获得的女神的睿智的颜色。

在这里插入图片描述

Input

第一行包含一个整数T(1≤T≤10000),表示数据组数。

接下来的T行,每行8个字符(“R”,“G”,“B”),表示每组数据的碎片颜色。

在这里插入图片描述
Output

一共T行,每行一个字符,表示最后获得的女神的睿智的颜色,如果不能确定,输出"N"。

在这里插入图片描述

解题思路

模拟。因为每行字符串只有8个字符,所以我们可以直接从左往右按顺序合并就OK了,但其实稍微观察我们可以发现,最后合成的两个大结晶的颜色其实就是第1个和第5个字符串,然后我们判断最后合并后剩下的两个字符是否相等,相等就直接输出,否则输出次数出现多的那个。

AC代码

#include<bits/stdc++.h>
#define look(x) cout << #x << " ==  " << x << "\n"
using namespace std;
using i64 = long long;
const int N = 2e5 + 10;
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;void solve(){string s;cin >> s;s = '?' + s;map<char,int> mp;string res = "";for(int i = 1;i <= 8;i ++){mp[s[i]] ++;}for(int i = 1;i <= 8;i += 2){res += s[i];		}s = '?' + res;res = "";for(int i = 1;i <= 4;i += 2){res += s[i];}s = res;
//	look(s);if(s[0] == s[1]){cout << s[0] << "\n";return;}if(mp[s[0]] == mp[s[1]]){cout << "N\n";}else{if(mp[s[0]] > mp[s[1]]){cout << s[0] << "\n";}else{cout << s[1] << "\n";}}
}int main(){	ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;cin >> t;while(t --){solve();}return 0;
}

K - 在 A 里面找有 C 的 B

Problem Description

小 T 最近上班碰到了一个问题,怎么样才能用 Vscode 快速的在 A 里面找有 C 的 B

他想要在代码库的一个文件 A 中,找到有哪些在 A 中使用到的函数 B 间接地调用了小 T 所指定的语句 C。由于小 T 的需求比较简单,所以这里不考虑间接调用的函数中的调用关系,只需要看 B 的声明中 B′ 是否包含 C 即可。

手动处理这个问题还是有相当大的重复工作量的,但是你是一个经验丰富的SQL BOY/GIRL,你对小 T 说:“闹麻了,这不就是把 A 里面包含的 B,和包含 C 的 B JOIN 一下就行了吗。”

虽然是的,但是这两张表哪来呢?

为了圆你吹下的牛,现在你需要手写一个字符串解析器,用来在 A 里面找有 C 的 B

接下来我们会给定一个长字符串 A,一个短字符串 C,以及 n 个短字符串 {Bn},以及其声明 {B′n}。

我们定义一个字符串 S 在字符串 T 中当且仅当存在一个 T 的子串 p 满足:S=p。

在这里插入图片描述
Input

第一行输入一个正整数 T (1≤T≤10),表示总共有 T 组数据。

对于每一组测试数据,首先是一个正整数 n (1≤n≤105)。

接下来是两个由小写字母构成的字符串 A,C (1≤|A|≤105,1≤|C|≤104)

接下来 n 行,每行读入两个由小写字母构成的字符串 Bi,B′i (1≤|Bi|≤104,1≤|B′i|≤105)

每组数据中有额外限制如下:∑|Bi|≤105,∑|B′i|≤5×105

在这里插入图片描述
Output

对于每一组测试数据,输出一行整数 i 满足 Bi 在 A 中,同时 B′i 中包含 C,相邻的整数之间用空格分割,注意行末不保留空格

假如答案集合为空,则输出一个空行。

在这里插入图片描述

解题思路

好像是个AC自动机的模板题,还不是很熟悉AC自动机,先贴个代码。

AC代码

#include<bits/stdc++.h>
#define int long long
#define look(x) cout << #x << " ==  " << x << "\n"
using namespace std;
using i64 = long long;
const int N = 2e5 + 10;
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;
int n,m,o;
int ne1[N],ne2[N],jk[N];
int v[N],in[N],idx,mp[N];
string s1,s2;
struct cs{int son[30],fail,flag,ans;void clear(){memset(son,0,sizeof(son));fail = flag = ans = 0;}
}tire[N];
queue<int> q;
void insert(string s,int num){int u = 1;for(int i = 0;s[i];i ++){int v = s[i] - 'a';if(!tire[u].son[v]){tire[u].son[v] = ++ idx;}u = tire[u].son[v];}if(!tire[u].flag){tire[u].flag = num;}mp[num] = tire[u].flag;
}
void getfail(){for(int i = 0;i < 26;i ++){tire[0].son[i] = 1;}q.push(1);while(!q.empty()){int u = q.front();q.pop();int Fail = tire[u].fail;for(int i = 0;i < 26;i ++){int v = tire[u].son[i];if(!v){tire[u].son[i] = tire[Fail].son[i];continue;}tire[v].fail = tire[Fail].son[i];in[tire[v].fail] ++;q.push(v);}}
}
void tp(){for(int i = 1;i <= idx;i ++){if(in[i] == 0){q.push(i);}}while(!q.empty()){int u = q.front();q.pop();v[tire[u].flag] = tire[u].ans;int v = tire[u].fail;in[v] --;tire[v].ans += tire[u].ans;if(in[v] == 0){q.push(v);}}
}
void query(string s){int u = 1,len = s.size();for(int i = 0;i < len;i ++){u = tire[u].son[s[i] - 'a'];tire[u].ans ++;}
}
void solve(){cin >> n;cin >> s1 >> s2;idx = 1;int l2 = s2.size();s2 = '?' + s2;for(int i = 2,j = 0;i <= l2;i ++){while(j && s2[i] != s2[j + 1]){j = ne2[j];}if(s2[i] == s2[j + 1]){j ++;}ne2[i] = j;}for(int i = 1;i <= n;i ++){jk[i] = 0;string a,b;cin >> a >> b;insert(a,i);int n2 = b.size();b = '?' + b;for(int ii = 1,j = 0;ii <= n2;ii ++){while(j && b[ii] != s2[j + 1]){j = ne2[j];}if(b[ii] == s2[j + 1]){j ++;}if(j == l2){jk[i] = 1;break;}}}getfail();query(s1);tp();for(int i = 1;i <= n;i ++){if(v[mp[i]] && jk[i]){cout << i << " ";}}cout << "\n";for(int i = 1;i <= idx;i ++){tire[i].clear();}
}signed main(){	ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;cin >> t;while(t --){solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267977.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

AI在Facebook的应用:预见智能化社交的新前景

在数字化时代&#xff0c;社交媒体平台已成为我们生活的重要组成部分&#xff0c;而人工智能&#xff08;AI&#xff09;的快速发展正推动着这些平台向更智能、更个性化的方向发展。Facebook&#xff0c;作为全球最大的社交网络平台之一&#xff0c;正不断探索和应用AI技术&…

MySQL作业四

1. 创建数据库mydb15_indexstu 2. 创建表student&#xff0c;course&#xff0c;sc 2.1 创建表student 2.2 创建表course 2.3 创建表sc 3. 处理表 3.1 修改表student中年龄&#xff08;sage&#xff09;字段属性&#xff0c;数据类型由int改变为smallint 3.2 为表course中cno…

智能算法驱动的爬虫平台:解锁网络数据的无限潜力

摘要 在信息爆炸的时代&#xff0c;网络数据如同深海宝藏&#xff0c;等待着有识之士发掘其无尽价值。本文将探索智能算法驱动的爬虫平台如何成为解锁这一宝库的关键&#xff0c;不仅剖析其技术优势&#xff0c;还通过实例展示它如何助力企业与开发者高效、稳定地采集数据&…

专家访谈|王本友:分不清9.11和9.9谁大?大模型该做擅长的,而不是事事完美

作为生成式人工智能的代表&#xff0c;大模型已经进入全新的发展阶段。 红星新闻、红星资本局与OpenEval平台联合发起“巢燧杯”大模型创新发展大赛&#xff0c;已于本月正式启动。2024“巢燧杯”大模型创新发展大赛由通用大模型评测、行业大模型评测大赛、专项挑战赛、大模型…

JavaScript模拟滑动手势

双击回到顶部 左滑动 右滑动 代码展示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Gesture…

opencv使用KCF算法跟踪目标,给出目标中心位置

效果图 代码 import cv2class VideoTracker:def __init__(self, video_path: str):self.video_path video_pathself.cap cv2.VideoCapture(video_path)self.tracker cv2.legacy.TrackerKCF_create()self.initBB Noneself.tracker_initialized Falseself.selecting Fals…

河道高效治理新策略:视频AI智能监控如何助力河污防治

一、背景与现状 随着城市化进程的加快&#xff0c;河道污染问题日益严重&#xff0c;对生态环境和居民生活造成了严重影响。为了有效治理河道污染&#xff0c;提高河道管理的智能化水平&#xff0c;TSINGSEE青犀提出了一套河污治理视频智能分析及管理方案。方案依托先进的视频…

Android adb shell ps进程查找以及kill

Android adb shell ps进程查找以及kill 列出当前Android手机上运行的所有进程信息如PID等&#xff1a; adb shell ps 但是这样会列出一大堆进程信息&#xff0c;不便于定向查阅&#xff0c;可以使用关键词查找&#xff1a; adb shell "ps | grep 关键词" 关键词查…

SQLException:Operation not allowed after ResultSet closed

运行代码时出现的错误&#xff1a; 这是在运行简单的JDBC访问数据库时出现的问题&#xff0c;原因是在ResultSet方法中添加了close()关闭方法,如图&#xff1a; ResultSet 是通过 query 方法获得的&#xff0c;并且在 try-catch 块中没有显式地关闭它。这实际上是 一个常见的…

C++STL详解(一)——string类的接口详解(下)

目录 一.string的大小和容量成员函数 1.1size()和length() 1.2capacity() 1.3resize() 1.4reserve() 1.5clear()和empty() ​编辑 二.string元素的访问 2.1operator[]和at() 2.2范围for 三.string中迭代器相关函数 3.1begin()和end() 3.2rbegin()和rend() 四.string…

机械学习—零基础学习日志(高数12——反三角函数)

零基础为了学人工智能&#xff0c;真的开始复习高数 反三角函数很困难&#xff0c;但是当建立了逻辑链条&#xff0c;还是能快速理解的。这个办法就是笛卡尔坐标系。 三角函数与反三角函数的个人理解 sinx与cosx&#xff0c;tanx&#xff0c;secx&#xff0c;其实都可以放在…

react中简单的配置路由

1.安装react-router-dom npm install react-router-dom 2.新建文件 src下新建page文件夹&#xff0c;该文件夹下新建login和index文件夹用于存放登录页面和首页&#xff0c;再在对应文件夹下分别新建入口文件index.js&#xff1b; src下新建router文件用于存放路由配置文件…

加速下载,揭秘Internet Download Manager2024下载器的威力!

1. Internet Download Manager&#xff08;IDM&#xff09;是一款广受欢迎的下载管理软件&#xff0c;以其强大的下载加速功能和用户友好的界面著称。 IDM马丁正版下载如下: https://wm.makeding.com/iclk/?zoneid34275 idm最新绿色版一键安装包链接&#xff1a;抓紧保存以…

C++学习笔记——模板

学习视频 文章目录 模板的概念函数模板函数模板语法函数模板注意事项函数模板案例普通函数与函数模板的区别普通函数与函数模板的调用规则模板的局限性 类模板类模板与函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件…

JS基础知识学习笔记全

JS基础知识学习笔记全 一、引入方式 1、内部脚本 &#xff08;一般定义在body下面会改善执行速度&#xff09; <body></body><!-- 内部脚本 --><script>/* 打开页面警告框显示的内容 */alert(helloJS);</script>2、外部脚本 外部专门新建一…

Nginx系列-10 realIp模块使用

背景 Nginx对每个模块都有说明文档&#xff0c;可参考:https://nginx.org/en/docs/ 当请求被代理后&#xff0c;真实客户端相对服务器被隐藏&#xff0c;即服务端无法判断HTTP消息来源。 如上图所示&#xff0c;IP分别为100.100.100.1和100.100.100.2的两个客户端向服务器200.…

TransformerEngine

文章目录 一、关于 TransformerEngine &#xff1f;亮点 二、使用示例PyTorchJAXFlax 三、安装先决条件Dockerpip从源码使用 FlashAttention-2 编译 四、突破性的变化v1.7: Padding mask definition for PyTorch 五、FP8 收敛六、集成七、其它贡献论文视频最新消息 一、关于 Tr…

traefik 2

不在白名单里的&#xff0c;就不能访问 允许谁访问&#xff0c;就把它加进来 traefik 高级应用 1. 负载均衡 关键在ingressroute 添加多个 svc 验证 就是找一台&#xff0c;配好host, 然后 两个svc 权重都是1&#xff0c;改一下就成了灰度分布 2. 灰度发布 关键在于…

立创梁山派--移植开源的SFUD和FATFS实现SPI-FLASH文件系统

本文主要是在sfud的基础上进行fatfs文件系统的移植&#xff0c;并不对sfud的移植再进行过多的讲解了哦&#xff0c;所以如果想了解sfud的移植过程&#xff0c;请参考我的另外一篇文章&#xff1a;传送门 正文开始咯 首先我们需要先准备资料准备好&#xff0c;这里对于fatfs的…

Chapter 10 Python数据容器:字符串

欢迎大家订阅【Python从入门到精通】专栏&#xff0c;一起探索Python的无限可能&#xff01; 文章目录 前言一、字符串的定义二、字符串的下标索引三、字符串的常用操作&#xff08;方法&#xff09;四、字符串的遍历 前言 在 Python 中&#xff0c;数据容器是组织和管理数据的…