第四届“传智杯”全国大学生IT技能大赛(决赛B组)【题解】
感觉都是暴力题或者类似原题,就是手速场。
目录
- A. 小智的疑惑
- B. 三元组
- C. 排排队
- D. 背单词的小智
- F1. 生活在树上(easy version)
A. 小智的疑惑
比赛的时候写的KMP,数组开小了wa了一下。
其实暴力就行。
#include<bits/stdc++.h>
using namespace std;
string a,b="chuanzhi";
int cnt=0;
int main(void)
{cin>>a;for(int i=0;i<a.size();i++){int flag=a.find(b,i);if(flag==-1) break;else{i=flag+b.size()-1;cnt++;}}cout<<cnt;return 0;
}
#include<bits/stdc++.h>
using namespace std;
string a,b="chuanzhi";
int cnt=0;
int main(void)
{cin>>a;for(int i=0;i+b.size()-1<a.size();i++)if(a.substr(i,b.size())==b) cnt++;cout<<cnt;return 0;
}
B. 三元组
#include<bits/stdc++.h>
using namespace std;
const int N=110;
int t,n,a[N];
int main(void)
{cin>>t;while(t--){cin>>n;for(int i=0;i<n;i++) cin>>a[i];int cnt=0;for(int i=0;i<n;i++)for(int j=i;j<n;j++)for(int k=j;k<n;k++)if( (i<=j) && (j<=k) && (a[i]+a[j]==a[k]) ) cnt++;cout<<cnt<<endl;}return 0;
}
C. 排排队
模拟即可。
#include<bits/stdc++.h>
using namespace std;
int t,n,x;
int main(void)
{cin>>t;while(t--){vector<int>a,b;vector<pair<int,int>>ans;cin>>n;for(int i=0;i<n;i++) cin>>x,a.push_back(x);for(int i=0;i<n;i++) cin>>x,b.push_back(x);for(int i=0;i<n;i++){if(a[i]!=b[i]){int j=i;while(j<a.size()&&a[j]!=b[i]) j++;//找到第一个相等的位置if(j<a.size()){while(j>i)//一直交换{swap(a[j-1],a[j]);ans.push_back({j-1,j});j--;}}}}if(a==b){puts("YES");for(int i=0;i<ans.size();i++) cout<<ans[i].first+1<<" "<<ans[i].second+1<<endl;puts("0 0");}else puts("NO");}return 0;
}
D. 背单词的小智
就是二分,挺常规的。
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long int LL;
const int N=1e5*3+10;
LL a[N],n,k,sum;
bool check(LL x)
{LL cnt=0,sum=0;for(int i=1;i<=n;i++){if(a[i]*a[i]>x) return false;if(sum+a[i]*a[i]>x){sum=a[i]*a[i];cnt++;}else sum+=a[i]*a[i];}return cnt+1<=k;
}
int main(void)
{cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i]*a[i];LL l=0,r=sum;while(l<r){LL mid=l+r>>1;if(check(mid)) r=mid;else l=mid+1;}cout<<l;return 0;
}
F1. 生活在树上(easy version)
思维题,我们这里假设1为根,就是看a,b到根结点的 dist[a]^dist[b]是不是k
注意开大点就行。
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long int ull;
const int N=1e5*5+10;
vector<pair<int,ull>>ve[N];
ull dist[N];// dist[i] i到根结点1的异或值
int n,m,st[N];
void dfs(int u,ull sum)
{dist[u]=sum,st[u]=1;for(int i=0;i<ve[u].size();i++){ull j=ve[u][i].first,c=ve[u][i].second;if(st[j]) continue;dfs(j,sum^c);}
}
int main(void)
{scanf("%d%d",&n,&m);for(int i=1;i<=n-1;i++){ull a,b,c; scanf("%llu%llu%llu",&a,&b,&c); ve[a].push_back({b,c}),ve[b].push_back({a,c});}dfs(1,0);while(m--){ull a,b,k; scanf("%llu%llu%llu",&a,&b,&k);if( (dist[a]^dist[b])==k) puts("YES");else puts("NO");}return 0;
}
第四届“传智杯”全国大学生IT技能大赛(决赛B组)【题解】相关推荐
- 第四届“传智杯”全国大学生IT技能大赛-Java B组题解
A组原成绩 A-组原成绩 题目描述 花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的计算机组成原理快要出分了.你现在需要计算你 ...
- 第四届传智杯全国大学生IT技能大赛 初赛B组题解 -- D题
题目:小卡与质数2 Description 小卡最近迷上了质数,所以他想把任何一个数都转化为质数! 小卡有 T 次询问,每次给你一个数字 x,问有多少个比 x 小的非负整数 y,使得 x⊕y 是质数, ...
- (附AK代码)第四届“传智杯”全国大学生IT技能大赛(决赛B组)题解
未完全完成,很快会更新. 第四届"传智杯"大赛(决赛B组)题解目录 A:小智的疑惑 1.题目概述 2.解析 3.AC代码 B:三元组 1.题目概述 2.解析 3.AC代码 C:排排 ...
- 第四届“传智杯”全国大学生IT技能大赛(初赛B组)
复习专业课直接把这茬忘记了,补回去. 一开始做了A组的题目,我说怎么总感觉怪怪的. ~~~~~~~~~~ T216906 组原成绩 #include<iostream> #include& ...
- 第四届“传智杯”全国大学生IT技能大赛(初赛B组)题解
基本上都是模拟,除了第四题都很简单 1.T216906 组原成绩 代码 #include<iostream> using namespace std; int main() {int x, ...
- 2022年第五届“传智杯”全国大学生IT技能大赛——程序设计挑战赛
邀您参加第五届"传智杯"全国大学生IT技能大赛 https://m.saikr.com/active/templete/czb/1667799418?spread_code=A73 ...
- 第三届“传智杯”全国大学生IT技能大赛(初赛)-Java B组题解
A - 课程报名 A-课程报名洛谷题目链接 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定价为v元:每报名m个学员,课程的定价就要提升a 元.由于课程能够容纳的学生 ...
- 第三届“传智杯”全国大学生IT技能大赛(初赛B组)题解合集
文章目录 A - 课程报名 B - 期末考试成绩 C - 志愿者 D - 终端 E - 运气 总结 A - 课程报名 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定 ...
- 2021年第三届传智杯全国大学生IT技能大赛(决赛B组)
T172096 课程 题目背景 disangan233 喜欢数数,于是他想让你帮他回答一个问题. 题目描述 传智专修学院提供 A,B 两个课程,分别有 n,m个学生报名.报名 A 的学生的编号为 an ...
最新文章
- 3w最简单led灯电路图_led灯驱动电源电路图大全(六款模拟电路设计原理图详解)...
- 百度网盘API调用二
- elasticsearch 基本配置
- boost::math模块计算 Bessel、Neumann 和 Airy 函数的零(或根)的函数的测试程序
- kotlin android获取按钮,Kotlin 实现按钮点击跳转监听事件方式
- BZOJ 4568 倍增维护线性基
- oracle确实表达式,ORACLE正规表达式
- 开始nodejs+express的学习+实践(8)
- java时间比较大小_Go、Java 和 Rust 的比较:得出了挺多结论
- C语言 strcat函数实现
- 集合python_python集合访问的方法
- mysql 创建表 引号_Mysql建表语句中显示双引号的方法介绍
- JS五种运算符,运算符的优先级
- TorchNet的学习笔记
- Event Grid更新了!可轻松处理物联网装置遥测
- 数据分析数据挖掘(四)
- 字节跳动年底再招 10000 人,前端工程师非常紧缺!
- visio2016无法安装的完美解决方法
- matlab 批量导入excel,matlab批量导入excel表格数据-Matlab如何导入excel数据
- 设计一个自然数类,该类的对象能表示一个自然数
热门文章
- CV:利用cv2自带两步法haarcascade_frontalface_default.xml、_smile.xml实现对人脸、笑脸同时检测
- 成功解决Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
- CH5E02 花店橱窗【线性DP】
- eclipse 配置jsp
- 44.更多replace案例
- 数据结构-串操作应用之词索引表
- [BZOJ1015] [JSOI2008] 星球大战starwar (并查集)
- (线段树)Just a Hook -- hdu -- 1689
- Object C学习笔记12-集合
- Provisioning profile XXXX can't be found