感觉都是暴力题或者类似原题,就是手速场。

目录

  • 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组)【题解】相关推荐

  1. 第四届“传智杯”全国大学生IT技能大赛-Java B组题解

    A组原成绩 A-组原成绩 题目描述 花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的计算机组成原理快要出分了.你现在需要计算你 ...

  2. 第四届传智杯全国大学生IT技能大赛 初赛B组题解 -- D题

    题目:小卡与质数2 Description 小卡最近迷上了质数,所以他想把任何一个数都转化为质数! 小卡有 T 次询问,每次给你一个数字 x,问有多少个比 x 小的非负整数 y,使得 x⊕y 是质数, ...

  3. (附AK代码)第四届“传智杯”全国大学生IT技能大赛(决赛B组)题解

    未完全完成,很快会更新. 第四届"传智杯"大赛(决赛B组)题解目录 A:小智的疑惑 1.题目概述 2.解析 3.AC代码 B:三元组 1.题目概述 2.解析 3.AC代码 C:排排 ...

  4. 第四届“传智杯”全国大学生IT技能大赛(初赛B组)

    复习专业课直接把这茬忘记了,补回去. 一开始做了A组的题目,我说怎么总感觉怪怪的. ~~~~~~~~~~ T216906 组原成绩 #include<iostream> #include& ...

  5. 第四届“传智杯”全国大学生IT技能大赛(初赛B组)题解

    基本上都是模拟,除了第四题都很简单 1.T216906 组原成绩 代码 #include<iostream> using namespace std; int main() {int x, ...

  6. 2022年第五届“传智杯”全国大学生IT技能大赛——程序设计挑战赛

    邀您参加第五届"传智杯"全国大学生IT技能大赛 https://m.saikr.com/active/templete/czb/1667799418?spread_code=A73 ...

  7. 第三届“传智杯”全国大学生IT技能大赛(初赛)-Java B组题解

    A - 课程报名 A-课程报名洛谷题目链接 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定价为v元:每报名m个学员,课程的定价就要提升a 元.由于课程能够容纳的学生 ...

  8. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)题解合集

    文章目录 A - 课程报名 B - 期末考试成绩 C - 志愿者 D - 终端 E - 运气 总结 A - 课程报名 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定 ...

  9. 2021年第三届传智杯全国大学生IT技能大赛(决赛B组)

    T172096 课程 题目背景 disangan233 喜欢数数,于是他想让你帮他回答一个问题. 题目描述 传智专修学院提供 A,B 两个课程,分别有 n,m个学生报名.报名 A 的学生的编号为 an ...

最新文章

  1. 3w最简单led灯电路图_led灯驱动电源电路图大全(六款模拟电路设计原理图详解)...
  2. 百度网盘API调用二
  3. elasticsearch 基本配置
  4. boost::math模块计算 Bessel、Neumann 和 Airy 函数的零(或根)的函数的测试程序
  5. kotlin android获取按钮,Kotlin 实现按钮点击跳转监听事件方式
  6. BZOJ 4568 倍增维护线性基
  7. oracle确实表达式,ORACLE正规表达式
  8. 开始nodejs+express的学习+实践(8)
  9. java时间比较大小_Go、Java 和 Rust 的比较:得出了挺多结论
  10. C语言 strcat函数实现
  11. 集合python_python集合访问的方法
  12. mysql 创建表 引号_Mysql建表语句中显示双引号的方法介绍
  13. JS五种运算符,运算符的优先级
  14. TorchNet的学习笔记
  15. Event Grid更新了!可轻松处理物联网装置遥测
  16. 数据分析数据挖掘(四)
  17. 字节跳动年底再招 10000 人,前端工程师非常紧缺!
  18. visio2016无法安装的完美解决方法
  19. matlab 批量导入excel,matlab批量导入excel表格数据-Matlab如何导入excel数据
  20. 设计一个自然数类,该类的对象能表示一个自然数

热门文章

  1. CV:利用cv2自带两步法haarcascade_frontalface_default.xml、_smile.xml实现对人脸、笑脸同时检测
  2. 成功解决Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
  3. CH5E02 花店橱窗【线性DP】
  4. eclipse 配置jsp
  5. 44.更多replace案例
  6. 数据结构-串操作应用之词索引表
  7. [BZOJ1015] [JSOI2008] 星球大战starwar (并查集)
  8. (线段树)Just a Hook -- hdu -- 1689
  9. Object C学习笔记12-集合
  10. Provisioning profile XXXX can't be found