廊坊电子商务网站建设,网站开发 系统需求文档,网站建设实践鉴定,小程序怎么开发自己的小程序代码本专栏内容为#xff1a;蓝桥杯学习专栏#xff0c;用于记录蓝桥杯的学习经验分享与总结。 #x1f493;博主csdn个人主页#xff1a;小小unicorn ⏩专栏分类#xff1a;C #x1f69a;代码仓库#xff1a;小小unicorn的代码仓库#x1f69a; #x1f339;#x1f33… 本专栏内容为蓝桥杯学习专栏用于记录蓝桥杯的学习经验分享与总结。 博主csdn个人主页小小unicorn ⏩专栏分类C 代码仓库小小unicorn的代码仓库 关注我带你学习编程知识 目录 三带一思路 数树树思路 分组思路 三带一
题目来源三带一 题目描述
思路
排序判断即可 代码解决
#include algorithm
using namespace std;
int main()
{int t;cint;while(t--){string ch;cinch;sort(ch.begin(),ch.end());if(ch[0]!ch[3](ch[0]ch[2]||ch[1]ch[3])){coutYesendl;}elsecoutNoendl;}return 0;
}数树树
题目来源数树数 题目描述
思路
考察树的基本知识按照题目方式编号的话左端点为2U-1右端点为2U然后模拟即可。 代码解决
#include iostream
using namespace std;
void solve()
{int n0;int m0;cinnm;while(m--){string s; cins;int ret1;for(int i0;is.length();i){if(s[i]L) retret*2-1;else ret*2;}coutretendl;} return ;
}
int main()
{// 请在此输入您的代码solve();return 0;
}分组
题目来源分组 题目描述
思路
贪心二分 首先对身高数组进行排序然后二分查找。不断检查是否可以将n个同学分成K个队伍使得每个队伍的身高差不大于mid。通过贪心的方式从左到右遍历身高数组尽可能将同学加入当前队伍直到当前队伍的身高差大于mid然后开始新的队伍。最终计算分组的数量如果分组数量小于等于k说明mid值偏大 代码解决
#include iostream
#include vector
#include algorithmusing namespace std;bool check(vectorint heights, int k, int max_diff)
{int cnt 1, cur heights[0], n heights.size();for (int i 1; i n; i){if (heights[i] - cur max_diff){cnt;cur heights[i];}}return cnt k;
}
int main()
{int n, k;cin n k;vectorint heights(n);for (int i 0; i n; i) cin heights[i];sort(heights.begin(), heights.end());int l 0, r heights[n - 1] - heights[0];while (l r) {int mid l (r - l) / 2;if (check(heights, k, mid)) r mid;else l mid 1;}cout l endl;return 0;
}