byl太强了,学弟们太强了~全程被吊打,嘤嘤嘤~

A题  Connecting Vertices

http://codeforces.com/problemset/problem/888/F

不会

B题 Local Extrema

http://codeforces.com/problemset/problem/888/A

给一列数字,判断一个数它的左右是否同时比它大,或者同时比它小,若满足的话那么count++,得到最后的count值,那么很明显,直接暴力的遍历一遍就可以了。

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int a[maxn];
12 int main(int argc, char const *argv[])
13 {
14 #ifndef ONLINE_JUDGE
15 freopen("in.txt", "r", stdin);
16 freopen("out.txt", "w", stdout);
17 srand((unsigned int)time(NULL));
18 #endif
19 ios::sync_with_stdio(false);
20 cin.tie(0);
21 int n;
22 cin>>n;
23 for(int i=1;i<=n;i++)
24 cin>>a[i];
25 int ans=0;
26 for(int i=2;i<n;i++)
27 {
28 if(a[i]<a[i-1]&&a[i]<a[i+1])
29 ans++;
30 if(a[i]>a[i-1]&&a[i]>a[i+1])
31 ans++;
32 }
33 cout<<ans<<endl;
34 #ifndef ONLINE_JUDGE
35 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
36 #endif
37 return 0;
38 }

C题 Xor-MST

http://codeforces.com/problemset/problem/888/G

不会

D题 Buggy Robot

http://codeforces.com/problemset/problem/888/B

机器人有四种指令,找出在给出的一大串指令中,最多有多少指令是正确的

找到LR和UD有多少对,乘以2就行了

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int main(int argc, char const *argv[])
12 {
13 #ifndef ONLINE_JUDGE
14 freopen("in.txt", "r", stdin);
15 freopen("out.txt", "w", stdout);
16 srand((unsigned int)time(NULL));
17 #endif
18 ios::sync_with_stdio(false);
19 cin.tie(0);
20 int n;
21 cin>>n;
22 string s;
23 cin>>s;
24 map<char,int>mp;
25 for(int i=0;i<n;i++)
26 mp[s[i]]++;
27 int ans=0;
28 ans+=min(mp['L'],mp['R']);
29 ans+=min(mp['U'],mp['D']);
30 cout<<ans*2<<endl;
31 #ifndef ONLINE_JUDGE
32 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
33 #endif
34 return 0;
35 }

E题 K-Dominant Character

http://codeforces.com/problemset/problem/888/C

给出一个字符串,找出一个最小的长度k,使得每个长度为k的子串中都包含一个相同的字符记录下来每个字符的位置,找两个相同字符的最大距离,对这个最大距离取最小值

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int main(int argc, char const *argv[])
12 {
13 #ifndef ONLINE_JUDGE
14 freopen("in.txt", "r", stdin);
15 freopen("out.txt", "w", stdout);
16 srand((unsigned int)time(NULL));
17 #endif
18 ios::sync_with_stdio(false);
19 cin.tie(0);
20 string s;
21 cin>>s;
22 int l=s.length();
23 vector<int>ve[30];
24 for(int i=0;i<26;i++)
25 ve[i].push_back(-1);
26 for(int i=0;i<l;i++)
27 ve[s[i]-'a'].push_back(i);
28 for(int i=0;i<26;i++)
29 ve[i].push_back(l);
30 int ans=inf;
31 for(int i=0;i<26;i++)
32 {
33 int res=0;
34 int sz=ve[i].size();
35 for(int j=1;j<sz-1;j++)
36 res=max(res,max(ve[i][j]-ve[i][j-1],ve[i][j+1]-ve[i][j]));
37 if(res==0)
38 continue;
39 ans=min(ans,res);
40 }
41 cout<<ans<<endl;
42 #ifndef ONLINE_JUDGE
43 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
44 #endif
45 return 0;
46 }

F题 Maximum Subsequence

http://codeforces.com/problemset/problem/888/E

给出n个数,从这n个数中选出几个数(可以不选),使得这些数的和对m取余后的值最大

题解链接:https://www.cnblogs.com/Friends-A/p/11569017.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int a[maxn];
12 int Left[maxn];
13 int Right[maxn];
14 int cntl,cntr;
15 int n,m;
16 int main(int argc, char const *argv[])
17 {
18 #ifndef ONLINE_JUDGE
19 freopen("in.txt", "r", stdin);
20 freopen("out.txt", "w", stdout);
21 srand((unsigned int)time(NULL));
22 #endif
23 ios::sync_with_stdio(false);
24 cin.tie(0);
25 cin>>n>>m;
26 for(int i=0;i<n;i++)
27 cin>>a[i],a[i]%=m;
28 int res=0;
29 int l,r;
30 l=r=n/2;
31 for(int i=0;i<(1<<r);i++)
32 {
33 res=0;
34 for(int j=0;j<r;j++)
35 if(i>>j&1)
36 res+=a[j],res%=m;
37 Left[cntl++]=res;
38 }
39 res=0;
40 r=n;
41 int num=r-l+1;
42 for(int i=0;i<(1<<num);i++)
43 {
44 res=0;
45 for(int j=0;j<num;j++)
46 if(i>>j&1)
47 res+=a[l+j],res%=m;
48 Right[cntr++]=res;
49 }
50 Left[cntl++]=0;
51 Right[cntr++]=0;
52 sort(Left,Left+cntl);
53 sort(Right,Right+cntr);
54 cntl=unique(Left,Left+cntl)-Left;
55 cntr=unique(Right,Right+cntr)-Right;
56 int ans=0;
57 for(int i=0;i<cntl;i++)
58 {
59 int res=m-Left[i]-1;
60 int pos=upper_bound(Right,Right+cntr,res)-Right;
61 int num=Right[pos-1];
62 ans=max(ans%m,(num+Left[i])%m);
63 }
64 cout<<ans<<endl;
65 #ifndef ONLINE_JUDGE
66 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
67 #endif
68 return 0;
69 }

G题 Almost Identity Permutations

http://codeforces.com/problemset/problem/888/D

给出n的全排列,求有多少种排列,满足至少n−k个位置上的数和下标相同(下标从1开始)

错排公式+组合数

题解链接:https://www.cnblogs.com/Friends-A/p/11569153.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 ll C(int n,int m)
12 {
13 ll fenmu=1LL;
14 ll fenzi=1LL;
15 for(int i=1;i<=m;i++)
16 {
17 fenmu=1LL*fenmu*(n-i+1);
18 fenzi=1LL*fenzi*i;
19 }
20 return fenmu/fenzi;
21 }
22 int main(int argc, char const *argv[])
23 {
24 #ifndef ONLINE_JUDGE
25 freopen("in.txt", "r", stdin);
26 freopen("out.txt", "w", stdout);
27 srand((unsigned int)time(NULL));
28 #endif
29 ios::sync_with_stdio(false);
30 cin.tie(0);
31 int n,k;
32 cin>>n>>k;
33 ll ans=0;
34 if(k>=1)
35 ans+=1;
36 if(k>=2)
37 ans+=(n*(n-1)/2);
38 if(k>=3)
39 ans+=2*C(n,3);
40 if(k>=4)
41 ans+=9*C(n,4);
42 cout<<ans<<endl;
43 #ifndef ONLINE_JUDGE
44 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
45 #endif
46 return 0;
47 }

H题 Alyona and Spreadsheet

http://codeforces.com/problemset/problem/777/C

给出一个n×m的矩阵,判断第l行~第r行中是否有一列是非递减的

预处理每一行能往上延伸到的位置,注意矩阵的存法

题解链接:https://www.cnblogs.com/Friends-A/p/11569247.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 vector<int>ve[maxn];
12 // 当前行能往上延伸的最高位置
13 int can[maxn];
14 // 当前列能往上的最高位置
15 int line[maxn];
16 int main(int argc, char const *argv[])
17 {
18 #ifndef ONLINE_JUDGE
19 freopen("in.txt", "r", stdin);
20 freopen("out.txt", "w", stdout);
21 srand((unsigned int)time(NULL));
22 #endif
23 ios::sync_with_stdio(false);
24 cin.tie(0);
25 int n,m;
26 cin>>n>>m;
27 int x;
28 for(int i=0;i<m;i++)
29 ve[0].push_back(0);
30 for(int i=1;i<=n;i++)
31 for(int j=0;j<m;j++)
32 cin>>x,ve[i].push_back(x);
33 for(int i=1;i<=n;i++)
34 {
35 can[i]=i;
36 for(int j=0;j<m;j++)
37 {
38 int now_num=ve[i][j];
39 int up_num=ve[i-1][j];
40 if(now_num<up_num)
41 line[j]=i;
42 can[i]=min(can[i],line[j]);
43 }
44 }
45 int t;
46 cin>>t;
47 while(t--)
48 {
49 int l,r;
50 cin>>l>>r;
51 if(can[r]>l)
52 cout<<"No\n";
53 else
54 cout<<"Yes\n";
55 }
56 #ifndef ONLINE_JUDGE
57 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
58 #endif
59 return 0;
60 }

I题 Shell Game

http://codeforces.com/problemset/problem/777/A

现在一共有三个小盒子,其中有一个盒子中有小球.一共进行了n次操作,操作规律有:

①奇数次操作,交换第一个和中间的盒子。

②偶数次操作,交换第三个和中间的盒子。

现在已知操作了n次之后小球在x号盒子中(0,1,2),问初始的时候小球在哪里

循环节,每六个数字一个循环

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int main(int argc, char const *argv[])
12 {
13 #ifndef ONLINE_JUDGE
14 freopen("in.txt", "r", stdin);
15 freopen("out.txt", "w", stdout);
16 srand((unsigned int)time(NULL));
17 #endif
18 ios::sync_with_stdio(false);
19 cin.tie(0);
20 int a[6][3]={{0,1,2},{1,0,2},{1,2,0},{2,1,0},{2,0,1},{0,2,1}};
21 int n,x;
22 cin>>n>>x;
23 n%=6;
24 cout<<a[n][x]<<endl;
25 #ifndef ONLINE_JUDGE
26 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
27 #endif
28 return 0;
29 }

J题 Hanoi Factory

http://codeforces.com/problemset/problem/777/E

有n个空心圆柱体,第i个圆柱体的内径、外径、高分别为:ai,bi,hi。将这些圆柱体堆起来,要求:从上到下,外径非递减,并且上面的外径小于下面的内径。问最高能堆多高

贪心,用栈维护

题解链接:https://www.cnblogs.com/Friends-A/p/11571769.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 struct wzy
12 {
13 int a,b,h;
14 }p[maxn];
15 bool cmp(wzy u,wzy v)
16 {
17 if(u.b==v.b)
18 {
19 if(u.a==v.a)
20 return u.h>v.h;
21 return u.a>v.a;
22 }
23 return u.b>v.b;
24 }
25 int main(int argc, char const *argv[])
26 {
27 #ifndef ONLINE_JUDGE
28 freopen("/home/wzy/in.txt", "r", stdin);
29 freopen("/home/wzy/out.txt", "w", stdout);
30 srand((unsigned int)time(NULL));
31 #endif
32 ios::sync_with_stdio(false);
33 cin.tie(0);
34 int n;
35 cin>>n;
36 for(int i=1;i<=n;i++)
37 cin>>p[i].a>>p[i].b>>p[i].h;
38 sort(p+1,p+1+n,cmp);
39 ll ans=1LL*p[1].h;
40 ll sum=1LL*p[1].h;
41 stack<wzy>st;
42 st.push(p[1]);
43 for(int i=2;i<=n;i++)
44 {
45 while(!st.empty()&&(st.top().a>=p[i].b||st.top().b<p[i].b))
46 {
47 sum-=1LL*st.top().h;
48 st.pop();
49 }
50 sum+=1LL*p[i].h;
51 st.push(p[i]);
52 ans=max(ans,sum);
53 }
54 cout<<ans<<endl;
55 #ifndef ONLINE_JUDGE
56 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
57 #endif
58 return 0;
59 }

K题 Cloud of Hashtags

http://codeforces.com/contest/777/problem/D

n个字符串,要求不改变位置,删除最少的字符串的后缀,使这些字符串按照字典序非递减的顺序排列

暴力即可

题解链接:https://www.cnblogs.com/Friends-A/p/11569328.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 vector<string>ve;
12 vector<string>ans;
13 int get_place(string s1,string s2)
14 {
15 int l1=s1.length();
16 int l2=s2.length();
17 int i;
18 for(i=0;i<min(l2,l1);i++)
19 {
20 if(s1[i]<s2[i])
21 return l1;
22 if(s1[i]==s2[i])
23 continue;
24 if(s1[i]>s2[i])
25 return i;
26 }
27 if(i==l2)
28 {
29 if(l1>l2)
30 {
31 if(s1[i-1]==s2[i-1])
32 return l2;
33 else
34 return l1;
35 }
36 }
37 return l1;
38 }
39 int main(int argc, char const *argv[])
40 {
41 #ifndef ONLINE_JUDGE
42 freopen("in.txt", "r", stdin);
43 freopen("out.txt", "w", stdout);
44 srand((unsigned int)time(NULL));
45 #endif
46 ios::sync_with_stdio(false);
47 cin.tie(0);
48 int n;
49 cin>>n;
50 string s;
51 for(int i=0;i<n;i++)
52 {
53 cin>>s;
54 ve.push_back(s);
55 }
56 string s1,s2;
57 ans.push_back(ve[n-1]);
58 for(int i=n-2;i>=0;i--)
59 {
60 s1=ve[i];
61 s2=ans[n-(i+2)];
62 int pos=get_place(s1,s2);
63 string ss;
64 ss=s1.substr(0,pos);
65 ans.push_back(ss);
66 }
67 for(int i=n-1;i>0;i--)
68 cout<<ans[i]<<endl;
69 cout<<ve[n-1]<<endl;
70 #ifndef ONLINE_JUDGE
71 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
72 #endif
73 return 0;
74 }

L题 Game of Credit Cards

http://codeforces.com/contest/777/problem/B

Sherlock和Moriarty有n张卡片,每个卡片上有一个数字,现在有Sherlock和Moriarty 两个人在比较这些卡片上的数字大小,小的数字需要接受惩罚,Sherlock的卡片顺序是固定的,Moriarty的卡片顺序可以随意变动,求Moriarty的最小接受惩罚次数是多少,Sherlock最大惩罚对方的次数是多少

排序比较即可

题解链接:https://www.cnblogs.com/Friends-A/p/11569436.html

 1 #include <bits/stdc++.h>
2 #define ll long long
3 #define ull unsigned long long
4 #define ms(a,b) memset(a,b,sizeof(a))
5 const int inf=0x3f3f3f3f;
6 const ll INF=0x3f3f3f3f3f3f3f3f;
7 const int maxn=1e6+10;
8 const int mod=1e9+7;
9 const int maxm=1e3+10;
10 using namespace std;
11 int s[maxn],m[maxn];
12 int nums[100],numm[100];
13 int main(int argc, char const *argv[])
14 {
15 #ifndef ONLINE_JUDGE
16 freopen("in.txt", "r", stdin);
17 freopen("out.txt", "w", stdout);
18 srand((unsigned int)time(NULL));
19 #endif
20 ios::sync_with_stdio(false);
21 cin.tie(0);
22 int n;
23 string s1,s2;
24 cin>>n;
25 cin>>s1>>s2;
26 for(int i=0;i<n;i++)
27 s[i]=s1[i]-'0',m[i]=s2[i]-'0';
28 sort(s,s+n);
29 sort(m,m+n);
30 int pos1=0;
31 int pos2=0;
32 int res1=0;
33 int res2=0;
34 for(int i=0;i<n;i++)
35 {
36 if(pos1>=n&&pos2>=n)
37 break;
38 while(pos1<n&&m[pos1]<s[i])
39 pos1++;
40 while(pos2<n&&m[pos2]<=s[i])
41 pos2++;
42 if(pos1<n)
43 res1++,pos1++;
44 if(pos2<n)
45 res2++,pos2++;
46 }
47 cout<<n-res1<<endl;
48 cout<<res2<<endl;
49 #ifndef ONLINE_JUDGE
50 cerr<<"Time elapsed: "<<1.0*clock()/CLOCKS_PER_SEC<<" s."<<endl;
51 #endif
52 return 0;
53 }

 

2019HPU-ICPC-Training-1的更多相关文章

  1. sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)

    The Android University ACM Team Selection Contest Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里 ...

  2. SPOJ VLATTICE Visible Lattice Points (莫比乌斯反演基础题)

    Visible Lattice Points Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at ...

  3. HDU 4251 The Famous ICPC Team Again 主席树

    The Famous ICPC Team Again Problem Description   When Mr. B, Mr. G and Mr. M were preparing for the ...

  4. HDOJ 4251 The Famous ICPC Team Again

    划分树水题..... The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 3276 ...

  5. Gym101889B. Buggy ICPC(打表)

    比赛链接:传送门 题目: Problem B – Buggy ICPC Author : Gabriel Poesia, Brasil Alan Curing is a famous sports p ...

  6. HDU 2018 Multi-University Training Contest 3 Problem A. Ascending Rating 【单调队列优化】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6319 Problem A. Ascending Rating Time Limit: 10000/500 ...

  7. HDU 4251 The Famous ICPC Team Again(划分树)

    The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  8. 2017 Multi-University Training Contest - Team 4

    日常绝望系列 Questionnaire HDU - 6075 In order to get better results in official ACM/ICPC contests, the te ...

  9. hdu 4251 The Famous ICPC Team Again划分树入门题

    The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  10. 2015 Multi-University Training Contest 3 hdu 5326 Work

    Work Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

随机推荐

  1. 从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践

    本文来自火山引擎公众号,原文发布于2021-09-06. 近日,字节跳动旗下的企业级技术服务平台火山引擎正式对外发布「ByteHouse」,作为 ClickHouse 企业版,解决开源技术上手难 &a ...

  2. ceph对象存储场景

    安装ceph-radosgw [root@ceph-node1 ~]# cd /etc/ceph # 这里要注意ceph的源,要和之前安装的ceph集群同一个版本 [root@ceph-node1 c ...

  3. Oracle中常用的系统函数

    本文主要来梳理下Oracle中的常用的系统函数,掌握这些函数的使用,对于我们编写SQL语句或PL/SQL代码时很有帮助,所以这也是必须掌握的知识点. 本文主要包括以下函数介绍:1.字符串函数2. 数值 ...

  4. [学习总结]3、Android---Scroller类(左右滑动效果常用的类)

    参考资料:http://blog.csdn.net/vipzjyno1/article/details/24592591 非常感谢这个兄弟! 在android学习中,动作交互是软件中重要的一部分,其中 ...

  5. hadoop基本命令(转)

    在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用. 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop. 启动与关闭 启动HADOOP 进 ...

  6. springMVC WebApplicationInitializer 替代web.xml 配置Servlet 之原理

    Servlet 3.0之前 ,xml  配置 在过去搭建spring + springMCV ,首先第一步要做的是什么 ,就是要配置web.xml 文件 ,把springMVC 中的Servlet 加 ...

  7. 【力扣】337. 打家劫舍 III

    在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根". 除了"根"之外,每栋房子有且只有一个" ...

  8. ASP.NET管道模型简析

    我相信在第一次听到这个名词时,有的小伙伴会一脸懵,而且还有很多疑问,其实我在第一次接触这个概念时跟很多小伙伴一样一脸懵. 接下来我将以我自己的理解来讲述什么是管道模型. 什么是管道模型 首先有没有小伙 ...

  9. 手写Mybatis和Spring整合简单版示例窥探Spring的强大扩展能力

    Spring 扩展点 **本人博客网站 **IT小神 www.itxiaoshen.com 官网地址****:https://spring.io/projects/spring-framework T ...

  10. Jenkins配置代码化

    目录 一.简介 二.init.groovy 脚本命令行调试 一.简介 Jenkins用久了,会有一种莫名的紧张感.因为没人清楚Jenkins都配置了什么,以至于没人敢动它. 但凡使用界面进行配置的都会 ...