2024zzuacm新生选拔赛第一场
2024zzuacm新生选拔赛第一场https://ac.nowcoder.com/acm/contest/92409
python代码源自我有异议症QAQ
A - 降智视频
题意
起初有n个数都在丁丁手中,进行如下操作k次:
- 豆豆从丁丁手中拿走标号为奇数的数。
- 对丁丁的其他的数进行重新标号。
问进行k次之后,豆豆和丁丁各自有多少个不同的数
思路
思路一:每次豆豆都会从丁丁手中拿走第奇数个数,如第 1,3,5,7,..
等。
之后对丁丁手中的数重新标号,可以发现新的标号恰好为原先标号的 1 2 \frac{1}{2} 21 。 如4 -> 2 , 8 -> 4, 2 -> 1
。
于是我们进行分析可以发现, 对于第 i i i次操作,豆豆会从丁丁手中拿走除以 2 i − 1 2^{i-1} 2i−1 是奇数的数。那么留下的数的下标 x x x都会满足 x 2 i − 1 m o d 2 = 0 \frac{x}{2^{i-1}} \ mod\ 2 = 0 2i−1x mod 2=0 , 即所有的数的下标都是 2 i 2^i 2i的倍数,那么进行k次操作后,丁丁会留下下标为 2 k , 2 ∗ 2 k , 3 ∗ 2 k , . . . 2^k, 2 * 2^k,3 *2^k,... 2k,2∗2k,3∗2k,...的数。
我们便可以直接获取豆豆和丁丁最终的数,然后对其进行计数,就可以得出各自有多少种类的数。时间复杂度 O ( n ) O(n) O(n)
思路二:可以发现,最多 l o g 2 n log_2n log2n次操作豆豆就可以把丁丁的数全部拿完,那么我们可以直接模拟这个拿数的过程 , 时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn)
代码
C思路一
#include<stdio.h>
int vis1[1000005];
int vis2[1000005];
int main(){int n,k;scanf("%d %d",&n,&k);if(k > 20) k = 20;int mod = (1<<k);for(int i= 1;i<=n;i++){int x;scanf("%d",&x);if(i%mod==0){vis1[x] = 1;}else{vis2[x] = 1;}}int cnt1 = 0;int cnt2 = 0;for(int i = 1;i<=n;i++){if(vis1[i]) cnt1++;if(vis2[i]) cnt2++;}printf("%d %d",cnt2,cnt1);return 0;
}
C思路二
#include<stdio.h>
int A[1000005];
int cntA;
int B[1000005];
int cntT;
int cntB;
int vis1[1000005];
int vis2[1000005];
int main(){int n,k;scanf("%d %d",&n,&k);cntA = n;for(int i =1;i<=n;i++){scanf("%d",&A[i]);}while(k--){int new_cntA = 0;for(int i = 1;i<=cntA;i++){if(i%2 == 1) B[++cntB] = A[i];else A[++new_cntA] = A[i];}cntA = new_cntA;if(cntA == 0) break;}for(int i = 1;i<=cntA;i++){vis1[A[i]] = 1; }for(int i = 1;i<=cntB;i++){vis2[B[i]] = 1; }int cnt1=0,cnt2=0;for(int i = 1;i<=n;i++){if(vis1[i]) cnt1++;if(vis2[i]) cnt2++;}printf("%d %d",cnt2,cnt1);return 0;
}
python
n,k = [int(i) for i in input().split()]
c = [int(i) for i in input().split()]if k>=20 :s = set()for i in range(n):s.add(c[i])print(len(s),0)
else :s1 = set()s2 = set()for i in range(n):if((i+1)%pow(2,k)==0):s1.add(c[i])else :s2.add(c[i])print(len(s2),len(s1))
B - 还在分糖果!
题意
对于所有的正整数,取走包含7的数之后, 问第n个数是多少。
思路
如果大家没有头绪,不妨将取走7
替换为取走9
, 这样我们观察数据,发现变成了1,2,3,4,5,6,7,8,10
, 从原先的“十进制” 变为了“九进制” , 于是发现本题其实就是 十进制转换为九进制 的进制转换。只不过本题删去的不是9
,而是7
,我们把转换后的九进制中的7
替换为8
, 8
替换为9
即可
代码
C
#include<stdio.h>
char ans[1000005];
int len = 0;
void solve(){long long n;scanf("%lld",&n);len = 0;while(n){int x = n%9;if(x >= 7) x ++;ans[++len] = char(x + '0');n /= 9;}for(int i = len;i>=1;i--){putchar(ans[i]);}puts("");
}
signed main(){int T;scanf("%d",&T);while(T--){solve();}return 0;
}
python
T = int(input())
for i in range(T):n = int(input())ans = ''while n>0:t = n%9n //= 9if t>=7:t += 1ans += chr(ord('0')+t)print(ans[::-1])
C - 数论难题
题意
给出一个数 N N N, 找到一个数 x x x, 满足 0 ≤ x < 998244353 0 \le x < 998244353 0≤x<998244353 , 并且 N − x N - x N−x 是 998244353 998244353 998244353的倍数。
思路
本题题意等价于 ,求 N m o d 998244353 N \ mod \ 998244353 N mod 998244353 的结果,(其中 m o d mod mod表示取余运算) ,直接输出即可。
注意负数取余会得到负数,所以必须在取余数的结果上加上 998244353 998244353 998244353。
代码
C
#include<stdio.h>
int main(){long long n;scanf("%lld",&n);int mod = 998244353;printf("%lld",(n%mod + mod)%mod);return 0;
}
python
n = int(input())
mod = 998244353
print(n%mod)
D - 数论简单题
题意
给你两个区间[a,b]
,[c,d]
,从中分别选择一个数 x , y x,y x,y , 使得 x × y x \times y x×y 最大
思路
本题中可能会出现两个负数取值的情况,但如果想要得到最大值,那么无非就是
- 两个正数相乘
- 两个负数相乘
于是我们输出 a × c a \times c a×c 和 b × d b \times d b×d 两个答案中的最大值即可。
代码
C
#include<stdio.h>
int main(){long long a,b,c,d;scanf("%lld%lld%lld%lld",&a,&b,&c,&d);if(a * c < b * d){printf("%lld\n",b * d);}else{printf("%lld\n",a * c);}return 0;
}
python
a,b,c,d = [int(i) for i in input().split()]
print(max(max(a*c,a*d),max(b*d,b*c)))
E - 最大数
题意
给定两个区间[L1,R1]
, [L2,R2]
, 从中各自选择一个数 x , y x,y x,y ,使得 x + y x+y x+y 中的最大数位 尽可能大。
思路
首先可以得知,对于一个数位,他最大为9。那么我们从 L 1 + L 2 L1+L2 L1+L2 开始枚举最多10个数就可以找到最适合的 x + y x+y x+y 。
于是我们计算 f ( L 1 + L 2 ) , f ( L 1 + L 2 + 1 ) , . . . , f ( L 1 + L 2 + 9 ) f(L1+L2),f(L1+L2+1),...,f(L1+L2+9) f(L1+L2),f(L1+L2+1),...,f(L1+L2+9) ,取其中的最大值即可。
代码
C
#include<stdio.h>
int f(int x){int ans = 0;while(x){int t = x % 10;ans = (ans > t) ? ans : t; x/=10;}return ans;
}
void solve(){int l1,r1,l2,r2;scanf("%d%d%d%d",&l1,&r1,&l2,&r2);int l = l1+l2;int r = r1+r2;int ans = 0;for(int i = l;i<=r;i++){int fi = f(i);ans = ans > fi ? ans : fi;if(ans == 9) break;}printf("%d\n",ans);
}
int main(){int T = 1;scanf("%d",&T);while(T--){solve();}return 0;
}
python
T = int(input())def check(x):ans = 0while(x>0):ans = max(ans,x%10)x //= 10return ansfor i in range(T):la,ra,lb,rb = [int(i) for i in input().split()]if(ra-la>9 or rb-lb>9):print(9)else :ans = 0for i in range(la,ra+1):for j in range(lb,rb+1):ans = max(ans,check(i+j))print(ans)
F - 个位数口算
题意
输出 3 n 3^n 3n 的个位数。
思路
找规律可以发现,对于 3 1 , 3 2 , 3 3 , 3 4 , . . . 3 ^ 1, 3^2 ,3^3,3^4,... 31,32,33,34,... 他们的个位数为 3 , 9 , 7 , 1 , 3 , 9 , 7 , . . . 3,9,7,1,3,9,7,... 3,9,7,1,3,9,7,... 即[3,9,7,1]
循环
于是我们对 n n n取余 4 4 4就可以得到结果。
另:如果你没有找到规律,也可以用快速幂直接计算出 3 n 3^n 3n 对 10 10 10取余的结果
代码
C
#include<stdio.h>
int main(){long long n;scanf("%lld",&n);putchar("3971"[(n-1)%4])return 0;
}
python
n = int(input())
print('3971'[(n-1)%4])
快速幂
#include<bits/stdc++.h>
using namespace std;
#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define int long long
#define rep(i,l,r) for(int i = l;i<=r;i++)
#define per(i,r,l) for(int i = r;i>=l;i--)
const int INF = 0x3f3f3f3f3f3f3f3f;
typedef pair<int,int> PII;
int qpow(int x,int n){int ans = 1;while(n){if(n&1) ans = ans * x % 10;x = x * x % 10;n>>=1;}return ans;
}
void solve(){int n;cin>>n;cout<<qpow(3,n);
}
signed main(){int T = 1;// cin>>T;while(T--){solve();}return 0;
}
# G - ASCII大小写转换
题意
给一个字符串 s s s ,将其中的大写字母转换为小写字母, 小写字母转换为大写字母
思路
对于一个小写字母,我们这样转换为大写字母: s[i] = s[i] - 'a' + 'A'
大写字母转换为小写字母同理s[i] = s[i] - 'A' + 'a'
代码
C
#include<stdio.h>
int main(){char ch;while(~scanf("%c",&ch)){if(ch == '\n') break;if('a' <= ch && ch <= 'z') putchar(char(ch - 'a' + 'A'));else putchar(char(ch - 'A' + 'a'));}return 0;
}
python
s = input()
ans = ''
for ch in s:ans += chr(ord(ch)^32)
print(ans)
H-index
题意
给出n个数, a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an, 请你找出一个最大的数 N N N , 满足a中 大于等于N的数至少为N个
思路
思路一:我们使用一个数组cnt
记录一下每个数出现的次数。即cnt[a[i]]+= 1
。
然后逆序查找从 1 0 6 10^6 106 到 1 1 1 的每个数,查看是否满足条件 , 那么第一个满足条件的 i i i 即为答案。
条件为 ∑ j = i n c n t [ j ] ≥ i \sum_{j = i}^n cnt[j] \ge i ∑j=incnt[j]≥i
思路二:对数组a进行逆序排序,这样就得出了以下规律: a a a数组中大于等于 a [ i ] a[i] a[i] 的数有 i i i个。
我们逆序遍历数组,找到最后一个满足 a [ i ] ≥ i a[i] \ge i a[i]≥i 的 i i i即可 。
代码
C思路一
#include<stdio.h>
int cnt[1000006];
int main()
{int n;scanf("%d",&n);for(int i =1;i<=n;i++){int x;scanf("%d",&x);cnt[x]++;}int sum = 0;for(int i = 1000000;i>=0;i--){sum += cnt[i];if(sum >= i) {printf("%d",i);return 0;}}return 0;
}
C++思路二
#include<bits/stdc++.h>
using namespace std;
int a[1000006];
int main(){int n;cin>>n;for(int i = 1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);reverse(a+1,a+n+1);for(int i = 1;i<=n;i++){if(a[i] < i){cout<<i-1<<endl;break;}}return 0;
}
python
n = int(input())
a = [int(i) for i in input().split()]
a.sort(reverse=True)def check():for i in range(n):if(a[i]<i+1):return i;return nprint(check())
I - 飞云鸽鸽的和式
题意
给你一个数组,请你找出其中一段连续的区间, 使得区间中的数的总和尽可能大。
思路
思路一:本题给的 n n n很小,我们直接暴力枚举即可。复杂度 O ( n 3 ) O(n^3) O(n3)
思路二:如果我们加上一点前缀和的思想,在确认左端点,枚举右端点的时候,可以借用上一次的答案。这样就省去了第三重循环,复杂度 O ( n 2 ) O(n^2) O(n2)
思路三:如果我们再加上动态规划的思想,我们令 f i f_i fi 表示 以第i个数为结尾的 连续子数组的最大的和 , 那么我们的答案就是 m a x 1 ≤ i ≤ n f i max_{1 \le i \le n} f_i max1≤i≤nfi , 我们在枚举 i i i的时候,考虑两种情况
- 加入 f i − 1 f_{i-1} fi−1对应的那一段
- 单独成为一段
当然取其中较大值是更好的。
于是最终的递推式为 f i = m a x ( f i − 1 + a i , a i ) f_i = max(f_{i-1} + a_i,a_i) fi=max(fi−1+ai,ai)
时间复杂度为 O ( n ) O(n) O(n)
代码
C 思路一 O ( n 3 ) O(n^3) O(n3)
#include<stdio.h>
int a[105];
int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}int ans = 0xcfcfcfcf;//足够小的数for(int i = 1;i<=n;i++){for(int j = i;j<=n;j++){int sum = 0;for(int k = i;k<=j;k++){sum += a[k];}if(ans < sum) ans = sum;}}printf("%d",ans);
}
C思路二 O ( n 2 ) O(n^2) O(n2)
#include<stdio.h>
int a[105];
int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}int ans = 0xcfcfcfcf;//足够小的数for(int i = 1;i<=n;i++){int sum = 0;for(int j = i;j<=n;j++){sum += a[j];if(ans < sum) ans = sum;}}printf("%d",ans);
}
C思路三O(n)
#include<stdio.h>
int a[105];
int f[105];
int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}int ans = 0xcfcfcfcf;//足够小的数f[0] = 0xcfcfcfcf;for(int i = 1;i<=n;i++){if(f[i-1] < 0) f[i] = a[i];else f[i] = f[i-1] + a[i];if(ans < f[i]) ans = f[i];}printf("%d",ans);
}
python
n = int(input())
a = list(map(int, input().split()))
mi = 0
pre = 0
ans = -1000000000
for i in range(n):pre += a[i]ans = max(ans,pre-mi)mi = min(mi,pre)
print(ans)
J - 排队
题意
给一个数组 a a a , 对数组 a a a进行排序
思路
模板题,写对排序代码即可,
本题数据范围较小,使用朴素的 O ( n 2 ) O(n^2) O(n2) 排序算法也可以通过本题。
同时也可以使用进阶的 O ( n l o g n ) O(nlogn) O(nlogn) 排序算法来更快的解决问题。
代码
C 冒泡排序 O ( n 2 ) O(n^2) O(n2)
#include<stdio.h>
int a[5005];
int main(){int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i = 1;i<=n;i++){for(int j = i;j<=n;j++){if(a[i] > a[j]){int t = a[i];a[i] = a[j];a[j] = t;}}}for(int i = 1;i<=n;i++){printf("%d ",a[i]);}return 0;
}
C++ 排序函数 O ( n l o g n ) O(nlogn) O(nlogn)
#include<bits/stdc++.h>
using namespace std;
int a[5005];
int main(){int n;cin>>n;for(int i = 1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);for(int i = 1;i<=n;i++){cout<<a[i]<<" ";}
}
python
n = int(input())
a = [int(i) for i in input().split()]a.sort()
for i in range(n):print(a[i],end=' ')
K - 飞云鸽鸽在送信
题意
对于所有长度为 n n n的排列 p p p, 问满足 : 对于所有的 1 ≤ i ≤ n 1\le i \le n 1≤i≤n , 都有 p i ≠ i p_i \not= i pi=i 的排列有多少。
(排列指数组[1,2,3,...,n]
随机打乱后的数组, 如长度为 3 3 3的排列有:[1,2,3]
、[1,3,2]
、 [2,1,3]
、[2,3,1]
、[3,1,2]
、[3,2,1]
, 长度为n的排列共有 A n n A_n^n Ann 个)
思路
本题考察“错排数”,为经典组合数学问题,大家可以上网搜索相关内容。
本题给出的 n n n很小, 暴力枚举所有的排列即可。
在C++中可以调用排列函数来生成长度为 n n n的全排列。
使用全排列的复杂度是 O ( n ! ∗ n ) O(n!*n) O(n!∗n)
下面给出更好的解法(时间复杂度 O ( n ) O(n) O(n))
错排数的递推式为$ f_n = \left{
\begin{array}{lr}
0 & n = 1 \
1& n = 2\
(f_{n-1} + f_{n-2}) * (n-1) &, n \ge 3
\end{array}
\right. $
对于 n n n等于 1 1 1和 2 2 2,递推式很明显成立 ,对于n大于2的情况,我们考虑n的位置,
如[2,1,4,3,*5*]
,前面的[2,1,4,3]
是一个长度为4的错排序,那么这个5可以放在前面四个位置中的任意一个。( n − 1 n-1 n−1种可能)
假设我们放在数字 1 1 1的位置, [2,*5*,4,3,*1*]
此时数字1和数字5一定是满足条件的。
此时我们可以选择5是否要和“下标为1的数”交换位置
- 如果交换位置
[*5*,2,4,3,*1*]
,那么剩余n-2个数可以任意组合为错排序,方案数为 f n − 2 f_{n-2} fn−2 - 如果不交换位置
[2,*5*,4,3,1]
,那么剩下的n-1个数都可以任意组合为错排序,方案数为 f n − 1 f_{n-1} fn−1
代码
C全排列
#include<stdio.h>
int vis[15];
int a[15];
int t = 0;
int n;
int ans = 0;
void dfs(int step){if(step == n+1){for(int i = 1;i<=n;i++){if(a[i] == i) return;}ans ++;return;}for(int i = 1;i<=n;i++){if(vis[i]) continue;vis[i] = 1;a[step] = i;dfs(step+1);vis[i] = 0;}return ;
}
int main(){scanf("%d",&n);dfs(1);printf("%d\n",ans);return 0;
}
C++ 调用排列函数 O ( n ! ∗ n ) O(n!*n) O(n!∗n)
#include<bits/stdc++.h>
using namespace std;
int a[15];
int main(){int n;cin>>n;for(int i = 1;i<=n;i++){a[i] = i;}int ans = 0;do{bool ok = 1;for(int i = 1;i<=n;i++){if(a[i] == i) ok = 0;}if(ok) ans ++;}while(next_permutation(a+1,a+1+n));cout<<ans;return 0;
}
C递推 O ( n ) O(n) O(n)
#include<stdio.h>
int f[1000005];
int main(){int n;scanf("%d",&n);f[1] = 0;f[2] = 1;for(int i =3;i<=n;i++){f[i] = (i-1) *(f[i-1] + f[i-2]);}printf("%d",f[n]);return 0;
}
python
n = int(input())def cp(n):if n==1:return 0if n==2:return 1return (n-1)*(cp(n-1)+cp(n-2))print(cp(n))
L - P19E99喜欢16进制
题意
给一个十六进制数,输出他的十进制表示
思路
用字符串读取十六进制数,然后枚举十六进制数,然后不断累加到答案上即可。
代码
C
#include<stdio.h>
int main(){char ch;long long ans = 0;while(~scanf("%c",&ch)){if(ch == '\n') break;int x;if('0' <= ch && ch <= '9'){x = ch - '0';}else{x = ch - 'a' + 10;}ans = ans * 16 + x;}printf("%lld",ans);return 0;
}
python
s = input()
print(int(s,16))
相关文章:
2024zzuacm新生选拔赛第一场
2024zzuacm新生选拔赛第一场https://ac.nowcoder.com/acm/contest/92409 python代码源自我有异议症QAQ A - 降智视频 题意 起初有n个数都在丁丁手中,进行如下操作k次: 豆豆从丁丁手中拿走标号为奇数的数。对丁丁的其他的数进行重新标号。 问进行k次…...

IP地址如何支持远程办公?
由于当今社会经济的飞速发展,各个方向的业务都不免接触到跨省、跨市以及跨国办公的需要,随之而来的远程操作的不方便,加载缓慢,传输文件时间过长等困难,如何在万里之外实现远程办公呢?我们以以下几点进行阐…...

spring 集合注入格式
数组 List Set Map properties 案例 package org.example.dao.impl;import org.example.dao.BookDao;import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set;public class BookDaoImpl implements BookDao {private int[] array;p…...

基于Zabbix进行服务器运行情况监测
文章目录 引言I Zabbix主要构成下载并安装Zabbix被监控主机安装zabbix agent创建被监控主机报警设置II 常见问题cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)重置 Zabbix Web 界面密码Zabbix agent i…...

Github优质项目推荐 - 第五期
文章目录 Github优质项目推荐 - 第五期一、【localsend】,47.5k stars - 附近设备文件互传二、【Pake】,29.9k stars - 网页变成桌面应用三、【laravel-crm】,10.7k stars - CRM 解决方案四、【localstack】,55.7k stars - 本地 A…...

Java_ EE (网络编程)
网络编程基本概念: 计算机网络计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。从其…...
Qt子线程运行报错error: undefined reference to `excelThread::conversionFinished()‘
如标题所示,笔者试图在子线程中使用基于GUI的对话框,而基于GUI的对话框需要在主线程(也称为GUI线程)中运行,在子线程中不能直接用,需要使用信号与槽机制,将请求发送到主线程,然后在主…...

VSCode 使用 EmmyLua 对lua进行调试
时间:2024年10月 其他:win10,EmmyLua v0.8.20 参考:https://blog.csdn.net/ShenHaoDeHao/article/details/140268354 有几个概念搞清楚就好理解了。一般开发中,我们编写的lua文件由宿主程序的来解析、执行࿱…...
neovim ubuntu中WARNING No clipboard tool found
我在vnc远程的ubuntu中做个临时开发,发现neovim无法复制文字,于是我:checkhealth查看了一下,测试结果如下: WARNING No clipboard tool found. Clipboard registers (" and "*) will not work.ADVICE::help clipboard …...
1882B - Sets and Union
题意就是有n个集合,对n个集合做并集得到 S S S, 现在抽n个集合中的集合做交集得到 T T T,问如何做让 S ≠ T S\neq T ST,并且让 T T T尽可能大。 这道题如果数据大一些做不了,但是数字大小只在50之间,并且集合的大小50,n大小50…...
thinkphp阿里云发送短信验证码,存储到缓存中完成手机号验证
源码demo下载地址 https://download.csdn.net/download/hanzhuhuaa/89865893 或者也可以在文章中查看demo源码 ↓ 第一步安装阿里云 SDK 您可以使用 Composer 来安装阿里云的 SDK。在项目目录中运行: composer require alibabacloud/sdk第二步发送短信 namespace app\api\c…...

题目解析:1423. 可获得的最大点数
题目解析:1423. 可获得的最大点数 > Problem: 1423. 可获得的最大点数 题目描述: 你有一个整数数组 cardPoints,表示排成一行的几张卡牌的点数。你每次可以从这排卡牌的 开头或末尾 拿一张卡牌,最终你需要正好拿 k 张卡牌。目…...

【MySQL】数据库的操作
文章目录 一、查看数据库(显示所有的数据库)二、使用数据库二、创建数据库字符集编码(为数据进行编码然后保存)校验(排序)规则(如何对数据进行排序)推荐这样创建数据库: …...

Spring Boot读取resources目录下文件(打成jar可用),并放入Guava缓存
1、文件所在位置: 2、需要Guava依赖: <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>23.0</version></dependency>3、启动时就读取放入缓存的代码…...

rsync 数据镜像同步服务笔记
1. rsync概述 定义:rsync是一款数据镜像备份工具,支持快速完全备份和增量备份,支持本地复制与远程同步。镜像指两份完全相同的数据备份.特点: 支持整个目录树和文件系统的更新;可选择性地保留符号链接、文件属性、权限…...

【layui】多文件上传组件实现
插件预览效果: 需要引入layui的脚本文件layui.js和样式文件layui.css html代码: <div class"layui-input-block"><div class"layui-upload-list"><table class"layui-table"><colgroup><col…...
多维最短路
D-最短?路径_牛客小白月赛102 (nowcoder.com) #include <bits/stdc.h> #define int long long using namespace std; const int N1e6; struct node {int x;int y;int z;bool operator>(const node& other) const {return x> other.x;} }; signed m…...

设计模式03-装饰模式(Java)
4.4 装饰模式 1.模式定义 不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。 2.模式结构 抽象构件角色 :定义一个抽象接口以规范准备接收附加责任的对象。客户端可以方便调用装饰类和被装饰类…...

TiDB 监控组件之 Blackbox_exporter 运行原理
作者: TiDBerHailang 原文来源: https://tidb.net/blog/b269e96f 1. 介绍 本文介绍了 TiDB 集群监控组件Blackbox Exporter监控运行机制和配置方式。Blackbox Exporter是Prometheus官方提供的 Exporter,它能够通过多种协议对网络服务进行…...
Java之网络编程详解
一、Java网络编程的基本概念 Java网络编程是指在Java语言中使用网络协议和API进行网络通信的编程技术。Java网络编程可以实现多种应用场景,包括客户端/服务器通信、网站开发、分布式系统等。 二、Java网络编程的基本原理 网络编程的核心概念包括网络通信协议、So…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...