主頁 >  其他 > 第二屆齊魯工業大學(山東省科學院)與山東師范大學ICPC大學生程式設計競賽聯賽 [官方題解]

第二屆齊魯工業大學(山東省科學院)與山東師范大學ICPC大學生程式設計競賽聯賽 [官方題解]

2020-11-24 21:20:59 其他

題目目錄

  • A. A+B Problem
  • B. 77777
  • C. Merge
  • D. 魔法少女:承
  • E.學妹的任務
  • F. AKIE's Penalty
  • G. A-B Problem
  • H. 翻轉佇列
  • I. 魔法少女:轉
  • J. 挑選佇列
  • K. 魔法少女:合
  • L. 神奇的轉盤
  • M. AAO
  • N. 來自異世界的巧克力
  • O. hina的迷宮

若發現錯誤或疑問,聯系QQ:1098509291 指正/說明,

A. A+B Problem

題意: 找一個最小的整數 K ( 2 ≤ K ≤ 9 ) K(2\leq K \leq 9) K(2K9)滿足 ( a + b ) 10 = ( n ) K (a+b)_{10}=(n)_K (a+b)10?=(n)K?,找不到則輸出 ? 1 -1 ?1

思路: 模擬,列舉 2 2 2 9 9 9進制,判斷 n n n是否可以是這個進制的數,如果可以就把 n n n轉化成 10 10 10進制數判斷是否與 a + b a+b a+b相等,

//A+B Problem Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int a,b;
string n;
int main(){
	cin>>a>>b>>n;
	for(int i=2;i<=9;i++){
		int sum=0;
		for(int j=n.length()-1,k=1;j>=0;j--,k*=i){
			if(n[j]-'0'>=i){sum=-1;break;}
			sum+=k*(n[j]-'0');
		}
		if(sum==a+b){
			cout<<i;
			return 0;
		}
	}
	cout<<-1;
}

B. 77777

題意: 問所給的小寫串 S S S中是否能找到一個子串,其中至少有一個字母的出現次數恰好等于 7 7 7

思路: 貪心,遍歷一遍串 S S S,只要整個串里有一個字母出現的次數 ≥ 7 \geq 7 7,就一定能找到一個合法的子串使得其中至少有一個字母的出現次數恰好等于 7 7 7

//77777 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int n,cnt[26];
string s;
int main(){
	cin>>n>>s;
	for(int i=0;i<n;i++)cnt[s[i]-'A']++;
	for(int i=0;i<26;i++)
		if(cnt[i]>=7){
			printf("YES");
			return 0;
		}
	printf("NO");
}

C. Merge

題意: n n n張帶權值的卡牌,每次可執行一個操作:選一張卡牌,讓它相鄰的一張卡牌加或減所選卡牌的權值,并把所選卡牌刪掉,求最后剩余的一張卡牌的最大權值,

思路: 貪心,

1° 若至少有一張卡牌權值 ≥ 0 \geq0 0,我們可以讓這張牌加上所有正權值卡牌,減去所有負權值卡牌,那么答案應該是所有卡牌的權值絕對值之和

2° 若所有卡牌權值都 < 0 <0 <0,此時至少有一張卡牌的權值需要取負的貢獻,其余卡牌可以取正的貢獻(即絕對值),也就是說我們應該找到一張卡牌,讓它去減其他所有卡牌,所以要最大化最終權值,應該找權值最大的卡牌,去減其他所有卡牌,答案也就是所有卡牌的權值絕對值之和 - 最大的卡牌權值*2

//Merge Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+7;
int n;
LL ans,x,k=-1e9-1;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%lld",&x);
		ans+=(x>0?x:-x);
		k=max(k,x);
	}	
	if(n==1)cout<<k;
	else if(k>=0)cout<<ans;
	else cout<<ans+k+k;
}

D. 魔法少女:承

題意: 給定每顆高、低純度結晶的回復理性值和純粹度,找一種使用高、低純度結晶的個數,使得理性值回滿,平均純粹度 ≥ 60 % \geq60\% 60%,盡可能節約高純度結晶,其次節約低純度結晶,

思路: 兩層for回圈列舉使用兩種結晶的個數,判斷是否合法,更新最小值,

//魔法少女:承 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int T,a1,b1,a2,b2;
int main(){
	cin>>T;
	while(T--){
		cin>>a1>>b1>>a2>>b2;
		int ans1=INT_MAX,ans2=INT_MAX;
		for(int i=0;i<=100;i++)
		for(int j=0;j<=100;j++)
			if(i*a1+j*a2>=100&&(i*b1+j*b2)/(i+j)>=60){
				if(i<ans1||(i==ans1&&j<ans2)){
					ans1=i;
					ans2=j;
				}
			}
		printf("%d %d\n",ans1,ans2);
	}
}

E.學妹的任務

題意: 依次拼接字串,對當前已拼接的字串的后綴下一個待拼接的字串的前綴去重再拼接,

思路: 每次拼接時,列舉下一個待拼接的字串的所有前綴,用string中的substr函式判斷這個前綴是否是已拼接的字串的后綴,如果是,更新最大重疊長度,然后暴力拼接非重疊部分,

//學妹的任務 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int n;
string s[107],ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>s[i];
	ans=s[1];
	for(int i=2;i<=n;i++){
		int l0=ans.length(),l1=s[i].length(),k=0;
		for(int j=l1;j;j--){
			if(l0-j<0)continue;
			if(s[i].substr(0,j)==ans.substr(l0-j,j)){
				k=j;
				break;
			}
		}
		for(int j=k;j<l1;j++)ans+=s[i][j];
	}
	cout<<ans;
}

F. AKIE’s Penalty

題意: 給定N個題的提交次數和通過時間,若通過時間 T i Ti Ti為正,則最后一次提交正確,若通過時間 T i Ti Ti為負,則本題未通過,每次錯誤提交的罰時為20,計算所有通過題目的總罰時,

思路: T i Ti Ti為正,此題罰時為 ( K i ? 1 ) ? 20 + T i (Ki-1)*20+Ti (Ki?1)?20+Ti,否則罰時為0,累加即可,

//AKIE's Penalty Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=107;
int n,ans,k[N],t;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)scanf("%d",&k[i]);
	for(int i=1;i<=n;i++){
		scanf("%d",&t);
		if(t>=0)ans+=20*(k[i]-1)+t;
	}
	printf("%d",ans);
}

G. A-B Problem

題意: 輸入兩個數,輸出A-B,

思路: …[組織語言中.jpg]

//A-B Problem Standard Code [C++]
#include<iostream>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	cout<<a<<"-"<<b;
}

H. 翻轉佇列

題意: 給兩個只包含 0 / 1 0/1 0/1的串 A , B A,B A,B,每次可以執行操作:從A串中選一個 1 1 1作為中心,將其相鄰的前一個位置的數后一個位置的數取反( 0 0 0變成 1 1 1 1 1 1變成 0 0 0),但開頭和結尾位置上的 1 1 1不能被作為中心,問是否能由 A A A串經過若干次操作(或零次)變為 B B B串,

思路:

假設 A A A串是 1101 1101 1101 B B B串是 0111 0111 0111,我們對它們分別按位取異或前綴和,

可以得到前綴和陣列 S U M A SUM_A SUMA?: 1001 1001 1001 S U M B : 0101 SUM_B: 0101 SUMB?:0101

我們選定 A A A串中第二個 1 1 1為中心,進行相鄰取反操作,是將其前面第一個數和其后面第一個數取反, A A A會變為 0111 0111 0111,此時 S U M A SUM_A SUMA?會變為 0101 0101 0101

可以看出來,如果我們以位置 i i i為中心,對 i ? 1 i-1 i?1 i + 1 i+1 i+1取反,對前綴和陣列的影響是: S U M [ i ? 1 ] SUM[i-1] SUM[i?1]取反, S U M [ i ] SUM[i] SUM[i]取反,對前綴和陣列中的其余值其實沒有影響,由于 A A A串中 i i i 位置是選擇的中心,所以它這一位肯定是 1 1 1,所以 S U M A SUM_A SUMA?陣列中 S U M A [ i ? 1 ] SUM_A[i-1] SUMA?[i?1] S U M A [ i ] SUM_A[i] SUMA?[i]一定不同,那么這兩位,肯定一個是 1 1 1、一個是 0 0 0,給它們取反,也就是等同于做了交換,

所以,經過若干次操作后,前綴和陣列中的 0 0 0 1 1 1的數量不會改變,

并且因為 A A A串的首尾的 1 1 1不能被選為操作中心,所以不管怎么操作, S U M A [ n ] SUM_A[n] SUMA?[n]都不會改變,

所以判斷兩個串的異或前綴和陣列 0 0 0 1 1 1的數量對應一致,并且兩個01串的位異或和相等,那么一定可以通過給 A A A串的異或前綴和陣列做若干次交換,使其與 B B B的異或前綴和陣列一致,也就把 A A A變得與 B B B串一致了,即輸出yes,

注意: 由于記憶體限制為1.5M,所以不可以開2×106長度的int陣列,但好像可以開一個相同長度的bitset(未測驗),題解代碼未使用陣列,

//翻轉佇列 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int n,sum1,cnt1,sum2,cnt2;
int main(){
	cin>>n;
	char x;
	for(int i=1;i<=n;i++){
		while(x=getchar(),x!='0'&&x!='1');
		sum1^=(x=='1');
		cnt1+=(sum1==1);
	}
	for(int i=1,x;i<=n;i++){
		while(x=getchar(),x!='0'&&x!='1');
		sum2^=(x=='1');
		cnt2+=(sum2==1);
	}
	if(cnt1==cnt2&&sum1==sum2)printf("yes");
	else printf("no");
}

I. 魔法少女:轉

題意: 找一種五個亡者之怒的使用順序并指定它們的打擊魔獸,使得所有魔獸都被消滅,

思路: 深度優先搜索(dfs),搜索每個魔獸被使用的亡者之怒,若已經被消滅就搜索下一個魔獸,找到答案就輸出即可,

//魔法少女:轉 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int T,hp[4],a[6],ans[6],flag;
void dfs(int k,int damage){
	if(flag)return;
	if(k>3){
		for(int i=1;i<=5;i++)printf("%d%c",ans[i]," \n"[i==5]);
		flag=1;
		return;
	}
	if(damage>=hp[k]){
		dfs(k+1,0);
		return;
	}
	for(int i=1;i<=5;i++)
		if(!ans[i]){
			ans[i]=k;
			dfs(k,damage+a[i]);
			ans[i]=0;
		}
}
int main(){
	cin>>T;
	while(T--){
		flag=0;
		for(int i=1;i<=3;i++)cin>>hp[i];
		for(int i=1;i<=5;i++)cin>>a[i];
		dfs(1,0);
	}
}

J. 挑選佇列

題意及思路: Provided By 楊熠辰
本題大意為在 1 ? n 1-n 1?n 中挑選出 3 3 3 個數使得兩兩互質或兩兩不互質的方案數,

我們考慮一個含有 n n n 個點的無向圖,如果兩個數互質,那么就在這兩個數之間連邊,這樣的話,這題本質上就是求圖上三個點的個數,并且要求要么兩兩連邊,要么兩兩不連邊,

由于直接做不是很好做,所以我們考慮容斥,用所有的三元組減掉非法的三元組來求答案,

非法的三元組無非只有兩種情況,一種是三個點之間只有一條邊,另一種是三個點之間有兩條邊,如下圖:
在這里插入圖片描述

對于圖 1 1 1,我們考慮點 1 1 1,我們可以發現它與其他的兩個點連接且僅連接了一條邊,即點 1 1 1 與點 2 2 2 有連邊卻與點 3 3 3 沒有連邊,對于點 2 2 2 也是,

我們發現圖 2 2 2 也有這個性質,即三元組中恰好存在兩個點,這兩個點與除了它自己之外的點恰好連了一條邊,另一條沒有連邊,

于是,我們可以對于每個點,統計一下它的度數,對于點 i i i,求所有點的 d [ i ] × ( n ? d [ i ] ? 1 ) d[i] \times (n - d[i] - 1) d[i]×(n?d[i]?1) 之和,然后把結果除 2 2 2 即是不合法的三元組數,

所以我們下一步只需要求出每個點的度數即可,根據題意,對于點 i i i,有

d [ i ] = ∑ j = 1 n [ gcd ? ( i , j ) = 1 ] = ∑ d ∣ i μ ( d ) ? n d ? d[i] = \sum_{j = 1}^n[\gcd(i, j) = 1] = \sum_{d|i}\mu(d)\lfloor\frac nd\rfloor d[i]=j=1n?[gcd(i,j)=1]=di?μ(d)?dn??
但是如果采用列舉因數的方式求 d [ i ] d[i] d[i] 其最終時間復雜度為 O ( n n ) O(n\sqrt n) O(nn ?),所以我們更改列舉方式,對于一個因數 d d d,我們將 μ ( d ) ? n d ? \mu(d)\lfloor\frac nd\rfloor μ(d)?dn?? 加到其倍數上,這樣可以在 n log ? n n\log n nlogn 的時間復雜度內解決此問題,

//挑選佇列 Standard Code [C++]
#include <bits/stdc++.h>

const int MAXN = 2e6 + 5;

int mu[MAXN], prime[MAXN], notprime[MAXN], n, cnt;
long long f[MAXN];

void Shaker() {
    notprime[1] = mu[1] = 1;
    for(int i = 2; i <= n; i++) {
        if(!notprime[i]) prime[cnt++] = i, mu[i] = -1;
        for(int j = 0; j < cnt && i * prime[j] <= n; j++) {
            notprime[i * prime[j]] = 1;
            if(i % prime[j] == 0) {
                mu[i * prime[j]] = 0;
                break;
            }
            mu[i * prime[j]] = -mu[i];
        }
    }
}

long long cn3(int n) {
    return 1LL * n * (n - 1) * (n - 2) / 6;
}

int main() {
    long long ans = 0;
    scanf("%d", &n);
    Shaker();
    for(int i = 1; i <= n; i++) 
        for(int j = i; j <= n; j += i) 
            f[j] += n / i * mu[i];
    f[1]--;
    for(int i = 1; i <= n; i++) ans += 1LL * f[i] * (n - f[i] - 1);
    ans = cn3(n) - ans / 2;
    printf("%lld\n", ans);
    return 0;
}

K. 魔法少女:合

題意: 分別給定兩棵樹的所有連邊,判斷兩棵樹是否完全相同(節點、連邊都相同),

思路: 分別對兩棵樹每條邊的兩個點升序排序,對所有邊按照兩端點雙關鍵字排序,然后判斷兩棵樹的邊對應相等即可,

//魔法少女:合 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+7;
int n;
pair<int,int>a[N],b[N];
int main(){
	cin>>n;
	for(int i=1,x,y;i<n;i++){
		scanf("%d%d",&x,&y);
		if(x>y)swap(x,y);
		a[i]=make_pair(x,y);
	}
	for(int i=1,x,y;i<n;i++){
		scanf("%d%d",&x,&y);
		if(x>y)swap(x,y);
		b[i]=make_pair(x,y);
	}
	sort(a+1,a+n);
	sort(b+1,b+n);
	int flag=1;
	for(int i=1;i<n&&flag;i++){
		if(a[i]!=b[i])flag=0;
	}
	if(flag)cout<<"RED PILL";
	else cout<<"BLUE PILL";
}

L. 神奇的轉盤

題意: 互動題,有一個 2 ? 2 2*2 2?2的轉盤亂序填入了 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4四個數,每次可以詢問 x x x n n n,代表位于 x x x位置上的數是否為 n n n,系統會回答,轉盤會在每次詢問前順時針旋轉 90 ° 90° 90° ,要求在 6 6 6次詢問以內,確定當前轉盤狀態并輸出,

思路:

假設起始轉盤是:[數字代表轉盤中存的數字]

2 2 2 3 3 3

1 1 1 4 4 4

(1) 第一次詢問前變為:

1 1 1 2 2 2

4 4 4 3 3 3

(2) 第二次詢問前變為:

4 4 4 1 1 1

3 3 3 2 2 2

(3) 第三次詢問前變為:

3 3 3 4 4 4

2 2 2 1 1 1

對于這個起始轉盤,我們可以通過前三次詢問本轉盤中數字 1 1 1 (標紅色的位置)所出現的位置,分別詢問它是否是 1 / 2 / 3 1/2/3 1/2/3,從而確定標紅位置是幾,

可以看出(1)、(2)、(3)中數字 1 1 1所在的位置分別是位置1,位置2,位置3

所以我們第一次詢問 1 1 1 1 1 1,第二次詢問 2 2 2 2 2 2,第三次詢問 3 3 3 3 3 3,就可以確定標紅色的位置存的數是幾,

同理,確定了第一個數,在用剩下的三個數中的任意兩個去測驗 2 2 2次**本轉盤中數字 2 2 2接下來出現的兩個位置,可以確定本轉盤中數字 2 2 2**的位置存的數是幾,

最后再用剩下的兩個數去測驗本轉盤中數字3接下來出現的一個位置,確定本轉盤中數字3的位置存的是幾,

所以詢問恰好 3 + 2 + 1 3+2+1 3+2+1次即可確定轉盤內容,并輸出當前轉盤內容,

以上程序可以用一個函式實作詢問,

//神奇的轉盤 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int flag[5],a[3][3];
void query(int x,int y,int start,int end){
	int sum=0;
	for(int i=1;i<=4;i++)
		if(!flag[i])sum+=i;
	for(int i=start,j=1,k;i<=end;i++,j++){
		while(flag[j])j++;
		cout<<i<<" "<<j<<endl;
		sum-=j;
		cin>>k;
		if(k==1)a[x][y]=j,flag[j]=1;
	}
	if(!a[x][y])a[x][y]=sum,flag[sum]=1;
}
int main(){
	query(1,2,1,3);
	query(2,2,1,2);
	query(2,1,4,4);
	query(1,1,2020,1024);//后兩個引數任意填的,只要進函式之后不執行回圈即可
	cout<<0<<endl;
	cout<<a[1][1]<<" "<<a[1][2]<<"\n"<<a[2][1]<<" "<<a[2][2];
}

M. AAO

題意: 新創語言,有 n n n個數 [ 1 , 2 , . . . , n ] [1,2,...,n] [1,2,...,n],但輸入缺失了一個數(只輸入 n ? 1 n-1 n?1個數),要求找出缺失的數,

思路: 做法很簡單,就是計算 1 + 2 + . . . + n 1+2+...+n 1+2+...+n的值,減去所有輸入的數,即是缺失的數,難點在于要用新創語言給定的陳述句做,建議用C++11自帶的

cout<<R"(...)";

陳述句輸出所有新語言的句子,具體寫法如下:

//AAO Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int main(){
	cout<<R"(
		Initial n
		Yes, BangDream
		
		Hey, Y.O.L.O!!!!! n
		
		Initial sum
			ROKIROKIROLL n
		Yes, BangDream
			
		Initial n
			Please don't say "You are lazy" 1
		Yes, BangDream
		
		Initial x
		Yes, BangDream
		
		A to Z! A to Z! n
			Hey, Y.O.L.O!!!!! x
			
			Initial sum
				ROKIROKIROLL n
				Please don't say "You are lazy" x
			Yes, BangDream
			
			Initial n
				Please don't say "You are lazy" 1
			Yes, BangDream
		tenkao
		
		go go go for it! sum
	)";
}

N. 來自異世界的巧克力

題意: 給一個數 n n n,要求把它分成 x x x個正奇數 + y y y個正偶數,使得這 x x x個奇數和 y y y個偶數的和等于 n n n,注意,沒有要求所分的數各不相同,

思路:

1° 偶數不會改變奇偶性,奇數個奇數的和仍然是奇數偶數個奇數的和是偶數,所以我們可以先根據 n n n的奇偶性和 x x x的奇偶性判斷是否可以分,

x x x個正奇數 + y y y個正偶數的和的最小值應該是 x x x 1 1 1 y y y 2 2 2相加,所以我們可以把 x + 2 ? y x+2*y x+2?y 的值與 n n n比較,若 x + 2 ? y > n x+2*y > n x+2?y>n,顯然沒法分,

所以,判斷完可以分之后,我們可以先把 n n n分出來 x x x 1 1 1 y y y 2 2 2,剩下的值肯定是一個偶數,我們可以把剩余值加到任意分出來的數上,輸出即可,

//來自異世界的巧克力 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int t;
LL n,x,y;
void solve(){
    scanf("%lld%lld%lld",&n,&x,&y);
    if((n%2==0&&x%2==1)||(n%2==1&&x%2==0)||x+2LL*y>n){
        printf("NO\n");
        return;
    }
    printf("YES\n");
    n-=x+2LL*y;
    for(int i=1;i<=x;i++)printf("1%c"," \n"[i==x]);
    for(int i=1;i<y;i++)printf("2 ");
    printf("%lld\n",n+2);
}
int main(){
    cin>>t;
    while(t--)solve();
}

O. hina的迷宮

題意: 給一個字符矩陣的迷宮,其中有已存在的墻壁(不能通過),人物可以向 8 8 8個相鄰的方向走(不可以走到迷宮外),問是否有方案設定不多于 k k k個墻壁,使得人物不能從左上角走到右下角,

思路: 在起點的右方、下方、右下方設定字串即可,設定的時候判斷一下原來是否存在墻壁,注意,如果n * m=2 * 2,無論如何設定墻壁,都無法阻擋人物到達右下角(因為終點不能設定墻壁,直接從起點往右下方走一步即可到達),

//hina的迷宮 Standard Code [C++]
#include<bits/stdc++.h>
using namespace std;
int T,n,m,k;
char s[57][47];
void solve(){
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)scanf("%s",s[i]+1);
	if(n*m==4)return (void)puts("NO");
	puts("YES");
	int cnt=(s[1][2]=='.')+(s[2][1]=='.')+(s[2][2]=='.');
	cout<<cnt<<"\n";
	if(s[1][2]=='.')cout<<"1 2\n";
	if(s[2][1]=='.')cout<<"2 1\n";
	if(s[2][2]=='.')cout<<"2 2\n";
}
int main(){
	cin>>T;
	while(T--)solve();
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226967.html

標籤:其他

上一篇:最新出爐!3輪技術面和1輪Hr面拿下頭條offer,終圓我大廠夢

下一篇:[C]你叫我么么噠三子棋

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more