自己参加的是第一次场的,打的很烂。做了一下第二场的题,我是真想骂街。
第二场普遍简单许多。

目录

  • A: 求余 【签到】
  • B: 双阶乘 【签到】
  • C: 格点 【签到题】
  • D: 整数分解 【DP】
  • E: 城邦 【最小生成树板子题】
  • F: 特殊年份 【签到题】
  • G: 小平方 【签到题】
  • H: 完全平方数 【质因子分解】
  • I: 负载均衡 【优先队列 / 模拟】
  • J: 国际象棋 【状压DP / 水平有限不会写】

A: 求余 【签到】


答案: 1

#include<cstdio>
#include<iostream>
using namespace std;
int main(void)
{cout<<2021%20<<endl;return 0;
}

B: 双阶乘 【签到】


答案: 59375

#include<cstdio>
#include<iostream>
using namespace std;
int main(void)
{long long int ans=1;for(int i=2021;i>=1;i=i-2){ans*=i;ans=ans%100000;}cout<<ans<<endl;return 0;
}

C: 格点 【签到题】


答案: 15698

#include<cstdio>
#include<iostream>
using namespace std;
int main(void)
{int ans=0;for(int i=1;i<=2021;i++){for(int j=1;j<=2021;j++){if(i*j<=2021) ans++;}}cout<<ans<<endl;return 0;
}

D: 整数分解 【DP】


答案: 691677274345
f[i][j] 表示将数字j分成i份有多少种方法

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
long long int f[6][2025];
int main(void)
{for(int i=1;i<=2021;i++) f[1][i]=1;for(int i=2;i<=5;i++){for(int j=1;j<=2021;j++){for(int k=1;k<=2021;k++){if(j-k>=1) f[i][j]+=f[i-1][j-k];}}}cout<<f[5][2021];return 0;
}

E: 城邦 【最小生成树板子题】


答案: 4046

自己求一下每一条边的权,用最小生成树模板就OK了。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2022;
const int INF=0x3f3f3f3f;
int g[N][N],dist[N];
bool st[N];
int n,m;
int prim()
{memset(dist,0x3f,sizeof dist);int res=0;for(int i=0;i<n;i++){int t=-1;for(int j=1;j<=n;j++)if(!st[j]&&(t==-1 || dist[t] > dist[j] )) t=j;st[t]=true;if(i) res+=dist[t];if(i&&dist[t]==INF) return INF;for(int j=1;j<=n;j++) dist[j]=min(dist[j],g[t][j]);}return res;
}
int main(void)
{cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==j) g[i][j]=0;else g[i][j]=INF;}}for(int i=1;i<=2021;i++){for(int j=1;j<=2021;j++){if(i!=j){int a=i,b=j;int sum=0;while(a||b){if(a%10!=b%10) sum+=a%10+b%10;a/=10,b/=10;}g[i][j]=sum;g[j][i]=sum;}}}int t=prim();cout<<t<<endl;return 0;
}

F: 特殊年份 【签到题】

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int ans;
bool check(int x)
{int a=x/1000;int b=(x/100)%10;int c=(x/10)%10;int d=x%10;if(a==c&&(d-b==1)) return true;else return false;
}
int main(void)
{int x;for(int i=0;i<5;i++){cin>>x;if(check(x)) ans++;} cout<<ans<<endl;return 0;
}

G: 小平方 【签到题】

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main(void)
{int n; cin>>n;double a=n/2.0;int ans=0;for(int i=1;i<=n-1;i++){int temp=i*i;if((temp%n)<a) ans++;}cout<<ans<<endl;return 0;
}

H: 完全平方数 【质因子分解】


解析: 你要知道,要想可以开平方,其质因子必须成对出现。不是偶数的补一下就好了。
例如: 12=2x2x3 , 3的个数是一个,不是偶数所以得补一个3 结果 12x3=36 就可以开平方了。
注意: 本题数据范围大要用 long long 可能会有一个很大的质数的情况。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
map<long long int,long long int> mp;
int main(void)
{long long int x; cin>>x;for(int i=2;i<=x/i;i++){while(x%i==0) mp[i]++,x/=i;}if(x!=1) mp[x]++;long long int ans=1;for(map<long long int,long long int>::iterator it=mp.begin();it!=mp.end();it++){long long int temp=it->second;if(temp&1) ans*=it->first;}cout<<ans<<endl;return 0;
}

I: 负载均衡 【优先队列 / 模拟】


用优先队列来维护当前时间哪一个机器的任务完成了,释放资源。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int N=1e5*2+10;
struct machine
{int id;//机器int sum;//算力int end;//结束的时间friend bool operator < (machine f1,machine f2)//时间从小到大{return f1.end > f2.end;}
}stu;
int sum[N];//每台计算机的当前可用的算力
int n,m;
int main(void)
{cin>>n>>m;priority_queue<machine> heap;for(int i=1;i<=n;i++) scanf("%d",&sum[i]);while(m--){bool flag=false;int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d);while(heap.size())//判断可不可以释放算力{auto t=heap.top();if(t.end<=a) {heap.pop();sum[t.id]+=t.sum; }else break;}if(sum[b]>=d)//可以计算{stu.id=b,stu.sum=d,stu.end=a+c;heap.push(stu);sum[b]-=d;cout<<sum[b]<<endl;flag=true;}if(!flag) cout<<-1<<endl;}
}

J: 国际象棋 【状压DP / 水平有限不会写】

第十二届蓝桥杯大赛软件赛省赛第二场【C++B组】相关推荐

  1. 第十二届蓝桥杯大赛软件类省赛第一场 Java 大学 B 组题目蓝桥杯JavaB组大赛软件类省赛第十二届第一场

    第十二届蓝桥杯大赛软件类省赛第一场 Java 大学 B 组题目 在线看题 题目PDF下载链接 百度云 链接:https://pan.baidu.com/s/1LSZvUV5dFwNtSbOshORU1 ...

  2. 第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组解析

    第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组 试题 A: 空间 试题 B: 卡片 试题 C: 直线 试题 D: 货物摆放 试题 E: 路径 试题 F: 时间显示 试题 G: 砝码称重 试题 ...

  3. 第十二届蓝桥杯大赛软件赛省赛 Java 大学 B 组(2021年4月18日)

    第十二届蓝桥杯大赛软件赛省赛 Java 大学 B 组第一场 下载原题PDF 欢迎评论区留下答案讨论!!! 试题 A: ASC 本题总分:5 分 [问题描述] 已知大写字母 A 的 ASCII 码为 6 ...

  4. 2021第十二届蓝桥杯大赛软件赛省赛C++ C组真题题解

    ============================== 2019-2021蓝桥杯C++ C组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解 2020第十一届蓝桥杯大赛软件类省 ...

  5. 第十二届蓝桥杯大赛软件赛省赛Java 大学 C 组

    第十二届蓝桥杯大赛软件赛省赛Java 大学 C 组 试题 A: ASC 试题 B: 空间 试题 C: 卡片 试题 D: 相乘 试题 E: 路径 试题 F: 时间显示 试题 G: 最少砝码 试题 H: ...

  6. 第十二届蓝桥杯大赛软件赛省赛 Python 大学 A 组 试题

    第十二届蓝桥杯大赛软件赛省赛 Python 大学 A 组 试题   大家好,我叫亓官劼(qí guān jié ),在GitHub & CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~ ...

  7. 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解

    ============================== 2019-2021蓝桥杯C++ C组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解 2020第十一届蓝桥杯大赛软件类省 ...

  8. 2019第十届蓝桥杯大赛软件类省赛C++ B组真题题解

    ========================================== 2019-2021蓝桥杯C++ B组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ B组真题题解 2020第 ...

  9. 蓝桥杯软件类比赛java,第十届蓝桥杯大赛软件类省赛

    第十届蓝桥杯大赛软件类省赛 这些题官网还没有解答的,我主要参考了b站UP主大雪菜的解法(绝大部分题先自己做了一遍),当然也网上查了一些解答,但发现现在网上的一些解法并不正确,希望可以给大家一个参考. ...

  10. 第十二届蓝桥杯大赛软件赛决赛(C/C++ 大学C组)

    蓝桥杯 2021年国赛真题 C/C++ 大学C组 试题 A: 整数范围 试题 B: 带宽 试题 C: 纯质数 试题 D: 完全日期 试题 E: 最小权值 试题 F: 大写 试题 G: 123 试题 H ...

最新文章

  1. mongodb 备份mysql_MongoDB备份与恢复
  2. 精通Android自定义View(十七)自定义圆形鸟巢加载转圈效果
  3. 关于微信wx.getUserInfo使用不了的问题
  4. 树莓派3b接收USB串口数据并解析处理
  5. bzoj4326 NOIP2015 运输计划
  6. ip访问次数统计 nginx_nginx访问量统计
  7. 解决app安装失败,并出现Package [pkg1] attempting to redeclare permission [perm] already owned by [pkg2]异常的问题
  8. 手机浏览器自动打开快应用?
  9. Java编程学习-Math类
  10. Python collections.Counter()用法
  11. Ubuntu安装NVIDIA独立显卡驱动出现X service error问题解决方法
  12. 个税汇算期,公司收到好多申诉,怎么办?
  13. seq2seq模型_具有注意力机制的seq2seq模型
  14. getopt函数和getopt_long函数详解
  15. Amazon亚马逊常见的几种label
  16. 函数的单调性与曲线的凹凸性
  17. 生产环境紧急修改表存储引擎:MyISAM 为 InnoDB步骤(转老金)
  18. 图书馆管理系统重构(数据库版)
  19. 【Java多线程】Java线程状态及转换方法详解
  20. 把Excel批注的“红三角”放在单元格左上角_十个日常Excel操作小技巧,牢牢记住,对你帮助不少呢!...

热门文章

  1. L1,L2正则化分析
  2. Python访问MySQL
  3. 1154:LETTERS
  4. 2018-11-25-今日总结
  5. 树莓派debian配置lamp[解决Apache不显示php网页]
  6. 【UVA 437】The Tower of Babylon(记忆化搜索写法)
  7. SSH框架实现仿淘宝购物demo
  8. poj1201Intervals(差分约束)
  9. 用Visual C#开发简单的复合控件
  10. 解决2003不支持FLV的方法