新手,欢迎交流,更新完毕。

计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

文章目录

  • A. 结果填空:有趣的数字
  • B. 结果填空:爬楼梯
  • C. 结果填空:七巧板
  • D. 结果填空:苹果
  • E. 结果填空:方阵
  • F. 程序设计:寻找重复项
  • G. 程序设计:被袭击的村庄
  • H. 程序设计:字符串
  • I. 程序设计:最短路
  • J. 程序设计:迷宫

A. 结果填空:有趣的数字

原题链接:传送门

思路:

  1. 先把素数筛选出来,然后一个一个判断是不是含有5 。
  2. 答案是3282 。

    代码如下:

import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;
public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);boolean vis[]=new boolean[100001];int prime[]=new int[100001];vis[1]=vis[0]=true;int index=0;for(int i=2;i<=100000;i++)if(!vis[i]) {prime[index++]=i;for(int j=i*2;j<=100000;j+=i)vis[j]=true;}int ans=0;for(int i=0;i<index;i++){while(prime[i]>0) {int x=prime[i]%10;prime[i]/=10;if(x==5) {ans++;break;}}}System.out.println(ans);}
}

B. 结果填空:爬楼梯

原题链接:传送门

思路:

  1. 注意dp[5]和dp[7]要置0,因为不能踩上去。
  2. 其他阶梯由dp[i-1]+dp[i-2]+dp[i-3]+dp[i-4]组成。
  3. 答案是72 。

    代码如下:

import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int dp[]=new int[11];dp[0]=1;for(int i=1;i<=10;i++){for(int j=1;j<=4;j++)if(j<=i) {dp[5]=dp[7]=0;dp[i]+=dp[i-j];}}for(int i=1;i<=10;i++)System.out.println(dp[i]);}
}

C. 结果填空:七巧板

原题链接:传送门

思路:

  1. 跟平面划分一个道理,每次都会多划分一个区域,F(n)=F(n-1)+1 。
  2. 答案是47 。 = 7+ (6+7+8+9+10)

代码如下:

import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);int x=7,a=6;for(int i=1;i<=5;i++)x+=a++;System.out.println(x);}
}

D. 结果填空:苹果

原题链接:传送门

备注:

  1. 贪心,尽可能在一个篮子里拿3,从左到右遍历,能拿就拿,不能拿就拿后面的人的来凑。
  2. 答案:62 .
#include<bits/stdc++.h>
#define R register int
#define ll unsigned long long
#define inf 0x3f3f3f3f
using namespace std;
inline ll read(){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;
}
int main()
{// 7 2 12 5 9 9 8 10 7 10 5 4 5 8 4 4 10 11 3 8 7 8 3 2 1 6 3 9 7 1ll a[50],b[50];memset(a,0,sizeof(a));memset(b,0,sizeof(b));for(int i=1;i<=30;i++) a[i]=read(),b[30-i+1]=a[i];ll ans1=0,ans2=0;for(int i=1;i<=30;i++){ans1+=a[i]/3;a[i]%=3;while(a[i]&&a[i+1]&&a[i+2]) ans1++,a[i]--,a[i+1]--,a[i+2]--;}for(int i=1;i<=30;i++){ans2+=b[i]/3;b[i]%=3;while(b[i]&&b[i+1]&&b[i+2]) ans2++,b[i]--,b[i+1]--,b[i+2]--;}cout<<max(ans1,ans2)<<endl;return 0;
}

E. 结果填空:方阵

原题链接:传送门

思路:

  1. 考虑两个点(x1,y1) 和 (x2,y2) ,假设a=x1-x2 , b=y1-y2;
  2. 能看到当且仅当gcd(a,b)=1 。
  3. 当a和b均大于0,即一对<a,b>对答案的贡献为(n-a)*(n-b) 。
  4. 当ab其中有等于0时,需加上2n(n-1) 。
  5. 答案为:916585708

    代码如下:

import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {static int gcd(int a, int b) {if(b==0) return a;else return gcd(b,a%b);}public static void main(String[] args) {Scanner cin=new Scanner(System.in);int n=cin.nextInt(),k=cin.nextInt();int gcds[][] =new int[n][n];for(int i=1;i<n;i++)for(int j=1;j<n;j++)if(gcds[i][j]==0&&gcds[j][i]==0){gcds[i][j]=gcd(i,j);gcds[j][i]=gcds[i][j];}long ans=0;for(int i=1;i<n;i++)for(int j=1;j<n;j++)if(gcds[i][j]==1&&i*i+j*j<=k*k)ans+=(n-i)*(n-j);ans=ans*2+2*n*(n-1);System.out.println((long)ans%(1e9+7));}
}

F. 程序设计:寻找重复项

原题链接:传送门

思路:

  1. 下午没用long,题意也理解错,越界情况是下标超过2e6,我写成x超过2e6,只过了40%。
  2. 结束后发现脑瘫行为改了之后只过90%。
  3. 再改了一次,代码注释处,粗心,没有初始化完整,AC 100%。

    代码如下:

import java.util.Deque;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);long a=cin.nextLong(),b=cin.nextLong(),c=cin.nextLong();long x=1;HashMap<Long,Long>mp = new HashMap<Long,Long>();mp.put(x,(long) 1);  //忘记把1塞进去了 无奈....一直卡在%90for(int i=1;i<=2000000;i++) {x=(x*a+x%b)%c;mp.put(x, mp.get(x)==null?1:mp.get(x)+1);if(mp.get(x)>1) {System.out.println(i);return ;}}System.out.println("-1");}
}

G. 程序设计:被袭击的村庄

原题链接:传送门

思路:

  1. 我觉得这道题是整套题里面最有毛病的,题目的output明显提示:第一行三个整数,分别是对道路、房屋、田地造成的总伤害,但实际上我计算三种类型的田地受到的总伤害,只通过了一个样例。
  2. 如果把对道路、房屋、田地造成的总伤害换成计算完全破坏的道路、房屋、田地个数(即hp=0),代码就AC了,这道模拟水题因为题意讲的不清楚只过了一个样例我也是醉了。
  3. 模拟题,根据题意写就可以了,注意炸弹可能会攻击村庄外的地方还有炸弹的伤害可能比hp还高,所以置0就好,因为是那天下午最后写的还没改,代码有点长,可以把攻击和溅射攻击写成两个函数,这样代码看起来就不会那么冗余。
  4. c++代码后面有赛后自己写的java简化代码,不过这题好像卡java了,可以学习一下写法,节省码代码的时间。

    C++代码如下:

#include<bits/stdc++.h>
#define R register int
#define ll unsigned long long
using namespace std;
inline ll read(){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;
}
const int manx=500;
ll hp[manx][manx];
ll hurt[manx][manx];
ll maps[manx][manx];
int dx[8]={-1,-1,-1,0,0,1,1,1},dy[8]={1,0,-1,1,-1,1,0,-1};
int main()
{ll n=read(),m=read();ll a=read(),b=read(),c=read();ll k=read(),w=read();for(int i=1;i<=k;i++)for(int j=1;j<=k;j++)hurt[i][j]=read();for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){maps[i][j]=read();if(maps[i][j]==1) hp[i][j]=a;else if(maps[i][j]==2) hp[i][j]=b;else hp[i][j]=c;}ll q=read();while(q--){ll id=read(),x=read(),y=read();if(id){for(int i=x-k/2,ii=1;i<=x+k/2,ii<=k;i++,ii++)for(int j=y-k/2,jj=1;j<=y+k/2,jj<=k;j++,jj++){if(i<=0||j<=0||i>n||j>m) continue;if(hp[i][j]){if(hurt[ii][jj]>=hp[i][j])hp[i][j]=0;else hp[i][j]-=hurt[ii][jj];}}}else {for(int i=x-k/2,ii=1;i<=x+k/2,ii<=k;i++,ii++)for(int j=y-k/2,jj=1;j<=y+k/2,jj<=k;j++,jj++){if(i<=0||j<=0||i>n||j>m) continue;if(hp[i][j]){if(hurt[ii][jj]>=hp[i][j])hp[i][j]=0;else hp[i][j]-=hurt[ii][jj];}for(int d=0;d<8;d++){int xx=dx[d]+i,yy=j+dy[d];if(xx<=0||yy<=0||xx>n||yy>m) continue;if(hp[xx][yy]){if(hp[xx][yy]<=w) hp[xx][yy]=0;else hp[xx][yy]-=w;}}}}}ll res1=0,res2=0,res3=0,ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){if(maps[i][j]==1){ans+=a-hp[i][j];if(hp[i][j]==0) res1++; //这里我原本写的是 res1+=a-hp[i][j];}else if(maps[i][j]==2){ans+=b-hp[i][j];if(hp[i][j]==0) res2++; //这里我原本写的是 res2+=b-hp[i][j];}else{ans+=c-hp[i][j];if(hp[i][j]==0) res3++; //这里我原本写的是 res3+=c-hp[i][j];}}cout<<res1<<" "<<res2<<" "<<res3<<endl;cout<<ans<<endl;return 0;
}

Java代码如下:

import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {static int n,m,a,b,c,k,w;static int maps[][] = new int[500][500];static int hp[][] = new int[500][500];static int hurt[][] = new int[51][51];static int dx[]={-1,-1,-1,0,0,1,1,1};static int dy[]={1,0,-1,1,-1,1,0,-1};static void js(int x, int y) {for(int i=0;i<8;i++) {int xx=x+dx[i],yy=dy[i]+y;if(xx<=0||yy<=0||yy>m||xx>n) continue;if(hp[xx][yy]>0){if(w>=hp[xx][yy])hp[xx][yy]=0;else hp[xx][yy]-=w;}}    }static void gj(int id, int x, int y) {for(int i=x-k/2,ii=1;i<=x+k/2;i++,ii++)for(int j=y-k/2,jj=1;j<=y+k/2;j++,jj++){if(i<=0||j<=0||j>m||i>n) continue;if(id==0) js(i,j);if(hp[i][j]>0){if(hurt[ii][jj]>=hp[i][j])hp[i][j]=0;else hp[i][j]-=hurt[ii][jj];}}}public static void main(String[] args) {Scanner cin=new Scanner(System.in);n=cin.nextInt();m=cin.nextInt();a=cin.nextInt();b=cin.nextInt();c=cin.nextInt();k=cin.nextInt();w=cin.nextInt();for(int i=1;i<=k;i++)for(int j=1;j<=k;j++)hurt[i][j]=cin.nextInt();for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) {maps[i][j]=cin.nextInt();if(maps[i][j]==1) hp[i][j]=a;else if(maps[i][j]==2) hp[i][j]=b;else hp[i][j]=c;}int q=cin.nextInt();while(q-->0) {int id=cin.nextInt(),x=cin.nextInt(),y=cin.nextInt();gj(id,x,y);}long ans1=0,ans2=0,ans3=0,ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){if(maps[i][j]==1){ans+=a-hp[i][j];if(hp[i][j]==0) ans1++;}else if(maps[i][j]==2){ans+=b-hp[i][j];if(hp[i][j]==0) ans2++;}else{ans+=c-hp[i][j];if(hp[i][j]==0) ans3++;}}System.out.println(ans1+" "+ans2+" "+ans3);System.out.println(ans);}
}

H. 程序设计:字符串

原题链接:传送门

思路:

  1. 注意看题意,先判断原串是不是mod的倍数。
  2. 再判断能不能交换一次实现 整个串的数值是mod的倍数。
  3. 实在不行再输出-1 -1 。
  4. 下午做题没注意,直接按第二种情况处理,结果没AC,结束后改了一些A过。

    代码如下:

import java.util.Deque;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {static  int a[] =new int[2005];static  int mod;public static int gets(String s) {int ans=0;int n=s.length();for(int i=0;i<n;i++) {ans=ans*26+s.charAt(i)-'A';ans%=mod;}return ans;}public static void main(String[] args) {Scanner cin=new Scanner(System.in);String s=cin.next();mod=cin.nextInt();int n=s.length();// System.out.println(n);int ans=gets(s);if(ans==0) {System.out.println("0 0");return ;}a[n-1]=1;for(int i=n-2;i>=0;i--) {a[i]=26*a[i+1]%mod;//System.out.println(a[i]);}for(int i=0;i<n;i++)for(int j=i+1;j<n;j++){int res=(s.charAt(i)-s.charAt(j))*a[j]+(s.charAt(j)-s.charAt(i))*a[i];if( (res+ans+mod)%mod==0) {System.out.println(++i +" "+ ++j);return ;}}System.out.println("-1 -1");}
}

I. 程序设计:最短路

原题链接:传送门

思路:

  1. 下午只建了一张图,过了40% 。
  2. 正反向建图跑一遍,目前过50% 。
  3. 好像 java被卡了 , 写了一发c++直接过了,c++代码在java下面。
  4. 这道题的话,要注意数据范围 javaLong C++long long,其他没什么好注意的,就是最短路模板题,正反向建图,跑两次dij就可以了。

    Java代码如下:

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Scanner;
import java.util.concurrent.LinkedBlockingDeque;public class Main {static class Edge{int v,w,next;Edge(int v,int w,int next){this.v=v;this.w=w;this.next=next;}}static int manx=1000000+5;static int mamx=manx;static int head[][]=new int[2][manx];static long d[][]=new long[2][manx];static boolean vis[]=new boolean[manx];static Edge a[][] = new Edge[2][mamx];static int cnt[] = new int[manx];static int n,m,s,k0=0,k1=0;static void add(int i,int u,int v, int w){int k;if(i==0) k=k0;else k=k1;Edge x=new Edge(v,w,head[i][u]);a[i][++k]=x;head[i][u]=k;if(i==0) k0=k;else k1=k;}static void spfa(int x){for(int i=1;i<=n;i++) {d[x][i]=(long) 1e9;vis[i]=false;}Deque<Integer> q=new ArrayDeque<Integer>();q.add(s);d[x][s]=0;vis[s]=true;while(!q.isEmpty()){int u=q.poll();vis[u]=false;for(int i=head[x][u];i>0;i=a[x][i].next){int v=a[x][i].v;int w=a[x][i].w;if(d[x][v]>d[x][u]+w){d[x][v]=d[x][u]+w;if(!vis[v]) {vis[v]=true;if(!q.isEmpty()&&d[x][v]>=d[x][q.peek()]) q.addLast(v);else q.addFirst(v);}}}}}public static void main(String[] args) {Scanner cin=new Scanner(System.in);int t=cin.nextInt();while(t-->0) {n=cin.nextInt();m=cin.nextInt();k0=0;k1=0;s=1;for(int i=1;i<=n;i++) {head[0][i]=0;head[1][i]=0;}while(m-->0){int u=cin.nextInt();int v=cin.nextInt();int w=cin.nextInt();add(0,u,v,w);add(1,v,u,w);}spfa(0);spfa(1);long ans=0;for(int i=2;i<=n;i++)ans+=d[1][i]+d[0][i];System.out.println(ans);}}
}

C++代码如下: (可AC)

#include<bits/stdc++.h>
#define ll long long
#define R register int
#define mm make_pair
using namespace std;
const int manx=1e5+5;
const int mamx=manx;
struct node{int v,next;ll w;
}a[2][mamx];
ll d[2][manx];
int head[2][manx];
bool vis[manx];
int n,m,s,e,k0=0,k1=0;
void add(int i,int u,int v,int w)
{int k;if(i==0) k=k0; else k=k1;a[i][++k].next=head[i][u];head[i][u]=k;a[i][k].v=v;a[i][k].w=w;if(i==0) k0=k; else k1=k;
}
void dij(int x)
{for(int i=1;i<=n;i++) d[x][i]=1e16,vis[i]=0;priority_queue<pair<ll,int> >q;d[x][1]=0;q.push(make_pair(0,1));while(q.size()){int u=q.top().second;q.pop();if(vis[u]) continue;vis[u]=1;for(int i=head[x][u];i;i=a[x][i].next){int v=a[x][i].v,w=a[x][i].w;if(d[x][v]>d[x][u]+w)d[x][v]=d[x][u]+w,q.push(make_pair(-d[x][v],v));}}
}
int main()
{int t;cin>>t;while(t--){k0=0,k1=0;memset(head,0,sizeof(head));scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int u,v,w;scanf("%d%d%d",&u,&v,&w);add(0,u,v,w);add(1,v,u,w);}dij(0),dij(1);ll ans=0;for(int i=2;i<=n;i++){ans+=d[0][i]+d[1][i];}cout<<ans<<endl;}return 0;
}

J. 程序设计:迷宫

原题链接:传送门

思路:

  1. 关于这道题和那道村庄、重复项一样蛋疼,很容易理解错题意,原题描述有这么一句:
  2. 如果进入传送入口格子 ,那么会被立即传送到传送出口格子。
  3. 就是说你无法控制是否进入传送门 ,这是一个无法抗拒的过程,到达即传送,18号下午我以为是可以选择的,现在思考了一会儿才发现是必须要进去传送门的。
  4. 这道题是很经典的BFS迷宫题目,不过多了一些坑点,注意好还是很容易AC的,坑点如下:
    1 . 传送连环,就是一个传送门的终点是另一个传送门的起点;
    2 . 传送成环,就是传送出去一圈后会回到原本的传送出发点;
    3 . 传送到障碍物处 。

代码如下:

#include<bits/stdc++.h>
#define R register int
#define ll unsigned long long
#define inf 0x3f3f3f3f
using namespace std;
inline ll read(){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;
}
const int manx=1005;
struct node{int x,y;
};
char mps[manx][manx];
int d[manx][manx];
int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
bool vis[manx][manx];
int nx[105],ny[105];
int tp[manx][manx];
int n,m;
void bfs(){queue<node>q;while(q.size()) q.pop();int sx=1,sy=1;d[1][1]=0;while(tp[sx][sy]>0){int k=tp[sx][sy];sx=nx[k];sy=ny[k];d[sx][sy]=0;if(mps[sx][sy]=='*') return;if(sx==1&&sy==1) return;}node star;star.x=sx,star.y=sy;q.push(star);while(q.size()){node a=q.front();q.pop();vis[a.x][a.y]=1;for(int i=0;i<4;i++){int xx=a.x+dx[i],yy=a.y+dy[i];if(xx>0&&xx<=n&&yy>0&&yy<=m&&mps[xx][yy]=='.'&&!vis[xx][yy]&&d[xx][yy]>d[a.x][a.y]+1){int sx=xx,sy=yy;d[xx][yy]=d[a.x][a.y]+1;int flag=0;while(tp[sx][sy]){int k=tp[sx][sy];sx=nx[k];sy=ny[k];if(mps[sx][sy]=='*') break;if(sx==xx&&sy==yy) break;d[sx][sy]=d[xx][yy];}if(!flag ||  ((sx!=xx||sy!=yy)&&mps[sx][sy]!='*'&&d[sx][sy]>d[xx][yy])){node b;b.x=sx,b.y=sy;q.push(b);}}}}
}
int main()
{n=read(),m=read();for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>mps[i][j];ll p=read(),index=1;while(p--){ll x=read(),y=read(),xx=read(),yy=read();nx[index]=xx,ny[index]=yy;tp[x][y]=index++;}ll ex=read(),ey=read();memset(d,inf,sizeof(d));bfs();if(d[ex][ey]==inf) cout<<"No solution"<<endl;else cout<<d[ex][ey]<<endl;return 0;
}

计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析相关推荐

  1. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  2. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  3. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛(一)

    题目传送门 建立了自己的个人博客,朝着秃头的路上一去不返... 作者是个打铁弱鸡,若各位大佬发现了错误请在评论指出. A. 结果填空:有趣的数字 蓝桥杯标准的送温暖题,枚举每个数判断是否含有数字5并进 ...

  4. 计蒜客 2020 蓝桥杯省赛 B 组模拟赛(五)E区间dp H 裴蜀 J dp A-J 权值线段树

    题目链接 因为要去笔试.所以只打了两个小时,有点求快,很多细节没写好就匆匆交,而且没有检查,打的有点菜 C-煎牛排 做法: 所有的面的个数sum=2*n   然后sum/(2*k)即可. ans=ma ...

  5. 计蒜客 2020 蓝桥杯省赛 B 组模拟赛(五)

    结果填空:卡片游戏 1000ms 131072K 蒜头君设计了一个双人游戏,在桌面上放置一排 nn 张卡片,第 ii 张卡片上有一个数字 a_iai​.两个人轮流取走一张卡片,直至全部取完.注意每次只 ...

  6. 计蒜客2019蓝桥杯省赛B组模拟赛(一)题目及解析

    蓝桥杯历年真题题目及题解目录汇总   A. 结果填空:钟表 题库链接 分值: 5 一天蒜头君 22:28:45 开始睡觉,06:24:26 醒来之后,蒜头君在想,今天我睡了多久? 请你告诉蒜头君睡了& ...

  7. 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(一)

    D题:马的管辖 二进制枚举方案.判断该方案是否全部能被覆盖,将最优方案存下来并进行剪枝. #include<iostream> #include<cstring> #inclu ...

  8. 计蒜客2019蓝桥杯省赛 B 组模拟赛(一)轻重搭配|

    题解:这题一看就知道是贪心问题,但问题是怎么贪,直接暴力循环一遍,TLE.选错贪心思路,只能过一小部分数据,正确贪心思路:从前一半遍历,在后一半中找到比当前元素的两倍大的数 代码如下: #includ ...

  9. 计蒜客 2019 蓝桥杯省赛 A 组模拟赛(一) B:炮台实验

    题目描述 蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,-,n 的炮台各一个,他需要把这 n 个炮台从左往右排成一行,并且炮口都朝向右边. 在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比自 ...

最新文章

  1. 同样是AI技术,为什么只有一加6称得上“全速”旗舰?
  2. 论文速递:通过模拟大脑-解决深度学习中的灾难性遗忘
  3. 转 关于 D3D的 SetRenderState 以及AlphaBlend 和AlphaTest
  4. Redis数据类型(String)
  5. 趣谈设计模式 | 单例模式(Singleton) :独一无二的对象
  6. java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #4)
  7. Activity加载View调用顺序
  8. java嵌入式db_Java DB嵌入式模式
  9. CSS鼠标滑过改变样式颜色
  10. 提高网站性能的常见方法
  11. java ssdb查询_java连接ssdb数据库
  12. listctrl 使用入门
  13. Linux学习笔记 -- rpm 与 shell 编程
  14. sql语句中【模糊查询like的使用】
  15. 有关vc++ 时钟程序的学习与体会
  16. 〖Python零基础入门篇④〗- Pycharm插件安装与常用的插件
  17. C语言发展史——程序猿抗争史
  18. 函数重载导致的二义性
  19. 通过js实现图片与文字的转换
  20. CPT208 人机设计 笔记

热门文章

  1. 自编码-李宏毅深度学习/机器学习
  2. RHCE(6)tuend\stratis\vdo总结和课堂案例
  3. windows修改系统远程端口
  4. 深度学习分布式方案(个人笔记)
  5. Linux NFS协议详解
  6. 量子计算机图片竖屏,【图片】量子计算机:从空想到现实【平行宇宙吧】_百度贴吧...
  7. UE4骨架网格体动画系统(1)
  8. 火炬之光中人物被遮挡效果在Ogre中的实现方法
  9. The way to CLI
  10. oracle字段换名语句,修改表名的sql语句