当前位置: 首页 > news >正文

每日总结3.27


蓝桥刷题

1.
团建
(树+dfs)
#include <bits/stdc++.h>
using namespace std;
const int N=200005;
int a[N],b[N];
int ans;
map<int,vector<int>>m1,m2;
void dfs(int x,int y,int count)
{
  if(a[x]!=b[y])
  {return;}
  ans=max(ans,count+1);
  for(int i=0;i<m1[x].size();i++)
  {
    for(int j=0;j<m2[y].size();j++)
    {
      int a1=m1[x][i];
      int b1=m2[y][j];
      dfs(a1,b1,count+1);
    }
  }
}
signed main()
{
  int n,m;
  cin>>n>>m;
  for(int i=1;i<=n;i++)
  {cin>>a[i];}
  for(int i=1;i<=m;i++)
  {cin>>b[i];}
  for(int i=0;i<n-1;i++)
  {
    int u,v;
    cin>>u>>v;
    m1[u].push_back(v);
  }
  for(int i=0;i<m-1;i++)
  {
    int u,v;
    cin>>u>>v;
    m2[u].push_back(v);
  }
  dfs(1,1,0);
  cout<<ans;
  return 0;
}


2.
反倍数
#include <iostream>
using namespace std;
#define int long long
signed main()
{
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n,a,b,c;
  int ans=0;
  cin>>n>>a>>b>>c;
  for(int i=1;i<=n;i++)
  {
    if(i%a!=0&&i%b!=0&&i%c!=0)
    {
      ans++;
    }
  }
  cout<<ans;
  return 0;
}


3.
迷宫


#include<bits/stdc++.h>
using namespace std;
//typedef long long LL;
//const int N = 100010;
char mp[15][15]; //地图存放 
bool vis[15][15];//判断该路是否走过 
int cnt = 0;     //记录走出人数 
void dfs(int x, int y){//从(x,y)点出发的人 
    if(x<1 || x>10 || y < 1 || y > 10){ //如果超出范围,则走出 
        cnt=cnt+1;//走出的人数加一 
        return;
    }
    
    if(vis[x][y]) return;//如果该点走过则返回,用以判断是否绕圈 
    vis[x][y] = 1;       //没走过则标记走过 
    
    if(mp[x][y] == 'U'){
        int dx = x - 1;
        int dy = y;
        dfs(dx,dy);
    }else if(mp[x][y] == 'D'){
        int dx = x + 1;
        int dy = y;
        dfs(dx,dy);
    }else if(mp[x][y] == 'L'){
        int dx = x;
        int dy = y - 1;
        dfs(dx,dy);
    }else if(mp[x][y] == 'R'){
        int dx = x;
        int dy = y + 1;
        dfs(dx,dy);
    }
}

int main(){
    for(int i = 1; i <= 10; i++){
        for(int j = 1; j <= 10; j++){
            cin >> mp[i][j];
        }
    }
    for(int i = 1; i <= 10; i++){
        for(int j = 1; j <= 10; j++){
            dfs(i,j); //枚举每个点作为起点 
            memset(vis,0,sizeof vis);//换起点时初始化vis数组 
        }
    }
    cout << cnt;
return 0;}


4.全部都有的子序列
(哈希表)

#include <bits/stdc++.h> 
using namespace std;
set<int> p;
int a[100005];
int st[100005];
int num=100005;
signed main()
{
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
  {
    cin>>a[i];
    p.insert(a[i]);
  }
  int len=p.size();
  for(int i=0;i<n;i++)
  {
    int ans=0;
    memset(st,0,sizeof(st));
    for(int j=i;j<n;j++)
    {
      if(st[a[j]]++==0)
      {
        ans++;
      }
      if(ans==len)
      {
        num=min(num,j-i+1);
        break;
      }
    }
  }
  cout<<num;
  return 0;
}


力扣刷题

300.
最长递增子序列

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        int dp[10100];
        dp[0]=1;
        int cnt=1;
        for(int i=1;i<nums.size();i++)
        {
            dp[i]=1;
            for(int j=0;j<i;j++)
            {
                if(nums[i]>nums[j])
                {
                    dp[i]=max(dp[i],dp[j]+1);
                    cnt=max(dp[i],cnt);
                }
            }
        }
        return cnt;
        
         }
};

http://www.dtcms.com/a/94046.html

相关文章:

  • linux服务器配置jupyter或python上安装字体
  • 单片机时钟树中RTC和IWDG讲解
  • LeetCode hot 100—零钱兑换
  • Open WebUI自定义OpenWebUI图标
  • 基于springcloud微服务架构的巡游出租管理平台
  • SQL优化 | 精准区分 trace_id、sql_id、plan_id(二)
  • HarmonyOS-ArkUI Navigation (导航组件)-第一部分
  • 【网络丢包】原因排查及优化
  • PTA 7-16 一元多项式求导
  • leetcode1248. 统计「优美子数组」
  • JavaScript获取元素及事件5种方法
  • 软考《信息系统运行管理员》- 5.5 信息系统数据资源的开发与利用
  • CLion配置问题解决
  • UML事务、关系、UML图(高软54)
  • 批量将多个 XPS 文档转换为 PDF 格式
  • AI PPT哪家强?2025年4款高效工具深度测评
  • android-enableJetifier作用
  • Manus智能体具体是指什么
  • 【前端】【面试】前端 Diff 相关考题及答案
  • Unity 编辑器中动画分割/创建动画剪辑
  • 分布式队列(java)
  • UML 图六种箭头含义详解:泛化、实现、依赖、关联、聚合、组合
  • 【力扣hot100题】(005)三数之和
  • CrossNorm与SelfNorm的具体实现
  • 【Python】编程50个经典操作
  • 向量数据库的适用场景与局限性分析
  • R²AIN SUITE 助力医药企业服务管理数智化转型
  • jmeter 镜像构建
  • PostgreSQL: GIN 索引详解
  • 详解c++中的可调用对象,std::function、Lambda表达式、std::bind等