水平有限,把会做的题做了一些总结。

目录

  • A: WELCOME!
  • B: POOLING
  • C: 标枪游戏
  • E: 简单数论
  • F: 回文串
  • J: 有点复杂的gcd问题

A: WELCOME!


题目地址

#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
#include<set>
using namespace std;
int main(void)
{cout<<"Welcome to The First Programming Competition of Hebei University of technology!"<<endl;return 0;
}

B: POOLING


题目地址

这道题挺水的,但是做的时候题目有点没理解全,导致以为输出的一定是个正方形,WA了好几次。
当时的方法过了几天再看一下写的真是垃圾。
还得吐槽一下,题目是真的长,作为一个看到长题目就想放弃的人来说真的艰难。
以前就看到一道题,题目又长又看不懂当时放弃了,比赛完一看居然是一个巨水的题。直接当场吐血。

我的垃圾方法是: 把所有的左上角的坐标和右下角的坐标保存,再依次枚举求其每一个矩阵的最大值输出。
代码如下:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
#include<set>
using namespace std;
int a[55][55];
struct node
{int startx,starty;int endx,endy;
}Node[3005];
int sum;
int main(void)
{int n,m,k; cin>>n>>m>>k;int temp=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}for(int i=0;i<n-k+1;i++){for(int j=0;j<m-k+1;j++){Node[temp].startx=i,Node[temp].starty=j;//保存左上角,右下角坐标Node[temp].endx=k+i-1,Node[temp].endy=k+j-1;temp++;}}cout<<n-k+1<<" "<<m-k+1<<endl;for(int i=0;i<temp;i++)//枚举所有的左上角和右下角,计算输出{int sum=0;for(int j=Node[i].startx;j<=Node[i].endx;j++){for(int k=Node[i].starty;k<=Node[i].endy;k++){sum=max(sum,a[j][k]);}}cout<<sum<<" ";if((i+1)%(m-k+1)==0) cout<<endl;}return 0;
}

简短代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=60;
int a[N][N];
int main(void)
{int n,m,k; cin>>n>>m>>k;for(int i=0;i<n;i++)for(int j=0;j<m;j++)cin>>a[i][j];cout<<n-k+1<<" "<<m-k+1<<endl;for(int j=0;j<n-k+1;j++){for(int i=0;i<m-k+1;i++){int temp=0;for(int w=j;w<j+k;w++){for(int z=i;z<i+k;z++){temp=max(temp,a[w][z]);}}cout<<temp<<" ";}cout<<endl;}return 0;
}

C: 标枪游戏


题目地址

原本用的二分结果莫名TLE,发现暴力居然可以过。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int a[N],n;
int main(void)
{cin>>n;for(int i=1;i<=n;i++) scanf("%d",&a[i]);long long int sum=0;for(int i=1;i<=n;i++){int cnt=0;for(int j=1;j<i;j++){if(a[i]>=a[j]) cnt++;}if(i&1) sum+=1+cnt-(i-1-cnt);else sum=sum-(1+cnt-(i-1-cnt));}if(sum>0) cout<<"Calculus is hebei king!"<<endl;else if(sum==0)  cout<<"hebei shuang king!"<<endl;else cout<<"huaji is hebei king!"<<endl;return 0;
}

E: 简单数论


题目地址
官方题解:

其实本质就是一个k进制数, 表示的数就是 1-km-1

#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
typedef long long int LL;
int main(void)
{int t; cin>>t;while(t--){LL k,m,p; cin>>k>>m>>p;LL res=1;for(int i=1;i<=m;i++) res=res*k;cout<<--res<<endl;if(res<p) cout<<"overflow"<<endl;else{res=res-p+1;vector<int> ans;for(int i=1;i<=m;i++) ans.push_back(res%k),res/=k;for(int i=ans.size()-1;i>=0;i--) cout<<ans[i]<<" ";cout<<endl;}}
}

F: 回文串


题目地址

如果都是偶数的话,那么就是1组。
如果是奇数的话,就是奇数的个数,因为偶数的字符都可以组成一组,把1个奇数的字符插入进那个偶数的字符。
剩下的 n-1 个奇数字符还是 每个人一个组 n-1+1(偶数组)=n 即答案就是奇数字符的个数

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[30];
int main(void)
{string s; cin>>s;for(int i=0;i<s.size();i++) a[s[i]-'a']++;int s1=0,s2=0;for(int i=0;i<=25;i++){if(a[i]&1) s1++;if(a[i]%2==0&&a[i]) s2++;}if(s1) cout<<s1<<endl;else cout<<1<<endl;return 0;
}

J: 有点复杂的gcd问题


题目地址

官方题解:

一道唬人的大水题。

#include<cstdio>
#include<iostream>
using namespace std;
const int mod=1e9+7;
int main(void)
{long long int n,k; cin>>n>>k;cout<<(n*(n+1)/2)%mod<<endl;return 0;
}

第一届河北工业大学程序设计竞赛校赛 【个别题的解析】相关推荐

  1. 2020 年第一届辽宁省大学生程序设计竞赛

    2020 年第一届辽宁省大学生程序设计竞赛 A-组队分配 分析 代码 B-两点距离 分析 代码 C-轮到谁了? 分析 代码 F-最长回文串 分析 代码 G-管管的幸运数字 分析 代码 I-鸽子的整数运 ...

  2. 吉首大学计算机老师向直阳,吉首大学2020年计算机程序设计竞赛校赛完美落幕...

    9月26日由吉首大学教务处主办,吉首大学信息科学与工程学院承办的2020年计算机程序设计竞赛校赛完美落幕.本次比赛的参赛队员来自吉首大学各个学院的同学共同参与,共111人参与此次竞赛. 此次竞赛采用P ...

  3. 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)错题笔记

    目录: 题目链接 A 比比谁更大 B 过生日 D 机器人 G 拼牛牛 I 史莱姆 J 水题 K 烧烤丝瓜 L 歪脖子树下的灯 题目链接 A 比比谁更大 题目描述 在一个夜黑风高的晚上,牛哥哥吃完心爱的 ...

  4. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛题解

    A,C,I签到题,只搞了8题,还一题是神仙做的,我不会 链接:https://www.nowcoder.com/acm/contest/122/B 来源:牛客网 取石子 时间限制:C/C++ 1秒,其 ...

  5. 十三届蓝桥杯单片机组省赛真题程序解析

    第一次参加蓝桥杯,线上比赛,记录一下 比赛刚开始了十分钟才做上客观题,做上了之后才发现看一次题警告一次,当时就蚌埠住了,随便做了做就交了,手册也没怎么查(查一下直接给了3次黄牌,就没敢查了)其实老师1 ...

  6. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 - 题解

    A - ID and password 题目描述 Users prefer simple passwords that are easy to remember, but such passwords ...

  7. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 部分题解

    A-ID and password 签到题. #include <iostream> #include <cstdio> #include <bits/stdc++.h& ...

  8. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛B 取石子(博弈SG函数模板)

    题目链接:取石子 链接:https://www.nowcoder.com/acm/contest/122/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65 ...

  9. 2017年浙江理工大学程序设计竞赛校赛 题解源码(A.水, D. 简单贪心 ,E.数论,I 暴力)...

    Problem A: 回文 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1719  Solved: 528 Description 小王想知道一个字 ...

最新文章

  1. Linux----进程概念
  2. netapp 2个控制器spare盘分配
  3. 为什么一些机器学习模型需要对数据进行归一化?
  4. win10电脑pppoe拨号模块损坏_电脑维修免费在线咨询
  5. 关于SpringBoot 1.x和2.x版本差别
  6. [渝粤教育] 中国地质大学 工业卫生技术 复习题 (2)
  7. 小米机器人清理主刷和轴承_扫地机主刷怎样更换
  8. 【报告分享】2020中国时尚跨境电商发展报告.pdf(附下载链接)
  9. 前端 CSS 变量简介及基本使用方法
  10. exchange server 2010 OWA 附件功能只支持IE浏览器
  11. 顺利通过PMP考试 PMP备考总结
  12. koa2 mysql增删改查_使用nodejs-koa2-mysql-sequelize-jwt实现登录注册,文章增删改查接口...
  13. win7旗舰版系统下载
  14. tungsten-replication实现mysql-mongo数据同步
  15. 21年11月第二周 力扣每日一题记录
  16. hypot函数、fmod函数
  17. silverlight 无法启动调试 数据无效
  18. Linux_标准IO
  19. 【实验】实验课总结3 实验二
  20. Usage of Pseudocode

热门文章

  1. 机器学习-特征工程中的数据预处理
  2. macOS上实现Qt应用程序做文件关联打开
  3. 「CF622F」The Sum of the k-th Powers「拉格朗日插值」
  4. Spark2.x 与 Spark1.x 关系
  5. eclipse 项目 无法 rename
  6. Delphi下的GDI+编程[2] DrawLine - 绘制直线
  7. 软件安装被分成了两个iso文件怎么安装
  8. RV1108之MiniGui显示参数配置
  9. poi excel mysql_java的poi技术读取Excel数据到MySQL
  10. Hyperledger Fabric 核心模块(5)peerer共识