「CSP-S模拟赛」2019第四场
「CSP-S模拟赛」2019第四场
- T1 「JOI 2014 Final」JOI 徽章
- 题目
- 考场思考(正解)
- T2 「JOI 2015 Final」分蛋糕 2
- 题目
- 考场思考(正解)
- T3 「CQOI2014」数三角形
- 题目
- 考场思考
- 正解
这场考试还是同一个感觉:听音乐误事啊…
把 T1、T2T1、T2T1、T2 码出来之后,听音乐听到不想做题,但是 T3T3T3 又是一个注重思考的题…然后,我暴力都没码出来。
其实这次题的 T3T3T3 还是可做的,下次 好像就是 CSP 了 不要那么浪了…
T1 「JOI 2014 Final」JOI 徽章
题目
点这里
考场思考(正解)
一道签到题。
考虑暴力枚举被修改的点,而这个点被修改之后,最多只会多产生 444 个徽章,暴力匹配就好。
#include<cstdio>#define rep(i,__l,__r) for(int i=__l,i##_end_=__r;i<=i##_end_;++i)
#define dep(i,__l,__r) for(int i=__l,i##_end_=__r;i>=i##_end_;--i)
// #define FILEOI#define cg (c=getchar())
template<class T>inline void qread(T& x){x=0;char c;bool f=0;while(cg<'0'||'9'<c)if(c=='-')f=1;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));if(f)x=-x;
}
template<class T,class... Args>inline void qread(T& x,Args&... args){qread(x),qread(args...);}
inline int qread(){int x=0;char c;bool f=1;while(cg<'0'||'9'<c)if(c=='-')f=0;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));return f?x:-x;
}
#undef cg
template<class T>inline T Max(const T x,const T y){return x>y?x:y;}
template<class T>inline T Min(const T x,const T y){return x<y?x:y;}
template<class T>inline T fab(const T x){return x>0?x:-x;}
inline void getInv(int inv[],const int r,const int MOD)
{inv[0]=inv[1]=1;for(int i=2;i<=r;++i)inv[i]=1ll*inv[MOD%i]*(MOD-MOD/i)%MOD;}
template<class T>void fwrit(const T x){if(x<0)return (void)(putchar('-'),fwrit(-x));if(x>9)fwrit(x/10);putchar(x%10^48);
}const int MAXN=1000;
const int MAXM=1000;
const char letter[]={'J','O','I'};int N,M,ians,tot[MAXN+5][MAXM+5],ans;
char sig[5][5],flg[MAXN+5][MAXM+5];inline void init(){qread(N,M);rep(i,1,N)scanf("%s",flg[i]+1);// fwrit(N),putchar(' '),fwrit(M),putchar('\n');scanf("%s",sig[1]+1);scanf("%s",sig[2]+1);/*rep(i,1,N){rep(j,1,M)putchar(flg[i][j]);putchar('\n');}rep(i,1,2){rep(j,1,2)putchar(sig[i][j]);putchar('\n');}*/
}inline void alter(const int i,const int j){++tot[i][j];++tot[i][j+1];++tot[i+1][j];++tot[i+1][j+1];
}inline int chk(const int i,const int j){int ret=0;ret+=(flg[i][j]!=sig[1][1]);ret+=(flg[i][j+1]!=sig[1][2]);ret+=(flg[i+1][j]!=sig[2][1]);ret+=(flg[i+1][j+1]!=sig[2][2]);// printf("chk(%d,%d)==%d\n",i,j,ret);return ret;
}inline bool inside(const int i,const int j){return 0<i&&i<=N&&0<j&&j<=M;
}inline void find_change(){int tmp;char memo;rep(i,1,N)rep(j,1,M){tmp=ians-tot[i][j],memo=flg[i][j];rep(k,0,2)if(letter[k]!=memo){tmp=ians-tot[i][j];flg[i][j]=letter[k];if(inside(i-1,j-1)&&chk(i-1,j-1)==0)++tmp;if(inside(i-1,j)&&inside(i,j+1)&&chk(i-1,j)==0)++tmp;if(inside(i,j-1)&&inside(i+1,j)&&chk(i,j-1)==0)++tmp;if(inside(i+1,j+1)&&chk(i,j)==0)++tmp;ans=Max(ans,tmp);}flg[i][j]=memo;}
}signed main(){#ifdef FILEOIfreopen("badge.in","r",stdin);freopen("badge.out","w",stdout);
#endifinit();rep(i,1,N-1)rep(j,1,M-1)if(chk(i,j)==0)++ians,alter(i,j);ans=ians;// fwrit(ans);find_change();fwrit(ans),putchar('\n');return 0;
}
T2 「JOI 2015 Final」分蛋糕 2
题目
点这里
考场思考(正解)
其实,我们这道题没有必要破环为链。
那么我们怎么做呢?我们允许我们的搜索,或者是 DPDPDP 中存在 l>rl>rl>r 的区间。
而这样的存在,其实就是下面这样的。
而我们怎么执行 LLL 与 RRR 的移动呢?
看下面这段代码 其实就一行 :
inline int getPos(const int p){return (p+N-1)%N+1;}
这样,我们首先保证了这个位置是处在 [1,N][1,N][1,N] 之间,不会越界。
接下来,怎么做?
我成绩太差了,只能考虑暴力…
考虑定义一个大法师(dfs)函数:
inline int dfs(const int l,const int r,const int cost,const bool Now,const int tot)
这个函数表示我们已经选了区间 [l,r][l,r][l,r] (不保证 l≤rl\le rl≤r)的全部的蛋糕,而此时我们得到的价值是 costcostcost,现在是 NowNowNow 的回合(Now=0Now=0Now=0 表示 IOIIOIIOI 的回合)时,还有 tottottot 个部分的蛋糕没有选的时候(其实 tottottot 这一维可以省掉,但是我懒得写了 嘿嘿嘿… )
那么,我们可以很简单地打出一个暴力,如下:
#include<cstdio>#define rep(i,__l,__r) for(int i=__l,i##_end_=__r;i<=i##_end_;++i)
#define dep(i,__l,__r) for(int i=__l,i##_end_=__r;i>=i##_end_;--i)
// #define FILEOI
#define int long long#define cg (c=getchar())
template<class T>inline void qread(T& x){x=0;char c;bool f=0;while(cg<'0'||'9'<c)if(c=='-')f=1;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));if(f)x=-x;
}
template<class T,class... Args>inline void qread(T& x,Args&... args){qread(x),qread(args...);}
inline int qread(){int x=0;char c;bool f=1;while(cg<'0'||'9'<c)if(c=='-')f=0;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));return f?x:-x;
}
#undef cg
template<class T>inline T Max(const T x,const T y){return x>y?x:y;}
template<class T>inline T Min(const T x,const T y){return x<y?x:y;}
template<class T>inline T fab(const T x){return x>0?x:-x;}
inline void getInv(int inv[],const int r,const int MOD)
{inv[0]=inv[1]=1;for(int i=2;i<=r;++i)inv[i]=1ll*inv[MOD%i]*(MOD-MOD/i)%MOD;}
template<class T>void fwrit(const T x){if(x<0)return (void)(putchar('-'),fwrit(-x));if(x>9)fwrit(x/10);putchar(x%10^48);
}const int MAXN=2000;
int N,ans,a[MAXN+5];
int f[MAXN+5][MAXN+5][2];
inline int getPos(const int p){return (p+N-1)%N+1;
}inline void init(){qread(N);rep(i,1,N)qread(a[i]);
}inline int dfs(const int l,const int r,const int cost,const bool Now,const int tot){if(tot==0)return cost;int ans1=0,ans2=0;if(Now==0){if(a[getPos(l-1)]<a[getPos(r+1)])ans1=dfs(l,getPos(r+1),cost,1,tot-1);else ans1=dfs(getPos(l-1),r,cost,1,tot-1);}else{ans1=dfs(getPos(l-1),r,cost+a[getPos(l-1)],0,tot-1);ans2=dfs(l,getPos(r+1),cost+a[getPos(r+1)],0,tot-1);}return Max(ans1,ans2);
}signed main(){#ifdef FILEOIfreopen("divide.in","r",stdin);freopen("divide.out","w",stdout);
#endifinit();for(int i=1;i<=N;++i){int ret=dfs(i,i,a[i],0,N-1);ans=Max(ans,ret);}fwrit(ans),putchar('\n');return 0;
}
/*
f[i][j]:可选的蛋糕从 i -> j2 8 1 10 9j\i 1 2 3 4 51 82 13 12 12 104 9 2 115 2*/
但是,如果就仅仅是这个代码,很遗憾,你只能得 15pts15pts15pts。
怎么朝更高的得分奋斗?
很容易想到——记忆化
但是如果你用一个三维状态 f[i][j][0∣1]f[i][j][0|1]f[i][j][0∣1] 来记忆代码中的 l,r,Nowl,r,Nowl,r,Now 的话,发现正确性不能保证?
至于为什么可以自己去推一下。
考虑倒着进行记忆化。
定义状态 f[l][r][0∣1]f[l][r][0|1]f[l][r][0∣1]:先手为 0∣10|10∣1 时选区间 [l,r][l,r][l,r] 能取到的最大值。
那么我们可以在每次 dfsdfsdfs 之后得到这个记忆化
f[getPos(l-1)][getPos(r+1)][Now]=Max(ans1,ans2)-cost;
什么意思?
假设我们已经搜到区间 [l,r][l,r][l,r],根据大法师的定义,我们已经取完了区间 [l,r][l,r][l,r] 中的蛋糕。
那么显然,没有取的蛋糕的区间就是 [getPos(l−1),getPos(r+1)][getPos(l-1),getPos(r+1)][getPos(l−1),getPos(r+1)]。
而 Max(ans1,ans2)Max(ans1,ans2)Max(ans1,ans2) 为最终我们选完所有蛋糕(即区间 [1,N][1,N][1,N])后的最大取值,再减去我们当前搜索的区间(即区间 [l,r][l,r][l,r]),然后就可以得到选区间 [getPos(l−1),getPos(r+1)][getPos(l-1),getPos(r+1)][getPos(l−1),getPos(r+1)] 中蛋糕能得到的最大值。
附代码 因为是记忆化搜索,所以跑得还是有点慢
#include<cstdio>#define rep(i,__l,__r) for(register int i=__l,i##_end_=__r;i<=i##_end_;++i)
#define dep(i,__l,__r) for(register int i=__l,i##_end_=__r;i>=i##_end_;--i)
// #define FILEOI
#define int long long#define cg (c=getchar())
template<class T>inline void qread(T& x){x=0;char c;bool f=0;while(cg<'0'||'9'<c)if(c=='-')f=1;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));if(f)x=-x;
}
template<class T,class... Args>inline void qread(T& x,Args&... args){qread(x),qread(args...);}
inline int qread(){int x=0;char c;bool f=1;while(cg<'0'||'9'<c)if(c=='-')f=0;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));return f?x:-x;
}
#undef cg
template<class T>inline T Max(const T x,const T y){return x>y?x:y;}
template<class T>inline T Min(const T x,const T y){return x<y?x:y;}
template<class T>inline T fab(const T x){return x>0?x:-x;}
inline void getInv(int inv[],const int r,const int MOD)
{inv[0]=inv[1]=1;for(int i=2;i<=r;++i)inv[i]=1ll*inv[MOD%i]*(MOD-MOD/i)%MOD;}
template<class T>void fwrit(const T x){if(x<0)return (void)(putchar('-'),fwrit(-x));if(x>9)fwrit(x/10);putchar(x%10^48);
}const int MAXN=2000;
int N,ans,a[MAXN+5],f[MAXN+5][MAXN+5][2];
//f[i][j][0|1] : 区间 [i,j] 是还没有被选过时, 现在是 IOI/JOI 的情况时能选到的最大值inline int getPos(const int p){return (p+N-1)%N+1;}inline void init(){qread(N);rep(i,1,N)qread(a[i]);
}inline int dfs(const int l,const int r,const int cost,const bool Now,const int tot){if(f[getPos(l-1)][getPos(r+1)][Now])return f[getPos(l-1)][getPos(r+1)][Now]+cost;if(tot==0)return cost;int ans1=0,ans2=0;if(Now==0){if(a[getPos(l-1)]<a[getPos(r+1)])ans1=dfs(l,getPos(r+1),cost,1,tot-1);else ans1=dfs(getPos(l-1),r,cost,1,tot-1);}else{ans1=dfs(getPos(l-1),r,cost+a[getPos(l-1)],0,tot-1);ans2=dfs(l,getPos(r+1),cost+a[getPos(r+1)],0,tot-1);}f[getPos(l-1)][getPos(r+1)][Now]=Max(ans1,ans2)-cost;return Max(ans1,ans2);
}signed main(){#ifdef FILEOIfreopen("divide.in","r",stdin);freopen("divide.out","w",stdout);
#endifinit();for(int i=1;i<=N;++i){int ret=dfs(i,i,a[i],0,N-1);ans=Max(ans,ret);}fwrit(ans),putchar('\n');return 0;
}
T3 「CQOI2014」数三角形
题目
点这里
考场思考
听歌听到兴头上,不要打扰我…
虽然写道这里我也在听歌…
正解
其实这道题还是可做的。
膜拜 luoguluoguluogu 大佬 orz or2 orz
膜拜 机房大佬 JZM\text{JZM}JZM orz or2 orz
其实我与 机房大佬 JZM\text{JZM}JZM 的思路如出一辙
因为我们都看了同一篇博客
回到正题,这道题怎么做?
子方法 1
先想怎么得到一点部分分。
考虑暴力
暴力枚举 p1,p2,p3p_1,p_2,p_3p1,p2,p3 的横纵坐标。
其实很好实现,时间复杂度 O(N3M3)O(N^3M^3)O(N3M3)
我考试的时候居然连这个都没打
子方法 2 (正解)
现在应该朝更高的得分去奋斗。
转换思考方向,我们要找的这些三角形有怎样的特点呢?
先看一个网格中的三角形:
似乎它和我们平常看到的三角形没啥不同的。
但是如果你这样看呢?
不难看出,△BCE\triangle BCE△BCE 被矩形 ABCDABCDABCD 完全包围。
但是这里要否决一种情况,如下:
这个三角形不能说是被整个矩形完全包围的,还有更小的矩阵更 适合
它。
用这样的眼光去看每一个三角形,不难看出,每一个三角形都被某一个矩形所围起来。
调转思路,我们要求大矩阵 (N,M)(N,M)(N,M) 中有多少个这样的三角形,是否就是被包含在 (N,M)(N,M)(N,M) 中的每一个小矩阵中所含的三角形个数之和?
正确性显然,证明此处不给出。
那么,引出下一个问题:如何快速求出一个矩阵 (i,j)(i,j)(i,j) 中含有多少个被其完全包围的三角形?
这里分开讨论:
情况 1
形如以下被包围的三角形:
其实也可以叫做:
有且只有一个顶点与矩形顶点重合
就用上图情况来说,F、DF、DF、D 的位置有多少个?
显然:(i−1)(j−1)(i-1)(j-1)(i−1)(j−1) 个 (不与顶点重合)
有四个顶点,共 4(i−1)(j−1)4(i-1)(j-1)4(i−1)(j−1) 个。
情况 2
这里不再附图,直接描述
有且只有两个点与矩形顶点重合,并且这两个点不是矩形对角线
这样的情况有多少?先给出一张初始图:
先假设有一个点已与矩形顶点重合,不妨假设 DDD 已与 CCC 重合。
再假设 HHH 与 EEE 重合
那么显然,GGG 只能在线段 ABABAB 上动,共有 i−1i-1i−1 个合法位置 (不能与顶点重合)。
那么,如果 GGG 与 BBB 重合时呢?
这时 HHH 只能在 AEAEAE 上动,公共 j−1j-1j−1 个合法位置。
而每种情况最多出现两次,共 2[(i−1)+(j−1)]2[(i-1)+(j-1)]2[(i−1)+(j−1)] 种情况。
情况 3
形如以下的三角形:
我们把它叫做
有且只有两个点与矩形顶点重合,且这两个点构成矩形对角线
这样的情况其实有些复杂,因为这个 PPP 点显然可以随便取 除非它跑出矩形去或者在 DF 这条线上
首先,不考虑它跑到 DFDFDF 线段上去了。
那么这样的点有多少个?
显然有 (i+1)(j+1)−4(i+1)(j+1)-4(i+1)(j+1)−4 个,为什么 −4-4−4 ?它不能与矩形顶点重合。
那么,现在考虑在 DFDFDF 上有多少个点。
首先,我们假设当 P(x,y)P(x,y)P(x,y) 时在 DFDFDF 上,那么就有:
Dy−FyDx−Fx=y−Fyx−Fx\frac{D_y-F_y}{D_x-F_x}=\frac{y-F_y}{x-F_x}Dx−FxDy−Fy=x−Fxy−Fy接下来怎么化简?
对于任意一条线段,假若我们把它平移到某个端点与原点重合时,它所经过的整点的数量是不变的。
那么我们假设把 FFF 平移到 OOO 上面去,那么就有:
DyDx=yx\frac{D_y}{D_x}=\frac{y}{x}DxDy=xy而其中 x,yx,yx,y 是整数。
接下来,这 x,yx,yx,y 有哪些取值?
这样打开:
p×gcd(Dx,Dy)q×gcd(Dx,Dy)=yx\frac{p\times gcd(D_x,D_y)}{q\times gcd(D_x,D_y)}=\frac{y}{x}q×gcd(Dx,Dy)p×gcd(Dx,Dy)=xy
那么,显然可以看出:
当 x=qx=qx=q 时,y=py=py=p
当 x=q×2x=q\times 2x=q×2 时,y=p×2y=p\times 2y=p×2
当 x=q×3x=q\times 3x=q×3 时,y=p×3y=p\times 3y=p×3
…当 x=q×gcd(Dx,Dy)=Dxx=q\times gcd(D_x,D_y)=D_xx=q×gcd(Dx,Dy)=Dx 时,y=p×gcd(Dx,Dy)=Dyy=p\times gcd(D_x,D_y)=D_yy=p×gcd(Dx,Dy)=Dy
要问 x,yx,yx,y 有多少组取值?显然 gcd(Dx,Dy)gcd(D_x,D_y)gcd(Dx,Dy) 种。
但是,去掉端点,就只有 gcd(Dx,Dy)−1gcd(D_x,D_y)-1gcd(Dx,Dy)−1 种。
但是每个矩形一共有两条对角线 不可能有只有一条对角线的长方形吧
所以一共有 2×(gcd(lenx,leny)−1)2\times (gcd(len_x,len_y)-1)2×(gcd(lenx,leny)−1) 种三角形。
注意我这里所用的是长度,因为我们之前为了处理方便,将 FFF 点假定为了原点。
情况 4
当三个点都与矩形重合时,有多少种情况呢?
对于每一个矩形来说,应该都是固定的吧。
一共有 444 个。
一共的情况,就只有这四种,那么,我们将这些贡献全部加起来,得到w=4(i−1)(j−1)+2[(i−1)+(j−1)]+2[gcd(i,j)−1]+4=6ij−2×gcd(i,j)w=4(i-1)(j-1)+2[(i-1)+(j-1)]+2[gcd(i,j)-1]+4=6ij-2\times gcd(i,j)w=4(i−1)(j−1)+2[(i−1)+(j−1)]+2[gcd(i,j)−1]+4=6ij−2×gcd(i,j)最后用 O(NM)O(NM)O(NM) 枚举 i、ji、ji、j,再将这些贡献加起来即可。
注:这只是单个矩形的贡献,一共有 (N−lenx+1)(M−leny+1)(N-len_x+1)(M-len_y+1)(N−lenx+1)(M−leny+1) 个长度为 lenxlen_xlenx,宽度为 lenylen_yleny 的矩形。
#include<cstdio>#define rep(i,__l,__r) for(register int i=__l,i##_end_=__r;i<=i##_end_;++i)
#define dep(i,__l,__r) for(register int i=__l,i##_end_=__r;i>=i##_end_;--i)
// #define FILEOI
#define int long long#define cg (c=getchar())
template<class T>inline void qread(T& x){x=0;char c;bool f=0;while(cg<'0'||'9'<c)if(c=='-')f=1;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));if(f)x=-x;
}
template<class T,class... Args>inline void qread(T& x,Args&... args){qread(x),qread(args...);}
inline int qread(){int x=0;char c;bool f=1;while(cg<'0'||'9'<c)if(c=='-')f=0;for(x=(c^48);'0'<=cg&&c<='9';x=(x<<1)+(x<<3)+(c^48));return f?x:-x;
}
#undef cg
template<class T>inline T Max(const T x,const T y){return x>y?x:y;}
template<class T>inline T Min(const T x,const T y){return x<y?x:y;}
template<class T>inline T fab(const T x){return x>0?x:-x;}
inline void getInv(int inv[],const int r,const int MOD)
{inv[0]=inv[1]=1;for(int i=2;i<=r;++i)inv[i]=1ll*inv[MOD%i]*(MOD-MOD/i)%MOD;}
inline int gcd(const int a,const int b){return b?gcd(b,a%b):a;}
template<class T>void fwrit(const T x){if(x<0)return (void)(putchar('-'),fwrit(-x));if(x>9)fwrit(x/10);putchar(x%10^48);
}int m,n,ans;inline void init(){qread(m,n);}inline int calc(const int i,const int j){return 6*i*j-2*gcd(i,j);}signed main(){#ifdef FILEOIfreopen("triangle.in","r",stdin);freopen("triangle.out","w",stdout);
#endifinit();rep(i,1,m)rep(j,1,n)ans+=(m-i+1)*(n-j+1)*calc(i,j);fwrit(ans),putchar('\n');return 0;
}
「CSP-S模拟赛」2019第四场相关推荐
- 「小奇模拟赛2」小奇的危机(from hzwer.com)
「小奇模拟赛2」小奇的危机(from hzwer.com) 「题目背景」 小奇驾驶飞船来到了一个奇怪的星球,这个星球的所以城市都在地下,而且由于环境不断恶化,星球上发生了可怕的生化危机. 「问题描述」 ...
- 「多校联考」第三周二场
「多校联考」第三周二场 T1 分数转换 题目 考场思考(正解) T2 Slow Path Finding Algorithm (SPFA) 考场思路 正解 T3 切面包 考场思路 正解 这套题是真的很 ...
- ssl模拟赛(2019.4.27)
成绩 rank是有算其他大爷的 rank name score T1 T2 T3 T4 1 L Y F LYF LYF 320 100 100 100 20 2 H K Y HKY HKY 296 1 ...
- 「构生态·建未来 」2019软件绿色联盟开发者大会售票开启
如何在一天之内Get国内最顶尖互联网公司的技术干货?如何加入国内头部应用开发者的技术盛宴? 开发者们,2019年11月19日,让我们再次重逢软件绿色联盟开发者大会! 5G.云.IOT.AI等新技术的融 ...
- 基于React全家桶开发「网易云音乐PC」项目实战(四)
前言 前言 hello大家好我是「风不识途」,如果首次阅读本系列请点击,正在学习React的小伙伴可以克隆该项目,参考学习,尝试做一些小功能,下面我们开始完成本系列最重要的音乐播放器列表▶需要完成内容 ...
- boss直聘一句话介绍优势_「公关界的007」95后职场前夜,BOSS直聘想跟够“敢”的你聊聊...
史上最难求职季又双叒叕来了,校招接近尾声,传说中的offer收割机似乎都消失了,取而代之的是某瓣985FIVE小组每天上百的加组申请--"毕业即失业"的魔咒在今年被成千上百倍地放大 ...
- 「Vijos 1285」「OIBH杯NOIP2006第二次模拟赛」佳佳的魔法药水
佳佳的魔法药水 背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水--怎么样才能得到0号药水呢?你要知道佳佳的家境也 ...
- 「NOIP2018模拟赛」 摘果子 - 树形Dp
题目描述 分析 有依赖的树上背包.可以用Dfs序进行Dp,但更直接的方法是先将其转化为二叉树,在对左右儿子分配,进行Dp.Dfs(x,t)函数表示在以x为根的子树上,还能接受t的毒,所获得的最大美味度 ...
- 「猜题第一篇」2019年大学生电子设计竞赛
点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 昨天出了清单之后,第一时间我是懵逼的~脑子里想的是:这都是啥啊~~后面仔细的理了一下 ...
最新文章
- 编译-C++支持iOS静态库的脚本学习
- 自定义动画 animate || 案例:王者荣耀手风琴效果分析
- python爬取音乐并保存_python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
- php utf8格式显示中文,php截取中文字符(utf-8格式)的函数
- 剑指offer--打印1到最大的n位数
- 图像迁移风格保存模型_图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用...
- 服务器响应options,HTTP发送对OPTIONS请求的响应[C]
- alsa的动态库安装在哪里_Linux链接库一(动态库,静态库,库放在什么路径下)...
- 第27课 老狼老狼几点钟 《小学生C++趣味编程》
- 随想录(一个android原生app的代码赏析)
- Bsdiff:Bsd断电差分升级
- python杨辉三角函数_Python算法之六:杨辉三角
- 基于PWM调宽的呼吸灯算法
- IBM本本日常维护--光驱篇
- JAVA学习 第5天
- Python 和Java 哪个更适合做自动化测试?
- 测试 linux CPU 压力
- 桌面计算机怎么设置声音,右下角小喇叭不见了-电脑桌面右下角有一个调整声音的小喇叭图标没 – 手机爱问...
- PhysioBank简介
- html 外联 变 内联,Html 内联元素、外联元素 和 可变元素