当前位置:网站首页>"Team training competition" Shandong multi university training 3
"Team training competition" Shandong multi university training 3
2022-06-30 22:20:00 【Chels.】
A - Ant colony
Title Description :
Here you are. n Number
a[i],m Time to ask , Give one at a timel, r, ask[l, r]How many numbers are there ina[i]dissatisfaction :a[i]It can be divided by all numbers in the interval
Ideas :
An analysis shows that , If a number in an interval can be divided by all other numbers , Then this number must be equal to all the numbers in the interval gcd After the results of the
So we need a data structure that can maintain intervals gcd, And maintain intervals gcd The number of
Here are two ways :
- st surface + Two points , use
stTable maintenance intervalgcd, When querying the quantity , We can use one vector Array to store where each number appears , Just use two points to check , But because the number is 1e9, Out-of-service vector Array , So it can be usedmap<int, vector>Or write a discretization and then vector Array storage- Segment tree maintains intervals gcd Values and intervals of gcd Number , It is a simple ordinary segment tree without modification
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
int n, m, k, op;
int l, r;
int tr[MAX];
int lg[MAX];
int gg[MAX][30];
map<int, vector<int>>mp;
int gcd(int a, int b){
if(b) return gcd(b, a % b);
else return a;
}
void init(){
for(int i = 1; i <= n; ++i)gg[i][0] = tr[i];
for(int i = 2; i <= n; ++i){
lg[i] = lg[i / 2] + 1;
}
for(int j = 1; j <= lg[n]; ++j){
for(int i = 1; i + (1 << j) - 1 <= n; ++i){
gg[i][j] = gcd(gg[i][j - 1], gg[i + (1 << (j - 1))][j - 1]);
}
}
}
int getgcd(int l, int r){
int len = lg[r - l + 1];
return gcd(gg[l][len], gg[r - (1 << len) + 1][len]);
}
void work(){
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> tr[i];
mp[tr[i]].push_back(i);
}
init();
cin >> m;
while(m--){
cin >> l >> r;
int x = getgcd(l, r);
cout << r - l + 1 - (upper_bound(mp[x].begin(), mp[x].end(), r) - lower_bound(mp[x].begin(), mp[x].end(), l))<<endl;
}
}
int main(){
io;
work();
return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ls (p<<1)
#define rs ((p<<1)|1)
typedef long long ll;
typedef pair <bool,int> pii;
#define MAX 500000 + 50
int n, m, k, op;
int tr[MAX];
int num[MAX];
int gg[MAX];
int gcd(int a, int b){
if(b) return gcd(b, a % b);
else return a;
}
struct ran{
int gg, num;
};
void pushup(int p){
gg[p] = gcd(gg[ls], gg[rs]);
num[p] = (gg[ls] == gg[p] ? num[ls] : 0) + (gg[rs] == gg[p] ? num[rs] : 0);
}
void built(int p, int l, int r){
if(l == r){
gg[p] = tr[l];
num[p] = 1;
return;
}
int mid = (l + r) / 2;
built(ls, l, mid);
built(rs, mid + 1, r);
pushup(p);
}
ran getans(int p, int l, int r, int s, int t){
if(s <= l && r <= t){
return {
gg[p], num[p]};
}
ran ans = {
0, 0};
int mid = (l + r) / 2;
if(mid >= s){
ans = getans(ls, l, mid, s, t);
}
if(mid < t){
ran a = ans;
ran now = getans(rs, mid + 1, r, s, t);
ans.gg = gcd(ans.gg, now.gg);
ans.num = (a.gg == ans.gg ? a.num : 0) + (now.gg == ans.gg ? now.num : 0);
}
return ans;
}
void work(){
cin >> n;
for(int i = 1; i <= n; ++i)cin >> tr[i];
built(1, 1, n);
cin >> m;
int l, r;
while(m--){
cin >> l >> r;
ran ans = getans(1, 1, n, l, r);
cout << r - l + 1 - ans.num << endl;
}
}
int main(){
io;
work();
return 0;
}
B - New String
Title Description :
Give it to you again 26 The order of letters , Redefine the dictionary order in this order , Here you are.
nA string , Output NokSmall strings
Ideas :
According to the given 26 The first letter is map Mapping the , Then write a string comparison function sort Just output it later
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ls (p<<1)
#define rs ((p<<1)|1)
typedef long long ll;
typedef pair <bool,int> pii;
#define MAX 300000 + 50
int n, m, k, op;
string s;
map<char, int>mp;
struct ran{
string s;
bool operator < (const ran &x)const{
for(int i = 0; i < s.size() && i < x.s.size(); ++i){
if(mp[s[i]] < mp[x.s[i]])return true;
else if(mp[s[i]] > mp[x.s[i]])return false;
else continue;
}
return s.size() < x.s.size();
}
}tr[MAX];
void work(){
cin >> s;
for(int i = 0; i < s.size(); ++i){
mp[s[i]] = i + 1;
}
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> tr[i].s;
}
sort(tr + 1, tr + 1 + n);
cin >> k;
cout << tr[k].s << endl;
}
int main(){
io;
work();
return 0;
}
C - Easy Problem
Title Description :
Here you are.
n * mGraph ,*It's an obstacle ,.It's open spaceNow there are two people in
a,bThe location of , They move in the same direction , Will rise at the same time 、 Next 、 Left 、 Move in four right directions , If you move in a certain direction , Encountering obstacles or boundaries , Then this person will stay where he is , But another person can walk normally , Of course, if you encounter obstacles in the same direction, you can't move towards that thing , Ask when they can meet
Ideas :
If you look at it, you can see that
nonly 50, It's only a matter of running all over the map 504 The situation of , Very small , Run straightbfsJust go
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod7 1000000007
#define mod9 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(a) cout << "Debuging...|" << #a << ": " << a << "\n";
typedef long long ll;
typedef pair <int,int> pii;
#define y1 y114514
#define MAX 300000 + 50
int n, m, k, x;
char tr[55][55];
bool vis[55][55][55][55];
int dx[] = {
1, 0, -1, 0};
int dy[] = {
0, 1, 0, -1};
int x1, y1, x2, y2;
struct ran{
int x1, y1, x2, y2, d;
};
bool judge(int x, int y){
if(x < 1 || x > n || y < 1 || y > n)return false;
if(tr[x][y] == '*')return false;
else return true;
}
void bfs(){
queue<ran>q;
ran now, nex;
q.push({
x1, y1, x2, y2, 0});
vis[x1][y1][x2][y2] = 1;
while(!q.empty()){
now = q.front();q.pop();
if(now.x1 == now.x2 && now.y114514 == now.y2){
cout << now.d << endl;
return;
}
for(int i = 0; i < 4; ++i){
if(judge(now.x1 + dx[i], now.y114514 + dy[i])){
nex.x1 = now.x1 + dx[i];
nex.y114514 = now.y114514 + dy[i];
}
else {
nex.x1 = now.x1;
nex.y114514 = now.y114514;
}
if(judge(now.x2 + dx[i], now.y2 + dy[i])){
nex.x2 = now.x2 + dx[i];
nex.y2 = now.y2 + dy[i];
}
else{
nex.x2 = now.x2;
nex.y2 = now.y2;
}
if(vis[nex.x1][nex.y114514][nex.x2][nex.y2])continue;
nex.d = now.d + 1;
q.push(nex);
vis[nex.x1][nex.y114514][nex.x2][nex.y2] = 1;
}
}
cout << "no solution\n";
}
void work(){
cin >> n;
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
cin >> tr[i][j];
if(tr[i][j] == 'a'){
tr[i][j] = '.';
x1 = i;y1 = j;
}
else if(tr[i][j] == 'b'){
tr[i][j] = '.';
x2 = i;y2 = j;
}
}
}
bfs();
}
int main(){
io;
work();
return 0;
}
D - Maximum Value
Title Description :
Here you are. n Number , choose
i, j, And meeta[j] >= a[i], aska[j] % a[i]The maximum of
Ideas :
We can sort the array first , After sorting , For a number
a[i], We need to find onea[j], seeka[j]%a[i]The maximum of ,a[j] = k * a[i] + x,xThat is, the remainder , We can enumerate k, Then find the first greater than or equal to in the arrayk*a[i]The location ofp, bep-1The position should be(k-1)*a[i] To k * a[i]thisa[i]The one with the largest remainder , For all thek, We all calculate the remainder to find a maximum , This is the correspondinga[i]The remainder that can be produced as a divisor , We treat eachiIt's OK to ask for it once , The complexity should be harmonic series ,O(nlogn)Pay attention to pruning , That is, just look for the same number once
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
int n, m, k, op;
int tr[MAX];
void work(){
cin >> n;
for(int i = 1; i <= n; ++i){
cin >> tr[i];
}
sort(tr + 1, tr + 1 + n);
int ans = 0;
for(int i = 1; i <= n; ++i){
int x = tr[i];
if(tr[i] == tr[i - 1])continue;
if(x == 1)continue;
while(x - tr[i] <= tr[n]){
int p = (int)(lower_bound(tr + i + 1, tr + 1 + n, x) - tr);
ans = max(ans, tr[p - 1] % tr[i]);
x += tr[i];
}
}
cout << ans << endl;
}
int main(){
io;
work();
return 0;
}
E - Prefix Equality
Title Description :
Here are two arrays
ar[i], br[i],Q Time to ask , Each inquiry givesa, b, askar[1] To ar[a]A set of numbers andbr[1] To br[b]Whether the set composed of numbers of is the same
Ideas :
Just hash it , I made three kinds of arrays , An array of quantities , An array of prefixes and , An array of prefix products , When judging, the three are the same
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod7 1000000007
#define mod9 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(a) cout << "Debuging...|" << #a << ": " << a << "\n";
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
int n, m, k, x, y;
ll ar[MAX], br[MAX];
ll sum1[MAX], sum2[MAX];
ll mul1[MAX], mul2[MAX];
ll num1[MAX], num2[MAX];
void work(){
cin >> n;
mul1[0] = mul2[0] = 1;
for(int i = 1; i <= n; ++i)cin >> ar[i];
for(int i = 1; i <= n; ++i)cin >> br[i];
set<ll>se;
for(int i = 1; i <= n; ++i){
sum1[i] = sum1[i - 1];
mul1[i] = mul1[i - 1];
num1[i] = num1[i - 1];
if(!se.count(ar[i])){
++num1[i];
se.insert(ar[i]);
sum1[i] += ar[i];
(mul1[i] *= ar[i]) %= mod7;
}
}
se.clear();
for(int i = 1; i <= n; ++i){
sum2[i] = sum2[i - 1];
mul2[i] = mul2[i - 1];
num2[i] = num2[i - 1];
if(!se.count(br[i])){
++num2[i];
se.insert(br[i]);
sum2[i] += br[i];
(mul2[i] *= br[i]) %= mod7;
}
}
cin >> m;
while (m--) {
cin >> x >> y;
if(num1[x] == num2[y] && sum1[x] == sum2[y] &&
mul1[x] == mul2[y])cout << "Yes\n";
else cout << "No\n";
}
}
int main(){
io;
work();
return 0;
}
G - Optimal Biking Strategy
Title Description :
You are now 0 The location of , Need to get to
pThe location of riceYes
nA bicycle station , You can only get on and off at the bicycle stop , You can ride at most for every dollar you spendsrice , You can't ride more than one meter , If the current vehicle cannot support riding from this site to the next site , Then he can't rideAsk how many meters you need to walk on the ground at least
Ideas :
Dynamic programming
dp[i][j]ToiThe position of meters , It tookjThe longest distance yuan can rideState transition is also good to think about , Just enumerate the last flowers
kYuan arrivedjLet's assume it took
kelement , Then we need to know where to spendkYuan Neng walked as far as possible to reachj, Make a note of this positionid, bedp[i][j] = max(dp[i][j - k] + tr[j] - tr[id];And ask
idThe method is dichotomyBe careful not to forget to add
dp[i][j] = min(dp[i][j], dp[i - 1][j])
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod7 1000000007
#define mod9 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(a) cout << "Debuging...|" << #a << ": " << a << "\n";
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
ll n, kk;
ll p, s;
ll tr[MAX];
ll id[MAX][7];
ll dp[MAX][7];
void work(){
scanf("%lld%lld%lld", &n, &p, &s);
for(int i = 1; i <= n; ++i){
scanf("%lld", &tr[i]);
}
scanf("%lld", &kk);
for(int i = 1; i <= n; ++i){
id[i][0] = i;
for(int j = 1; j <= kk; ++j){
ll pos = tr[i] - j * s;
id[i][j] = lower_bound(tr + 1, tr + 1 + n, pos) - tr;
}
}
ll ans = 1e18;
for(int i = 1; i <= n; ++i){
dp[i][0] = 0;
for(int j = 1; j <= kk; ++j){
dp[i][j] = dp[i - 1][j];
for(int k = 0; k <= j; ++k){
dp[i][j] = max(dp[i][j], dp[id[i][k]][j - k] + tr[i] - tr[id[i][k]]);
}
}
}
for(int i = 1; i <= n; ++i){
ans = min(ans, p - dp[i][kk]);
}
cout << ans << endl;
}
int main(){
io;
work();
return 0;
}
I - 250-like Number
Title Description :
k = p * q * q * q,p,qAll prime numbers , Ask less than or equal tonHow many of them k
Ideas :
First use the Euler sieve to screen out 1e6 The prime number in , Enumerate each
p, Calculate by two pointsqThe number ofWhat needs attention is judgment
p*q*q*q <= nWill explode whenlong long, So we can move items , Judgmentq*q*q <= n / p
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
ll n, m, k, op;
int tot;
ll prim[MAX];
bool vis[1000050];
void init(){
for(int i = 2; i <= 1000000; ++i){
if(!vis[i])prim[++tot] = i;
for(int j = 1; j <= tot && prim[j] * i <= 1000000; ++j){
vis[prim[j] * i] = 1;
if(i % prim[j] == 0)break;
}
}
}
void work(){
init();
cin >> n;
int ans = 0;
for(int i = 1; i <= tot && (ll)pow(prim[i], 4) <= n; ++i){
int l = i + 1, r = tot;
while(l <= r){
int mid = (l + r) / 2;
if(prim[mid] * prim[mid] * prim[mid] > n / prim[i])r = mid - 1;
else l = mid + 1;
}
ans += l - i - 1;
}
cout << ans << endl;
}
int main(){
io;
work();
return 0;
}
J - Wrapping Chocolate
Title Description :
n A chocolate ,m Boxes , The chocolates and boxes here are only long and wide , Ask if you can put n Chocolate is put in different boxes
Ideas :
We will n+m Two chocolates and a box , According to the width, from big to small , The length is sorted from large to small , Then use one multiset To maintain that the unused width in the box is greater than or equal to all the lengths of the current chocolate , When it comes to chocolate , Just go to multiset Find his long in half , If found, delete , Output if you can't find it
No, If you encounter a box , Then the long race to multiset in
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define sd(n) scanf("%d",&n)
#define sdd(n,m) scanf("%d %d",&n,&m)
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 500000 + 50
int n, m, k, op;
struct ran{
int x, y;
bool op;
bool operator < (const ran &a)const{
if(x != a.x)return x > a.x;
else if(y != a.y)return y > a.y;
else return op > a.op;
}
}tr[MAX];
void work(){
cin >> n >> m;
for(int i = 1; i <= n; ++i){
cin >> tr[i].x;
}
for(int i = 1; i <= n; ++i){
cin >> tr[i].y;
}
for(int i = n + 1; i <= n + m; ++i){
cin >> tr[i].x;
}
for(int i = n + 1; i <= n + m; ++i){
cin >> tr[i].y;
tr[i].op = 1;
}
sort(tr + 1, tr + 1 + n + m);
multiset<int>se;
for(int i = 1; i <= n + m; ++i){
if(tr[i].op == 0){
auto x = se.lower_bound(tr[i].y);
if(x == se.end()){
cout << "No\n";
return;
}
se.erase(x);
}
else{
se.insert(tr[i].y);
}
}
cout << "Yes\n";
}
int main(){
io;
work();
return 0;
}
K - Endless Walk
Title Description :
Here you are. n A little bit ,m side , Ask how many points exist that you can walk into a ring starting from this point
Ideas :
Reverse map building and topology sorting , Output the number of points that are not pushed into the queue
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define sd(n) scanf("%d",&n)
#define sdd(n,m) scanf("%d %d",&n,&m)
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
int n, m, k, op;
int in[MAX];
int x, y;
vector<int>G[MAX];
bool vis[MAX];
void work(){
cin >> n >> m;
for(int i = 1; i <= m; ++i){
cin >> x >> y;
G[y].push_back(x);
++in[x];
}
queue<int>q;
int ans = 0;
for(int i = 1; i <= n; ++i){
if(in[i] == 0){
q.push(i);
++ans;
}
}
while(!q.empty()){
int u = q.front();q.pop();
for(auto v : G[u]){
--in[v];
if(in[v] == 0){
q.push(v);
++ans;
}
}
}
cout << n - ans << endl;
}
int main(){
io;
work();
return 0;
}
L - Powerful array
Title Description :
give n Number ,m Time to ask , Each inquiry gives
l, r, Suppose that there is k Species , The value isa[k], And each number appearsnum[k]Time , Then the value of the interval is ∑ i = 1 k n u m [ k ] ∗ n u m [ k ] ∗ a [ k ] \sum_{i=1}^{k}{num[k]*num[k] * a[k]} ∑i=1knum[k]∗num[k]∗a[k]Find the interval value of each query
Ideas :
Mo team board
Just push the formula
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define mod 998244353
#define m_p(a,b) make_pair(a, b)
#define mem(a,b) memset((a),(b),sizeof(a))
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
typedef pair <int,int> pii;
#define MAX 300000 + 50
int n, m, k, op;
int block;
ll ar[MAX];
int get_block(int x){
return x / block;
}
struct ran{
int l, r, id;
bool operator < (const ran &a)const{
int x = get_block(l);
int y = get_block(a.l);
if(x != y)return x < y;
else return r < a.r;
}
}tr[MAX];
ll ans[MAX];
ll num[1000005];
ll cnt;
void add(int id){
cnt += ar[id] * (2 * num[ar[id]] + 1);
++num[ar[id]];
}
void del(int id){
cnt += ar[id] * (1 - 2 * num[ar[id]]);
--num[ar[id]];
}
void work(){
cin >> n >> m;
block = sqrt(n);
for(int i = 1; i <= n; ++i)cin >> ar[i];
for(int i = 1; i <= m; ++i){
cin >> tr[i].l >> tr[i].r;
tr[i].id = i;
}
sort(tr + 1, tr + 1 + m);
int l = 1, r = 0;
for(int i = 1; i <= m; ++i){
int s = tr[i].l, t = tr[i].r;
while(r < t)add(++r);
while(r > t)del(r--);
while(l < s)del(l++);
while(l > s)add(--l);
ans[tr[i].id] = cnt;
}
for(int i = 1; i <= m; ++i){
cout << ans[i] << endl;
}
}
int main(){
io;
work();
return 0;
}
summary
This competition has 4 individual abc The topic , I have done two of the sign in questions , Just write it and hand it in , The other two have met , But I didn't write , Just take advantage of this competition to make up
Write in the middle G The question is dp I wrote for a long time wa, I changed my posture and passed , In the afternoon, I did some research on the film , Find out according to your own dp By definition , You should write a sentence
dp[i][j] = dp[i - 1][j], But it wasn't written during the game , So I started to wa, Then I changed my posture and passedK I really didn't expect it to be so simple , I'm still wondering how dfs Can spend less time updating ,yj Say reverse mapping and run a topological sort , It makes sense at one point. I can only say
L I took a look at the question contest , I know it's a Mo team , But because I don't write data structure questions very much , I haven't written much about Mo team , I didn't write it at the beginning , later 9 I'll leave work directly when I have a question , Just forget this question , I just made up my findings sb topic
J The question about chocolate is really wonderful , Although I can tell at a glance that it's an order and then I'll find it in two , But I don't know how to write , Between me and djk Write C When yj Just write it down
C I want to run violently at the first sight bfs, But I didn't think about it at first , It turned out to be sb topic
A topic djk Say you can write a line segment tree , But when I looked at the maintenance section gcd, Go straight up st Watch , It is rare to meet one that can be used st Table questions , Don't waste
边栏推荐
- 基于kubernetes平台微服务的部署
- On several key issues of digital transformation
- Zhoushaojian, rare
- Docker installing MySQL
- 深入解析 Apache BookKeeper 系列:第四篇—背压
- How does win11 optimize services? Win11 method of optimizing service
- Where can I find the computer device manager
- What are database OLAP and OLTP? Same and different? Applicable scenarios
- What if the taskbar is blank after win11 update? Solution to blank and stuck taskbar after win11 update
- 1. Summary of wechat applet page Jump methods; 2. the navigateto stack does not jump to the tenth floor
猜你喜欢

Look at the top 10 capabilities of alicloud cipu

Ten of the most heart piercing tests / programmer jokes, read the vast crowd, how to find?

Introduction and example of template method mode

Is machine learning suitable for girls?

Using Obsidian with Hugo, markdown's local editing software is seamlessly connected with online

MFC interface library bcgcontrolbar v33.0 - desktop alarm window, grid control upgrade, etc

What if the taskbar is blank after win11 update? Solution to blank and stuck taskbar after win11 update

Do machine learning jobs require graduate students?

《安富莱嵌入式周报》第271期:2022.06.20--2022.06.26

latex左侧大括号 latex中大括号多行公式
随机推荐
[untitled] first time to participate in CSDN activities
Development techniques - import files using easyexcel (simple example)
机器学习工作要求研究生吗?
1. Summary of wechat applet page Jump methods; 2. the navigateto stack does not jump to the tenth floor
【MySQL入门】第一话 · 初入“数据库”大陆
Anfulai embedded weekly report no. 270: June 13, 2022 to June 19, 2022
msf之ms17-010永恒之蓝漏洞
Alibaba Kube eventer MySQL sink simple usage record
Qsort function and Simulation Implementation of qsort function
基于kubernetes平台微服务的部署
B_ QuRT_ User_ Guide(31)
MFC interface library bcgcontrolbar v33.0 - desktop alarm window, grid control upgrade, etc
Is machine learning suitable for girls?
KVM IO性能测试数据
Golang application ━ installation, configuration and use of Hugo blog system
Gartner focuses on low code development in China how UNIPRO practices "differentiation"
Online education program user login and registration
Starting from pg15 xid64 ticket skipping again
A new one from Ali 25K came to the Department, which showed me what the ceiling is
去中心化交易所系统开发技术原理丨数字货币去中心化交易所系统开发(说明案例)