蓝桥杯算法竞赛第一周题型总结

本专栏内容为:蓝桥杯学习专栏,用于记录蓝桥杯的学习经验分享与总结。
💓博主csdn个人主页:小小unicorn

⏩专栏分类:C++

🚚代码仓库:小小unicorn的代码仓库🚚

🌹🌹🌹关注我带你学习编程知识

目录

三带一:

题目来源:三带一
题目描述:


思路:

排序+判断即可:

代码解决:

cpp 复制代码
#include <algorithm>
using namespace std;
int main()
{
  int t;
  cin>>t;
  while(t--)
  {
    string ch;
    cin>>ch;
    sort(ch.begin(),ch.end());
    if(ch[0]!=ch[3]&&(ch[0]==ch[2]||ch[1]==ch[3]))
    {
      cout<<"Yes"<<endl;
    }
    else
    cout<<"No"<<endl;
  }
  return 0;
}

数树树

题目来源:数树数
题目描述:

思路:

考察树的基本知识,按照题目方式编号的话:左端点为2U-1右端点为2U;然后模拟即可。

代码解决:

cpp 复制代码
#include <iostream>
using namespace std;
void solve()
{
    int n=0;int m=0;
    cin>>n>>m;
    while(m--)
    {
        string s; cin>>s;
        int ret=1;
        for(int i=0;i<s.length();i++)
        {
            if(s[i]=='L') 
            ret=ret*2-1;
            else ret*=2;
        }
        cout<<ret<<endl;
    }    
    return ;
}
int main()
{
  // 请在此输入您的代码
  solve();
  return 0;
}

分组:

题目来源:分组
题目描述:

思路:

贪心+二分:

首先对身高数组进行排序,然后二分查找。不断检查是否可以将n个同学分成K个队伍,使得每个队伍的身高差不大于mid。通过贪心的方式,从左到右遍历身高数组,尽可能将同学加入当前队伍,直到当前队伍的身高差大于mid,然后开始新的队伍。最终计算分组的数量,如果分组数量小于等于k,说明mid值偏大

代码解决:

cpp 复制代码
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool check(vector<int>& 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;
    vector<int> 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;
}
相关推荐
qeen8710 小时前
【算法笔记】简单贪心
c++·笔记·算法·贪心算法
ting945200010 小时前
动手学深度学习(PyTorch版)深度详解(10): 优化算法 全解
人工智能·pytorch·深度学习·算法
ulias21210 小时前
leetcode热题 - 5
数据结构·算法·leetcode
Funny_AI_LAB11 小时前
Naval最新播客谈“氛围编码”:Vibe Coding 开启“一人独角兽”时代
人工智能·算法·语言模型·agi
如何原谅奋力过但无声11 小时前
【灵神高频面试题合集04-05】二分查找
数据结构·python·算法·leetcode
我不是懒洋洋11 小时前
【数据结构】排序算法(直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序)
c语言·数据结构·c++·经验分享·算法·排序算法
MediaTea11 小时前
ML:逻辑回归的基本原理与实现
人工智能·算法·机器学习·数据挖掘·逻辑回归
超级码力66619 小时前
【Latex文件架构】Latex文件架构模板
算法·数学建模·信息可视化
穿条秋裤到处跑19 小时前
每日一道leetcode(2026.04.29):二维网格图中探测环
算法·leetcode·职场和发展
Merlos_wind20 小时前
HashMap详解
算法·哈希算法·散列表