题面:https://www.cnblogs.com/Juve/articles/11752338.html https://www.cnblogs.com/Juve/articles/11752414.html

最近咕的稍多,就简单写一下题解了(其实也不算题解),反正就是一句话,而且都是这几套题改完的

模拟87:

maze:

在实数上二分,跑最短路check,spfa比dij快多l

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<cmath>
#define int long long
using namespace std;
const int MAXN=;
int n,m,sx,sy,tx,ty;
int dx[]={,,,-};
int dy[]={,-,,};
bool mp[MAXN][MAXN],vis[MAXN*MAXN];
double s,dis[MAXN*MAXN],l,r,ans;
int calc(int x,int y){
return (x-)*m+y;
}
queue< pair<int,int> >qu;
double spfa(int x,int y,double k){
for(int i=;i<=n;++i)
for(int j=;j<=m;++j) dis[calc(i,j)]=1e11;
//printf("%0.0lf\n",dis[1]);
memset(vis,,sizeof(vis));
int st=calc(x,y);
dis[st]=0.0;
qu.push(make_pair(x,y));
vis[st]=;
while(!qu.empty()){
pair<int,int>p=qu.front();
qu.pop();
int xx=p.first,yy=p.second;
st=calc(xx,yy);
for(int i=;i<;++i){
int a=xx+dx[i],b=yy+dy[i];
if(mp[a][b]==||a<||b<||a>n||b>m) continue;
int c=calc(a,b);
if(i<){
if(dis[c]>dis[st]+1.0){
dis[c]=dis[st]+1.0;
if(!vis[c]) qu.push(make_pair(a,b));
}
}else{
if(dis[c]>dis[st]+k){
dis[c]=dis[st]+k;
if(!vis[c]) qu.push(make_pair(a,b));
}
}
}
vis[st]=;
}
return dis[calc(tx,ty)];
}
priority_queue< pair<double, pair<int,int> > > q;
double dijkstra(int x,int y,double k){
for(int i=;i<=n;++i)
for(int j=;j<=m;++j) dis[calc(i,j)]=1e11;
//printf("%0.0lf\n",dis[1]);
memset(vis,,sizeof(vis));
int st=calc(x,y);
dis[st]=0.0;
q.push(make_pair(0.0,make_pair(x,y)));
while(!q.empty()){
pair<int,int>p=q.top().second;
q.pop();
int xx=p.first,yy=p.second;
st=calc(xx,yy);
if(vis[st]) continue;
vis[st]=;
for(int i=;i<;++i){
int a=xx+dx[i],b=yy+dy[i];
if(mp[a][b]==||a<||b<||a>n||b>m) continue;
int c=calc(a,b);
if(i<){
if(dis[c]>dis[st]+1.0){
dis[c]=dis[st]+1.0;
q.push(make_pair(-dis[c],make_pair(a,b)));
}
}else{
if(dis[c]>dis[st]+k){
dis[c]=dis[st]+k;
q.push(make_pair(-dis[c],make_pair(a,b)));
}
}
}
}
//cout<<calc(tx,ty)<<' '<<dis[calc(tx,ty)]<<endl;
return dis[calc(tx,ty)];
}
signed main(){
//freopen("test.in","r",stdin);
scanf("%lld%lld",&n,&m);
scanf("%lld%lld%lld%lld",&sx,&sy,&tx,&ty);
for(int i=;i<=n;++i){
for(int j=,x;j<=m;++j){
scanf("%lld",&x);
mp[i][j]=x;
}
}
scanf("%lf",&s);
l=,r=s;
while(fabs(r-l)>1e-){
double mid=(r+l)/2.0;
if(dijkstra(sx,sy,mid)<=s) ans=mid,l=mid;
else r=mid;
}
printf("%0.3lf\n",ans);
return ;
}

bird:

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
const int MAXN=5e5+;
int n,k,tot=,f[MAXN],maxx=,ans=;
struct node{
int l,r;
friend bool operator < (node p,node q){
return p.r==q.r?p.l<q.l:p.r<q.r;
}
}b[MAXN];
int c[MAXN],num[MAXN],d[MAXN],in[MAXN];
int max(int a,int b){
return a>b?a:b;
}
int tr[MAXN<<],laz[MAXN<<];
void down(int k){
tr[k<<]+=laz[k],tr[k<<|]+=laz[k];
laz[k<<]+=laz[k],laz[k<<|]+=laz[k];
laz[k]=;
}
void update(int k,int l,int r,int pos,int val){
if(l==r){
tr[k]=val;
return ;
}
if(laz[k]) down(k);
int mid=(l+r)>>;
if(pos<=mid) update(k<<,l,mid,pos,val);
else update(k<<|,mid+,r,pos,val);
tr[k]=max(tr[k<<],tr[k<<|]);
}
void update(int k,int l,int r,int opl,int opr,int val){
if(opl<=l&&r<=opr){
tr[k]+=val,laz[k]+=val;
return ;
}
if(laz[k]) down(k);
int mid=(l+r)>>;
if(opl<=mid) update(k<<,l,mid,opl,opr,val);
if(opr>mid) update(k<<|,mid+,r,opl,opr,val);
tr[k]=max(tr[k<<],tr[k<<|]);
}
int query(int k,int l,int r,int opl,int opr){
if(opl<=l&&r<=opr) return tr[k];
if(laz[k]) down(k);
int mid=(l+r)>>,res=;
if(opl<=mid) res=max(res,query(k<<,l,mid,opl,opr));
if(opr>mid) res=max(res,query(k<<|,mid+,r,opl,opr));
return res;
}
signed main(){
scanf("%lld%lld",&n,&k);
for(int i=,l,r;i<=n;++i){
scanf("%lld%lld",&l,&r);
if(r<) continue;
l=max(,l);++l,++r;
b[++tot]=(node){l,r};
++d[l],--d[r+],++in[l];
maxx=max(maxx,r+);
}
sort(b+,b+tot+);
for(int i=;i<=maxx;++i) d[i]+=d[i-];
int now=,p=;
for(int i=;i<=maxx;++i){
f[i]=d[i]+query(,,maxx,max(,i-*k),max(,i-k));
ans=max(f[i],ans);
now+=in[i];
update(,,maxx,i,f[i]-now);
while(p<=tot&&b[p].r==i){
--now;
update(,,maxx,b[p].l,b[p].r,);
++p;
}
}
printf("%lld\n",ans);
return ;
}

stone:

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
const int MAXN=1e6+;
int n,m,ans=,l[MAXN],r[MAXN],sum[][][MAXN];
char s1[MAXN],s2[MAXN];
signed main(){
scanf("%s%s",s1+,s2+);
n=strlen(s1+),m=strlen(s2+);
int p=;
for(int i=;i<=n;++i){
l[i]=p;
if(s1[i]==s2[p]) ++p;
}
p=;
for(int i=;i<=m;++i){
if(s2[i]==s1[p]) ++p;
r[p]=min(i+,m);
}
if(r[]==) r[]=;
for(int i=;i<=n;++i){
if(!r[i]) r[i]=m;
ans+=r[i]-l[i]+;
}
for(int i=;i<=m;++i){
for(int k1=;k1<;++k1)
for(int k2=;k2<;++k2){
sum[k1][k2][i]=sum[k1][k2][i-];
}
++sum[s2[i]-'A'][s2[i-]-'A'][i];
}
for(int i=;i<=n;++i){
if(s1[i-]!=s1[i])
ans-=sum[s1[i-]-'A'][s1[i]-'A'][r[i]]-sum[s1[i-]-'A'][s1[i]-'A'][l[i]-];
//cout<<i<<' '<<ans<<' '<<s1[i-1]-'A'<<' '<<s1[i]-'A'<<endl;
}
printf("%lld\n",ans);
return ;
}

模拟88:

军训队列:

排序一定不会更劣,

设f[i][j]表示前i个分了j个队列的最小值,则有方程:$f[i][j]=min(f[p][j-1]+(a[i]-a[p])^2),p\in[1,i]$

然后我们发现值域很小,unique后就能过了,当然也可以斜率优化

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
const int MAXN=1e5+;
int n,k;
double a[MAXN],f[MAXN][],ans;
signed main(){
scanf("%lld%lld",&n,&k);
memset(f,,sizeof(f));
for(int i=;i<=n;++i){
scanf("%lf",&a[i]);
}
f[][]=;
sort(a+,a+n+);
n=unique(a+,a+n+)-a-;
for(int i=;i<=n;++i){
for(int j=;j<=min(i,k);++j)
for(int p=;p<=i;++p){
f[i][j]=min(f[i][j],f[p-][j-]+(a[i]-a[p])*(a[i]-a[p]));
}
}
printf("%0.2lf\n",f[n][min(n,k)]);
return ;
}

山屋惊魂:模拟+概率

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
double res[][],f[][][][][],ans[][],dead;
char ch[];
int p[],ww[][],n;
int cal(){
if(ch[]=='M') return ;
else if(ch[]=='p') return ;
else if(ch[]=='a') return ;
else return ;
}
int calc(){
int len=strlen(ch+);
if(len==){
if(ch[]=='>') return ;
else return ;
}else{
if(ch[]=='<') return ;
else return ;
}
}
void work1(int tim,int pos,int val){
for(int i=;i<=;++i){
for(int j=;j<=;++j){
for(int p=;p<=;++p){
for(int q=,now;q<=;++q){
if(pos==){
if(i+val<=) continue;
now=min(,i+val);
f[tim][now][j][p][q]+=f[tim-][i][j][p][q];
}else if(pos==){
if(j+val<=) continue;
int now=min(,j+val);
f[tim][i][now][p][q]+=f[tim-][i][j][p][q];
}else if(pos==){
if(p+val<=) continue;
now=min(,p+val);
f[tim][i][j][now][q]+=f[tim-][i][j][p][q];
}else{
if(q+val<=) continue;
now=min(,q+val);
f[tim][i][j][p][now]+=f[tim-][i][j][p][q];
}
}
}
}
}
}
void work2(int tim,int pos,int flag,int val){
for(int i=;i<=;++i){
for(int j=;j<=;++j){
for(int p=;p<=;++p){
for(int q=,now;q<=;++q){
for(int k=;k<=*val;++k){
if(pos==){
if(i+flag*k<=) continue;
now=min(,i+flag*k);
f[tim][now][j][p][q]+=f[tim-][i][j][p][q]*res[val][k];
}else if(pos==){
if(j+flag*k<=) continue;
int now=min(,j+flag*k);
f[tim][i][now][p][q]+=f[tim-][i][j][p][q]*res[val][k];
}else if(pos==){
if(p+flag*k<=) continue;
now=min(,p+flag*k);
f[tim][i][j][now][q]+=f[tim-][i][j][p][q]*res[val][k];
}else{
if(q+flag*k<=) continue;
now=min(,q+flag*k);
f[tim][i][j][p][now]+=f[tim-][i][j][p][q]*res[val][k];
}
}
}
}
}
}
}
void work3(int tim,int pos1,int fh,int lim,int pos2,int flag,int val){//第几次,用pos1判定,符号,判定的数,给谁改变,加还是减,加或减多少
val*=flag;
for(int i=;i<=;++i){
for(int j=;j<=;++j){
for(int p=;p<=;++p){
for(int q=;q<=;++q){
double ban=0.0;
for(int k=;k<=;++k){
if(fh==){//<
if(pos1==) ban+=(k<lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k<lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k<lim)*res[ww[][p]][k];
else ban+=(k<lim)*res[ww[][q]][k];
}else if(fh==){//<=
if(pos1==) ban+=(k<=lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k<=lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k<=lim)*res[ww[][p]][k];
else ban+=(k<=lim)*res[ww[][q]][k];
}else if(fh==){//>
if(pos1==) ban+=(k>lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k>lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k>lim)*res[ww[][p]][k];
else ban+=(k>lim)*res[ww[][q]][k];
}else{//>=
if(pos1==) ban+=(k>=lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k>=lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k>=lim)*res[ww[][p]][k];
else ban+=(k>=lim)*res[ww[][q]][k];
}
}
f[tim][i][j][p][q]+=(1.0-ban)*f[tim-][i][j][p][q];
int now;
if(pos2==){
if(i+val<=) continue;
now=min(,i+val);
f[tim][now][j][p][q]+=ban*f[tim-][i][j][p][q];
}else if(pos2==){
if(j+val<=) continue;
int now=min(,j+val);
f[tim][i][now][p][q]+=ban*f[tim-][i][j][p][q];
}else if(pos2==){
if(p+val<=) continue;
now=min(,p+val);
f[tim][i][j][now][q]+=ban*f[tim-][i][j][p][q];
}else{
if(q+val<=) continue;
now=min(,q+val);
f[tim][i][j][p][now]+=ban*f[tim-][i][j][p][q];
}
}
}
}
}
}
void work4(int tim,int pos1,int fh,int lim,int pos2,int flag,int val){
for(int i=;i<=;++i){
for(int j=;j<=;++j){
for(int p=;p<=;++p){
for(int q=;q<=;++q){
double ban=0.0;
for(int k=;k<=;++k){
if(fh==){//<
if(pos1==) ban+=(k<lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k<lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k<lim)*res[ww[][p]][k];
else ban+=(k<lim)*res[ww[][q]][k];
}else if(fh==){//<=
if(pos1==) ban+=(k<=lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k<=lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k<=lim)*res[ww[][p]][k];
else ban+=(k<=lim)*res[ww[][q]][k];
}else if(fh==){//>
if(pos1==) ban+=(k>lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k>lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k>lim)*res[ww[][p]][k];
else ban+=(k>lim)*res[ww[][q]][k];
}else{//>=
if(pos1==) ban+=(k>=lim)*res[ww[][i]][k];
else if(pos1==) ban+=(k>=lim)*res[ww[][j]][k];
else if(pos1==) ban+=(k>=lim)*res[ww[][p]][k];
else ban+=(k>=lim)*res[ww[][q]][k];
}
}
f[tim][i][j][p][q]+=(1.0-ban)*f[tim-][i][j][p][q];
for(int k=,now;k<=*val;++k){
if(pos2==){
if(i+flag*k<=) continue;
now=min(,i+flag*k);
f[tim][now][j][p][q]+=ban*f[tim-][i][j][p][q]*res[val][k];
}else if(pos2==){
if(j+flag*k<=) continue;
int now=min(,j+flag*k);
f[tim][i][now][p][q]+=ban*f[tim-][i][j][p][q]*res[val][k];
}else if(pos2==){
if(p+flag*k<=) continue;
now=min(,p+flag*k);
f[tim][i][j][now][q]+=ban*f[tim-][i][j][p][q]*res[val][k];
}else{
if(q+flag*k<=) continue;
now=min(,q+flag*k);
f[tim][i][j][p][now]+=ban*f[tim-][i][j][p][q]*res[val][k];
}
}
}
}
}
}
}
int main(){
res[][]=1.0;
for(int i=;i<=;++i){
for(int j=;j<;++j)
for(int k=j;k<=;++k)
res[i][k]+=res[i-][k-j]/3.0;
}
for(int i=;i<;++i){
scanf("%s",ch+);
for(int j=;j<=;++j)
ww[i][j]=ch[j]-'';
scanf("%d",&p[i]);
}
f[][p[]][p[]][p[]][p[]]=100.0;
scanf("%d",&n);
for(int i=;i<=n;++i){
scanf("%s",ch+);
int j=cal();
scanf("%s",ch+);
int len=strlen(ch+);
if(len==&&ch[]!='>'&&ch[]!='<'){
int flag=(ch[]=='+')?:-;
int val=ch[]-'';
work1(i,j,flag*val);
}else if(len==){
int flag=(ch[]=='+')?:-;
int val=ch[]-'';
work2(i,j,flag,val);
}else{
int fh=calc(),lim,k;
scanf("%d%s",&lim,ch+);
k=cal();
scanf("%s",ch+);
int len=strlen(ch+);
int flag=(ch[]=='+')?:-;
int val=ch[]-'';
if(len==) work3(i,j,fh,lim,k,flag,val);
else work4(i,j,fh,lim,k,flag,val);
}
}
for(int k=;k<;++k){
for(int i=;i<=;++i)
for(int j=;j<=;++j)
for(int p=;p<=;++p)
for(int q=;q<=;++q){
if(k==) ans[][ww[][i]]+=f[n][i][j][p][q];
if(k==) ans[][ww[][j]]+=f[n][i][j][p][q];
if(k==) ans[][ww[][p]]+=f[n][i][j][p][q];
if(k==) ans[][ww[][q]]+=f[n][i][j][p][q];
}
}
for(int i=;i<=;++i) dead+=ans[][i];
dead=100.0-dead;
printf("%0.2lf\n",dead);
for(int k=;k<;++k){
for(int i=;i<=;++i)
printf("%0.2lf ",ans[k][i]);
puts("");
}
return ;
}

彩球问题:记忆化搜索+高精

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
int n,k[],n1,n2,n3;
bool vis[][][][];
struct bigint{
int m[];
bigint(){
memset(m,,sizeof(m));
m[]=;
}
friend bigint operator + (bigint a,bigint b){
int x=;
bigint c;
c.m[]=max(a.m[],b.m[]);
for(int i=;i<=a.m[]||i<=b.m[];++i){
c.m[i]=a.m[i]+b.m[i]+x;
x=c.m[i]/;
c.m[i]%=;
}
while(x) c.m[++c.m[]]=x%,x/=;
return c;
}
friend void operator += (bigint &a,bigint b){
a=a+b;
}
friend bigint operator * (int a,bigint b){
int x=;
bigint c;
c.m[]=b.m[];
for(int i=;i<=b.m[];++i){
c.m[i]=b.m[i]*a+x;
x=c.m[i]/;
c.m[i]%=;
}
while(x) c.m[++c.m[]]=x%,x/=;
return c;
}
}f[][][][];
void print(bigint a){
for(int i=;i<=a.m[];++i){
printf("%lld",a.m[a.m[]-i+]);
}
puts("");
}
bigint dfs(int i,int j,int k,int x){
bigint res;
res.m[]=res.m[]=;
if(i+j+k==) return res;
if(vis[i][j][k][x]) return f[i][j][k][x];
bigint ans;
if(i) ans+=(i-(x==))*dfs(i-,j,k,);
if(j) ans+=(j-(x==))*dfs(i+,j-,k,);
if(k) ans+=(k-(x==))*dfs(i,j+,k-,);
vis[i][j][k][x]=;
return f[i][j][k][x]=ans;
}
signed main(){
scanf("%lld",&n);
for(int i=;i<=n;++i){
scanf("%lld",&k[i]);
n1+=(k[i]==);
n2+=(k[i]==);
n3+=(k[i]==);
}
print(dfs(n1,n2,n3,));
return ;
}

邻面合并:

状压dp

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,a[][],ans=0x3f3f3f3f;
int b[],f[][(<<)+];
bool judge(int now,int sta){
bool flag=;
for(int i=;i<=m;++i){
if(sta&(<<(i-))) flag=;
if(a[now][i]==&&flag==) return ;
if(!a[now][i]) flag=;
if((sta&(<<(i-)))&&a[now][i]==) return ;
}
return ;
}
int lowbit(int x){
return x&-x;
}
int cal(int sta){
int res=;
while(sta>){
sta-=lowbit(sta);
++res;
}
return res;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;++i){
for(int j=;j<=m;++j){
scanf("%d",&a[i][j]);
b[i]|=(a[i][j]<<(j-));
}
}
memset(f,0x3f,sizeof(f));
f[][]=;
for(int i=;i<=n;++i){
for(int s1=;s1<(<<m);++s1){
if(!judge(i,s1)) continue;
for(int s2=;s2<(<<m);++s2){
if(!judge(i-,s2)) continue;
int cnt=cal(s1);
for(int j=;j<=m;++j){
if((s1&(<<(j-)))&&(s2&(<<(j-)))){
int pos=j;
while(pos<=m&&a[i][pos]){
if(pos!=j&&(s1&(<<(pos-)))) break;
++pos;
}
--pos;
bool flag=;
if(!(s2&(<<pos)||(!a[i-][pos+]))) flag=;
for(int k=j+;k<=pos;++k){
if(flag) break;
if((s2&(<<(k-)))||(!a[i-][k])) flag=;
}
if(!flag) --cnt;
}
}
f[i][s1]=min(f[i][s1],f[i-][s2]+cnt);
if(i==n) ans=min(ans,f[i][s1]);
}
}
}
printf("%d\n",ans);
return ;
}
/*
4 4
1 1 1 0
1 1 0 1
0 0 1 1
0 0 1 1
4 4 4
1 1 1 0
0 1 1 1
0 1 1 1
0 1 1 1
2 5 4
1 1 0 1
1 1 1 1
1 1 0 1
0 0 1 1
0 0 1 1
4 8 4
1 1 1 1
0 1 0 0
0 1 0 0
1 1 1 0
1 1 1 0
1 1 1 1
0 1 1 1
0 0 1 1
5 8 4
1 1 1 1
0 1 1 0
0 1 0 0
1 1 1 0
1 1 1 0
1 1 1 1
0 1 1 1
0 0 1 1
6 4 11
1 1 1 0 1 1 0 0 1 0 0
1 1 0 0 1 1 0 0 1 1 0
1 0 0 0 1 0 0 0 1 1 1
1 1 1 1 1 0 0 1 1 0 0
*/

123567:

杜教筛,啥都不会

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<unordered_map>
#include<cmath>
#define re register
using namespace std;
long long n,ans;
int N,prime[],tot=;
unordered_map<int,int>mp;
short mu[];
bool vis[];
inline void get_mu(re int N){
vis[]=mu[]=;
for(re int i=;i<=N;++i){
if(!vis[i]) prime[++tot]=i,mu[i]=-;
for(re int j=;i*prime[j]<=N;++j){
vis[i*prime[j]]=;
if(!(i%prime[j])) break;
mu[i*prime[j]]=-mu[i];
}
mu[i]+=mu[i-];
}
}
inline int sum(re int x){
if(x<=N) return mu[x];
if(mp.find(x)!=mp.end()) return mp[x];
re int res=;
for(re int l=,r;l<=x;l=r+){
r=x/(x/l);
res=res-sum(x/r)*(r-l+);
}
return mp[x]=res;
}
signed main(){
scanf("%lld",&n);
N=min(1e7,sqrt(n));
get_mu(N);
for(re long long l=,r;l*l<=n;l=r+){
r=sqrt(n/(n/(l*l)));
ans=ans+n/(r*r)*(sum(r)-sum(l-));
}
printf("%lld\n",ans);
return ;
}

最新文章

  1. 用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库
  2. Delphi XE5教程5:程序的结构和语法
  3. @JsonFormat时间不对
  4. HTML页面之间跳转与传值(JS代码)
  5. 检查ORACLE的警告文件的脚本
  6. 帝国cms留言表模板修改
  7. 足球和oracle系列(3):oracle过程排名,世界杯第二回合战罢到来!
  8. 关于TOE(TCP/IP Offload Engine)
  9. 合并Spark社区代码的正确姿势
  10. JAVA提高七:类加载器
  11. JSON Schema 校验实例
  12. MySQL慢查询优化 EXPLAIN详解
  13. openssh升级的坑爹之路
  14. Python学习——collections系列
  15. Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS
  16. C语言atoi函数(将字符串转化为int)
  17. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)
  18. Vue 不睡觉教程2 - 洋气的文件结构
  19. 3.2 Spark内置RPC框架
  20. Ubuntu 16.04 安装Postman

热门文章

  1. css切角效果,折角效果
  2. C#异步编程----async和await组合的写法
  3. zic2xpm - 将 ZIICS 象棋片段 (chess pieces) 转换为 XBoard (XPM/XIM) 片段的工具。
  4. 笔记56 Mybatis快速入门(七)
  5. SpringCloud+Eureka+Feign+Ribbon+zuul的简化搭建流程和CRUD练习
  6. Go Mixed 变量声明
  7. Android中的SrollView滚动详解
  8. 依赖背包优化——ural1018,金明的预算方案
  9. 40 VSCode下.json文件的编写——(1) linux/g++ (2).json中参数与预定义变量的意义解释
  10. 用pytorch进行CIFAR-10数据集分类