2025-10-30 学习日记

发布于 2025-10-30 12:00 463 字 3 min read 手写 每个字都是我自己敲的。

2025-12-24 学习日记2025-12-17 学习日记2025-12-14 学习日记2025-12-09 学习日记2025-12-08 学习日记2025-12-07 学习日记2025-12-06 学习日记2025-12-05 学习日记2025-12-04 学习日记2025-12-03 学习日记2025-12-02 学习日记2025-12-01 学习日记2025-11-30 学习日记2025-11-29 学习日记2025-11-28 学习日记2025-11-27 学习日记2025-11-26 学习日记2025-11-25 学习日记2025-11-24 学习日记2025-11-23 学习日记2025-11-22 学习日记2025-11-21 学习日记2025-11-20 学习日记2025-11-19 学习日记2025-11-18 学习日记2025-11-17 学习日记2025-11-16 学习日记2025-11-15 学习日记2025-11-14 学习日记2025-11-13 学习日记2025-11-12 学习日记2025-11-11 学习日记2025-11-10 学习日记2025-11-09 学习日记2025-11-08 学习日记2025-11-07 学习日记2025-11-06 学习日记2025-11-05 学习日记2025-11-04 学习日记2025-11-03 学习日记2025-11-02 学习日记2025-11-01 学习日记2025-10-31 学习日记2025-10-30 学习日记2025-10-29 学习日记2025-10-28 学习日记2025-10-27 学习日记2025-10-26 学习日记2025-10-25 学习日记2025-10-24 学习日记2025-10-23 学习日记2025-10-22 学习日记2025-10-21 学习日记2025-10-20 学习日记2025-10-19 学习日记2025-10-18 学习日记2025-10-17 学习日记2025-10-16 学习日记2025-10-15 学习日记2025-10-14 学习日记2025-10-13 学习日记2025-10-11 学习日记2025-10-10 学习日记2025-10-09 学习日记2025-10-03 学习日记2025-10-02 学习日记2025-10-01 学习日记2025-09-30 学习日记2025-09-29 学习日记2025-09-28 学习日记2025-09-27 学习日记2025-09-26 学习日记2025-09-25 学习日记2025-09-24 学习日记2025-09-23 学习日记2025-09-22 学习日记2025-09-21 学习日记2025-09-20 学习日记2025-09-18 学习日记2025-09-17 学习日记2025-09-16 学习日记2025-09-15 学习日记2025-09-14 学习日记2025-09-13 学习日记2025-09-12 学习日记2025-09-11 学习日记2025-09-10 学习日记2025-09-09 学习日记2025-09-08 学习日记2025-09-04 学习日记2025-09-03 学习日记2025-09-02 学习日记2025-09-01 学习日记2025-08-31 学习日记2025-08-29 学习日记2025-08-28 学习日记2025-08-27 学习日记2025-08-26 学习日记2025-08-25 学习日记2025-08-24 周记2025-08-23 学习日记2025-08-22 学习日记2025-08-21 学习日记2025-08-20 学习日记2025-08-19 学习日记2025-08-18 学习日记2025-08-17 周记2025-08-16 学习日记2025-08-15 学习日记2025-08-14 学习日记2025-08-13 学习日记2025-08-12 学习日记2025-08-11 学习日记
今日学习记录 1. Problem-1914D-cf 关键词: 问题分析: 给出三行数据,要求选出三个数,不同行不同列相加为最大的三个数 核心思路: 三个数要不同行不同列,且最大,肯定是找到三行数据中每行最大的三个,由于有两个不同,则要进行选择,既要排除行也要排除列,我们先对每行数组进行排序,对数组下标按照值的大小排序,这样每行共用下标,记录下标,进行暴力搜索所有可能,就前 3X3...

今日学习记录

1. Problem-1914D-cf

关键词:模拟 问题分析: 给出三行数据,要求选出三个数,不同行不同列相加为最大的三个数

核心思路: 三个数要不同行不同列,且最大,肯定是找到三行数据中每行最大的三个,由于有两个不同,则要进行选择,既要排除行也要排除列,我们先对每行数组进行排序,对数组下标按照值的大小排序,这样每行共用下标,记录下标,进行暴力搜索所有可能,就前 3X3 的数组,时间消耗很小 **最终代码:

#include <bits/stdc++.h>

using namespace std;

#define ve vector

using ll = long long;

using ull = unsigned long long;

using sr = string;

using db = double;

int T,n;

ve<int> get_mx(ve<int> ar){

    int mx1 = -1,mx2 = -1,mx3 = -1;

    for(int i = 0;i<n;i++){

        if(mx1==-1||ar[i]>ar[mx1]){

            mx3 = mx2;

            mx2 = mx1;

            mx1 = i;

        }else if(mx2 == -1||ar[i]>ar[mx2]){

            mx3 = mx2;

            mx2 = i;

        }else if(mx3==-1||ar[i]>ar[mx3]) mx3 = i;

    }

    return {mx1,mx2,mx3};

}

int main() {

    ios_base::sync_with_stdio(false);

    cin.tie(nullptr);

    cin>>T;

    while(T--){

        cin>>n;

        ve<ve<int>> arr,nums;

        int ans = 0;

        for(int k = 0;k<3;k++){

            ve<int> ar(n);

            for(int i = 0;i<n;i++){

                cin>>ar[i];

            }

            nums.push_back(ar);

            arr.push_back(get_mx(ar));

        }

        for(int i:arr[0]){

            for(int j:arr[1]){

                for(int k:arr[2]){

                    if(i!=j&&i!=k&&j!=k) ans = max(ans,nums[0][i]+nums[1][j]+nums[2][k]);

  

        }

        }

        }

        cout<<ans<<endl;

    }

    return 0;

}

学到的点:

  1. 思维不行

执笔 手写

随机文章

加载中...