蓝桥杯打卡Day9


文章目录

  • 直角三角形
  • 最长平衡串

一、直角三角形IO链接

**本题思路:**本题就是利用欧几里得距离求解即可。

cpp 复制代码
#include <bits/stdc++.h>

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);std::cout.tie(nullptr);
    
    int T;
    std::cin>>T;
    while(T--){
        int x1,y1,x2,y2,x3,y3;
        std::cin>>x1>>y1>>x2>>y2>>x3>>y3;
        
        int a=std::pow(std::abs(x2-x1),2)+std::pow(std::abs(y2-y1),2);
        int b=std::pow(std::abs(x3-x1),2)+std::pow(std::abs(y3-y1),2);
        int c=std::pow(std::abs(x3-x2),2)+std::pow(std::abs(y3-y2),2);
        
        if (a + b == c || a + c == b || b + c == a) printf("Yes\n");
        else printf("No\n");
        
        printf("%.2f\n",std::sqrt(a)+std::sqrt(b)+sqrt(c));
    }
    return 0;
}

二、最长平衡串IO链接

**本题思路:**找一个连续的子串, 使得子串中'0'和'1'的个数能抵消,利用前缀和a[i]统计前i个字符中有多少个'1', 前缀和b[i]统计前i个字符中有多少个'0',记该最大连续子串开始地方为 i, 结束地方为 j, 则有a[j]−a[i−1]==b[j]−b[i−1]变形为a[j]−b[j]==a[i−1]−b[i−1],从前往后统计, 记 c 为 a[i]−b[i] 的差值, 用哈希表找到在 i之前的最小a[j]即可。

cpp 复制代码
#include <bits/stdc++.h>

constexpr int N=1e6+10;

int a[N],b[N];//a[N]用来统计前缀0的和,b[N]用来统计前缀1的和

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);std::cout.tie(nullptr);
    
    std::string s;
    std::cin>>s;
    
    for(int i=1;i<=s.size();i++){
        a[i]=a[i-1],b[i]=b[i-1];
        if(s[i-1]=='0') a[i]++;
        else b[i]++;
    }
    
    int res=0;
    std::unordered_map<int,int> hash;
    hash[0]=0;
    
    for(int i=1;i<=s.size();i++){
        int c = a[i] - b[i];//表示当前1和0之前的数量相差多少
        //用哈希表找到在 i之前的最小a[i]
        if(hash.count(c)) res = std::max(res, a[i] - a[hash[c]]);
        else hash[c] = i;//
    }
    
    std::cout<<res*2<<std::endl;
    return 0;
}
相关推荐
编程一生28 分钟前
面试问到的那些技术细节
面试·职场和发展
软件测试慧姐1 小时前
面试中常问的软件测试面试题
面试·职场和发展
蒸汽求职2 小时前
【蒸汽教育求职干货】OPT只剩3个月还没找到工作,怎么办?——留学生IT求职的“紧急预案”
人工智能·经验分享·面试·职场和发展·美国求职
蒸汽求职2 小时前
【蒸汽教育求职分享】美国IT面试的Behavioral Question:STAR法则人人都知道,但90%的人用错了
人工智能·面试·职场和发展·github·求职招聘·留学生求职
中小企业实战军师刘孙亮2 小时前
什么是增长陷阱?中小企业“增长陷阱”破局指南-佛山鼎策创局破局增长咨询
职场和发展·新媒体运营·创业创新·需求分析·内容运营
_深海凉_2 小时前
LeetCode热题100-两数之和
算法·leetcode·职场和发展
酉鬼女又兒5 小时前
零基础入门前端 第十三届蓝桥杯省赛 :水果拼盘 Flex一篇过(可用于备赛蓝桥杯Web应用开发)
前端·css·职场和发展·蓝桥杯·css3
zhaoshuzhaoshu5 小时前
微内核架构与事件驱动架构的区别与联系详细对比
职场和发展·架构
枳实-叶18 小时前
50 道嵌入式音视频面试题
面试·职场和发展·音视频
Magic--1 天前
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
算法·leetcode·职场和发展