2024实验班选拔考试(热身赛)

news2024/9/28 1:21:27

比赛传送门

邀请码:2024wksyb

A. 简单的数列问题

签到,记得开long long。

#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e6+10,M=1e4+10;
LL f[100];
LL calc(int n)
{
    if(f[n]) return f[n];
    return f[n]=calc(n-1)+calc(n-2);
}
void Solve()
{
    f[1]=f[2]=1;
    int n;
    cin>>n;
    cout<<calc(n)<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

B. 第一次放学

计算每一个班级的人数,贪心的想尽量保留人数较多的,从小到大排序,从小的开始累计即可。

#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e5+10,M=1e4+10;
int a[N];
void Solve()
{
    int n,m,k;
    cin>>n>>m>>k;
    rep(i,0,n){
        int x; cin>>x;
        ++a[x];
    }
    sort(a+1,a+1+n);
    int s=0,mx=0;
    rep(i,1,n+1){
        if(s<k){
            s+=a[i];
            if(s>k) mx=max(mx,s-k);
        }
        else mx=max(mx,a[i]);
    }
    cout<<mx<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

C. 糖果传递

设每一个a_i得到上一个给的值x_{i-1}a_1的为x_n),对下一个的贡献出x_i。注意所有x_i可正可负,负数代表反向给出。记b =\frac{\sum a_i}{n},可以列出下式:

\left\{\begin{matrix} x_n+a_1-x_1=b \\ x_1+a_2-x_2=b \\ ... \\ x_{n-1}+a_n-x_n=b \end{matrix}\right.

题目转换为求出|x_1|+|x_2|+|x_3|+...+|x_n|的最小值,把x_i都用x_1来表示:

\left\{\begin{matrix} x_2=x_1+a_2-b \\ x_3=x_1+a_2+a_3-2*b \\ ... \\ x_{n-1}=x_1+a_2+a_3+...+a_{n-1}-(n-2)*b \\ x_n=x_1-a_1+b \end{matrix}\right.

问题就是确定x_1,使得数轴上x_1到 n 个点0,b-a_2,2*b-a_2+a_3,...,(n-2)*b+a_2+...+a_{n-1},a_1-b 距离和的最小值,选择其中位数即可。

#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e6+10,M=1e4+10;
int a[N];
LL v[N];
void Solve()
{
    int n; cin>>n;
    LL s=0,t=0;
    rep(i,1,n+1) cin>>a[i],s+=a[i];
    if(n==1){
        cout<<0<<endl; return;
    }
    int b=s/n;
    rep(i,1,n+1){
        t+=a[i];
        if(i==1) v[i]=0;
        else if(i==n) v[i]=a[1]-b;
        else v[i]=1ll*(i-1)*b-t+a[1];
    }
    sort(v+1,v+1+n);
    LL ans=0;
    rep(i,1,n+1) ans+=abs(v[n/2]-v[i]);
    cout<<ans<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

D. 矩阵计数

直接计算不好算,考虑用总数\sum_{i=1}^{n} \sum_{j=1}^{m} \sum_{x=1}^{i} \sum_{y=1}^{j} 1=\sum_{i=1}^{n} \sum_{j=1}^{m} i \cdot j= \sum_{i=1}^{n} i \cdot \sum_{j=1}^{m} j=\frac{n(n+1)}{2} \cdot \frac{m(m+1)}{2}

减去不合法数量。

先把所有的点按横坐标小到大排序(相等按纵坐标),于是可以把不和法的情况划分为:枚举 i ,包含以 i 点开头的所有子矩阵个数。这样的算法很方面,只需要保证 i 点与前面节点不包含即可,向前枚举,一段一段的算,卡一下纵坐标的上下界就可以了。

如下图所示,计算以 c 点开头的所有子矩阵个数,保证不包含前面节点,可以分为三段,第一段矩阵左上角选择范围是列值在bc段(不含b),行值比 c 小,右下角为 c 的左下方,如图红色矩阵所示;第二段ab段(不含a)加上了 b 点的限制,右下角列值必须小于 b ,如图中绿色矩阵所示;第三段0a段(不含0),加上 a 点限制,左上角的列值要在ac之间(不含a),如蓝色矩阵所示。通过不断更新左上角和右下角限制,可以设计出一个O(C^2)的算法。

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=1e9+7;
const int N=1e5+10,M=2e5+10;
pii a[N];
int sfmod(int x,int m=MOD)
{
   return (x%m+m)%m; 
}
void Solve()
{
    int n,m,k;
    cin>>n>>m>>k;
    rep(i,1,k+1) cin>>a[i].fi>>a[i].se;
    sort(a+1,a+1+k);
    int ans=1ll*n*(n+1)/2%MOD*(1ll*m*(m+1)/2%MOD)%MOD;
    rep(i,1,k+1){
        int l=1,r=m;
        int res=0;
        per(j,i-1,-1){
            int x=1ll*(a[j+1].fi-a[j].fi)*(a[i].se-l+1)%MOD;
            int y=1ll*(n-a[i].fi+1)*(r-a[i].se+1)%MOD;
            res=(res+1ll*x*y%MOD)%MOD;
            if(a[j].se<=a[i].se) l=max(l,a[j].se+1);
            if(a[j].se>=a[i].se) r=min(r,a[j].se-1);
        }
        ans=sfmod(ans-res);
    }
    ans=sfmod(ans);
    cout<<ans<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

E. 解方程

注意到函数在x > 0 时是单增的,根据零点存在定理二分,稍微调整一下参数 mx 和 eps 即可通过。

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
typedef double db;
using namespace std;
const int MOD=998244353;
const int N=1e7+10,M=1e4+10;
const db eps=1e-5;
db f(db x)
{
    return 2018*x*x*x*x+21*x+5*x*x*x+5*x*x+14;
}
void Solve()
{
    db y,l=0,r=100,mx=10000;
    cin>>y;
    rep(i,0,mx){
        db mid=(l+r)/2;
        if(f(mid)>y) r=mid;
        else l=mid;
    }
    if(abs(f(l)-y)<eps) cout<<fixed<<setprecision(4)<<l<<endl;
    else cout<<-1<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

F. 随机数

根据二项式定理:

(a+b)^n=\sum_{i=0}^{n} \binom{n}{i} a^ib^{n-i}

现在要计算 a 的指数为奇数的和,如果 n 是奇数,就可以构造 \frac{(a+b)^n+(a+(-b))^n}{2}(a-b)^n的展开中偶数项的 (-b) 指数 n-i 为奇数,提出负号刚好可以与对应(a+b)^n展开项消掉。同理若 n 为偶数,构造\frac{(a+b)^n-(a+(-b))^n}{2}即可。

n 很大,但是本题满足模数与底数互素,可以用欧拉降幂提前对 n 做 \pmod {p-1}处理。而且 p-1 是偶数,取模后并不影响原先 n 的奇偶性。

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
typedef double db;
using namespace std;
const int MOD=1e9+7;
const int N=1e7+10;
int qp(int a,int b,int m=MOD)
{
    int res=1;
    while(b){
        if(b&1) res=1ll*res*a%m;
        a=1ll*a*a%m;
        b>>=1;
    }
    return res%m;
}
int sfmod(int x,int m=MOD)
{
    return (x%m+m)%m;
}
void Solve()
{
    int a,n=0; string s;
    cin>>a>>s;
    for(auto i:s) n=(1ll*n*10+(int)(i-'0'))%(MOD-1);
    a=1ll*a*qp(10000,MOD-2)%MOD; int b=sfmod(1-a);
    int Sum=qp((a+b)%MOD,n),Sub=qp(sfmod(a-b),n),inv2=qp(2,MOD-2),ans=0;
    if(n&1){
        ans=1ll*(Sum+Sub)%MOD*inv2%MOD;
    }else{
        ans=1ll*sfmod(Sum-Sub)*inv2%MOD;
    }
    cout<<ans<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

G. 【模板】线性筛

复习一下线性筛怎么写,题目问的是第几个素数,数组大小要多开一点。

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e5+10,M=1e7+10;
int pr[N],cnt;
bool st[M];
void INIT()
{
    int n=1e7;
    rep(i,2,n+1){
        if(!st[i]) pr[++cnt]=i;
        rep(j,1,cnt+1){
            if(pr[j]*i>n) break;
            st[i*pr[j]]=1;
            if(i%pr[j]==0) break;
        }
    }
}
void Solve()
{
    int n;
    cin>>n;
    cout<<pr[n]<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
    INIT();
	cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

 H. 加解密

如果 S 出现在 a/b 的小数部分中,计算 S*b 和 (S+1)*b 取进位的值可以算出 S 前面的数为,这样可以得到一个范围 [l,r]。计算a*10^i \% b,如果某一个值在范围内则可以认为 S 出现在了 i+1。

对于 i 比较大的情况,直接枚举会超时。此时可以采用类似于哈希碰撞爆破的思路,a 先计算到 N 的偏移,即 a=a*10^N \% b,计算一个新的范围 [l,r],设置一个宽度 H,向后计算 M 次,将 (a*10^{H*i}\%b,N+H*i) 插入到哈希表中,考虑范围中的每一个值 x,如果x*10^i\%b (0 \le i < H)出现在了哈希表中即可。对于本题,取N=M=10^6,H=1000,即可通过。

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e6;
LL a,b,c[N+10];
int l,r;
string s;
int gcd(int a,int b)
{
	while(b^=a^=b^=a%=b);
    return a;
}
void calc()
{
	int n=s.size();
	c[n]=0;
	rep(i,0,n) c[i]=s[n-i-1]-'0';
	rep(i,0,n) c[i]*=b;
	rep(i,0,n) c[i+1]+=c[i]/10,c[i]%=10;
	int m=n;
	while(c[m]/10){
		c[m+1]=c[m]/10; c[m]%=10;
		++m;
	}
	l=0;
	per(i,m,n-1) l=l*10+c[i];
	bool fl=0;
	rep(i,0,n) if(c[i]) fl=1;
	l+=fl;
	c[n]=0;
	rep(i,0,n) c[i]=s[n-i-1]-'0';
	c[0]+=1;
	rep(i,0,n) c[i]*=b;
	rep(i,0,n) c[i+1]+=c[i]/10,c[i]%=10;
	m=n;
	while(c[m]/10){
		c[m+1]=c[m]/10; c[m]%=10;
		++m;
	}
	r=0;
	per(i,m,n-1) r=r*10+c[i];
}
void Solve()
{
	cin>>a>>b>>s;
	int d=gcd(a,b); a/=d;b/=d;
	a%=b;
	calc();
	LL pos=a;
	rep(i,0,N){
		if(l<=pos&&pos<=r){
			cout<<i+1<<endl;
			return;
		}
		pos=pos*10%b;
	}
	rep(i,0,N){
		a*=10; a%=b;
		int d=gcd(a,b);
		a/=d; b/=d;
	}
	calc();
	unordered_map<int,int>mp;
	LL h=1; int H=1000;
	rep(i,0,H) h=h*10%b;
	rep(i,1,N){
		a=a*h%b;
		if(!mp.count(a)) mp[a]=N+H*i;
	}
	int ans=(1<<30);
	rep(i,l,r+1){
		LL j=i;
		rep(_,0,H){
			if(mp.count(j)) ans=min(ans,mp[j]-_+1);
			j=j*10%b;
		}
	}
	if(ans==(1<<30)) cout<<-1<<endl;
	else cout<<ans<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

I. Treepath

以点 1 为根,求出所有点到 1 的距离,记为 d[i] 。i , j 两个点的距离就是 d[i]+d[j] ,只有同奇偶时和才为偶数,分别统计出奇数距离个数 v1 和偶数距离个数 v0,答案就是\binom{v0}{2}+\binom{v1}{2}

//#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;++i)
#define per(i,a,b) for (int i=a;i>b;--i)
#define se second 
#define fi first
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define pii pair<int,int>
#define pli pair<LL,int>
#define pll pair<LL,LL>
#define MEM(a,x) memset(a,x,sizeof(a))
#define OJBK {cout<<"ok"<<endl;return;}
inline int Ls(int p){return p<<1;}
inline int Rs(int p){return p<<1|1;}
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
const int MOD=998244353;
const int N=1e5+10,M=2e5+10;
int d[N];
int h[N],ne[M],e[M],idx;
int v0,v1;
void add(int a,int b)
{
    e[++idx]=b;ne[idx]=h[a];h[a]=idx;
}
void dfs(int u,int fa)
{
    if(d[u]&1) ++v1;
    else ++v0;
    for(int i=h[u];i;i=ne[i]){
        int v=e[i];
        if(v==fa) continue;
        d[v]=d[u]+1;
        dfs(v,u);
    }
}
void Solve()
{
    int n;
    cin>>n;
    rep(i,0,n-1){
        int a,b;
        cin>>a>>b;
        add(a,b);add(b,a);
    }
    dfs(1,0);
    LL ans=1ll*v0*(v0-1)/2+1ll*v1*(v1-1)/2;
    cout<<ans<<endl;
}
int main()
{
	#ifndef ONLINE_JUDGE
		freopen("1.in","r",stdin);
		freopen("1.out","w",stdout);
	#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	//cin>>_;
	while(_--){
		Solve(); 
	}
	return 0;
}

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

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

相关文章

linux进程篇总结——实战——自定义shell

前言&#xff1a;经过过去两章十二篇文章的学习&#xff0c;我们已经知道了进程的基本概念以及进程的控制方法。 本篇内容就是使用过去学习的内容自己写一个功能简单的shell外壳程序&#xff0c; 也就是我们使用的bash命令行。 本篇内容是过去进程知识的集大成者。 我们在这个实…

智慧能源管理:助力公共机构节能增效

一、背景&#xff1a; 在全球倡导绿色发展、节能减排的时代浪潮下&#xff0c;公共机构作为社会服务的重要提供者&#xff0c;能源消耗量大&#xff0c;特别是在照明方面能源消耗问题尤为突出。从政府办公楼的日常照明&#xff0c;到学校教室的学习照明&#xff0c;再到医院走…

计算机组成原理 - 存储系统

存储系统 考纲内容 存储器的分类层次化存储器的基本结构半导体随机存储器(RAM) SRAM、DRAM、Flash存储器主存储器 DRAM芯片和内存条、多模块存储器、主存储器和CPU之间的连接外部存储器 磁盘存储器、固态硬盘(SSD)高速缓冲存储器(Cache) Cache的基本原理&#xff1a;Cache和主…

解读智慧车间生产线的智慧大脑:ARMxy 工业计算机边缘控制器

在现代工业制造中&#xff0c;智慧车间生产线的建设已成为提高生产效率、降低成本、提升产品质量的关键。而 ARMxy 工业计算机边缘控制器作为智慧车间生产线的智慧大脑&#xff0c;正发挥着越来越重要的作用。 ARMxy 工业计算机边缘控制器是一种基于 ARM 架构的嵌入式工业计算机…

JavaWeb基础1:HTML/CSS/JS/HTTP

JavaWeb基础1&#xff1a;HTML/CSS/JS/HTTP (qq.com)

C-sharp-console-gui-framework:C#控制台应用程序的GUI框架

推荐一个.Net开源项目&#xff0c;方便我们基于控制台创建图形用户界面&#xff08;GUI&#xff09;应用程序。 01 项目简介 ConsoleGUI是一个简单的布局驱动.NET框架&#xff0c;用于创建基于控制台的GUI应用程序。 核心功能&#xff1a; **布局驱动&#xff1a;**与WPF或H…

WCN7851 WIFI7适配RK3588实战

一、平台信息 平台:触觉智能IDO-EVB3588-V1 WIFI模组:欧飞信O7851PM Kernel版本:GNU/Linux 5.10.110 aarch64 系统版本:Ubuntu 20.04.6 LTS 搭载RK3588高性能SOC,集成了四核Cortex-A76和四核Cortex-A55 CPU,主频高达2.4G O7851PM与开发板连接实物图如下,模块通过M.2转…

ctfhub文件上传

⽆验证 上传⼀句话⽊⻢&#xff0c;发现上传成功 1.php ⼀句话⽊⻢内容&#xff1a; <?php eval($_POST[cmd]);?> 上传⼀句话⽊⻢&#xff0c;发现上传成功 http://challenge-8b27d18368ecc25c.sandbox.ctfhub.com:10800/upload/1.ph p 前端验证 开启题⽬ 上传⼀个…

学习日志8.5--ARP攻击与防范

目录 ARP欺骗攻击 ARP泛洪防范&#xff08;动态ARP检测&#xff09; ARP欺骗攻击 ARP中间人攻击&#xff0c;中间人可以通过交换机查询交换表获取主机和网关的IP地址信息中间者通过ARP的查询可以知道PC2的IP地址和MAC地址&#xff0c;知道R2的IP地址和MAC地址&#xff0c;攻…

CVE-2023-1313

开启靶场 url访问/install来运行安装 http://eci-2ze0wqx38em0qticuhug.cloudeci1.ichunqiu.com/install/ 得知其用户和密码为admin 登录 查找文件上传位置 上传一句话木马文件 <?php echo phpinfo();eval($_POST[flw]);?> 下载查看上传木马路径 复制路径 /storag…

59 函数参数——默认值参数

在定义函数时&#xff0c;Python 支持默认值参数&#xff0c;在定义函数时可以为形参设置默认值。 在调用带有默认值参数的函数时&#xff0c;可以不用为设置了默认值的形参进行传递&#xff0c;此时函数将会直接使用函数定义时设置的默认值&#xff0c;当然也可以通过显式赋值…

第四届机械制造与智能控制国际学术会议(ICMMIC 2024,9月27-29)

2024年第四届机械制造与智能控制国际学术会议&#xff08;ICMMIC 2024&#xff09;将于2024年9月27-29日在中国沈阳沈阳理工大学举行。 本会议将围绕“机械制造、智能控制”的最新研究领域&#xff0c;促进机械工程、兵器科学与技术、控制科学与工程等相关学科的发展与交叉融合…

AUTOSAR之ECUM

1、EcuM简介 EcuM&#xff08;ECU State Management&#xff09;ECU状态管理模块属于AUTOSAR系统服务中模式管理部分&#xff0c;主要功能是管理ECU的上下电&#xff0c;初始化和反初始化OS&#xff0c;SchM&#xff0c;BswM以及其他一些驱动模块。 AUTOSAR 4.4版本前Ec…

WPF学习(5)- Border控件(边框布局)+GridSplitter分割窗口

严格来说&#xff0c;Border并不是一个布局控件&#xff0c;因为它并不是Panel的子类&#xff0c;而是Decorator装饰器的子类&#xff0c;而Decorator继承于FrameworkElement。我们要先看看它的父类Decorator。 public class Decorator : FrameworkElement, IAddChild {public…

【区块链+医疗健康】医保监管飞检魔方可信链 | FISCO BCOS应用案例

《“十四五”全民医疗保障规划》提出加快健全基金监管体制机制&#xff0c;要求飞行检查全覆盖。近年来&#xff0c;国家医保局 飞行检查专项行动&#xff0c;累计发现问题 70 多万家次&#xff0c;累计追回医保基金 340 多亿元。而飞行检查面临检查时间短、 工作任务重、数据多…

Linux 使用kickstart创建脚本实现新建虚拟机自动安装

Linux版本&#xff1a;红帽7.9 确保网络配置可用&#xff0c;本地仓库可用&#xff0c;同时已经挂载/dev/cdrom,可用yum list查看 一、环境配置&#xff1a; 1、首先保证是有图形界面 利用hostnamectl 查看 如果没有安装图形界面可以使用yum group install "Server wi…

源码编译安装LAMP(HTTP服务,MYSQL ,PHP)

一、安装Apache 可在生产环境使 下载在 下面两个插件是httpd2.4以后的版本所需要 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz 虽然xf通常足够&#xff0c;但使用与压缩算法对应的选项可以提供更好的控制。 tar xjf httpd-2.4.29.tar.bz2 mv apr-1.6.2 httpd-2.4.…

How to run OpenAI Gym .render() over a server

题意&#xff1a;怎样在服务器上运行 OpenAI Gym 的 .render() 方法 问题背景&#xff1a; I am running a python 2.7 script on a p2.xlarge AWS server through Jupyter (Ubuntu 14.04). I would like to be able to render my simulations. 通过 Jupyter&#xff08;在 U…

鸿蒙Navigator跳转不生效的问题

新增配置文件&#xff1a; 注意&#xff1a;该文件要在moudle中配置引用&#xff0c;非则跳转无法生效&#xff1a;

[Meachines] [Easy] Sunday Finger网络用户枚举+Wget文件覆盖权限提升

信息收集 IP AddressOpening Ports10.10.10.76TCP:79, 111, 515, 6787, 22022 $ nmap -p- 10.10.10.76 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 79/tcp open finger? | fingerprint-strings: | GenericLines: | No one logged on | GetReque…