Codeforces Round 938 (Div. 3) A~F

手把手教你用U盘制作Win11启动盘:从PE工具到系统安装全流程 本文提供了一份详尽的Windows 11启动盘制作与系统安装全流程指南。从选择合适的U盘和PE工具开始,重点讲解了如何正确制作包含EFI引导分区的启动盘,并详细演示了在PE环境下进行GPT分区、使用CGI工具安装系统镜像,以及首次启动后的关键设置步骤,帮助用户轻松完成从零到一的系统安装。 阅读详情

A.Yogurt Sale(贪心)

题意:

在"Vosmiorochka"商店里,一份酸奶的价格是aaa布尔,但现在有促销活动,可以用bbb布尔买到两份酸奶。

马克西姆正好需要购买nnn份酸奶。在购买两份酸奶时,他可以选择以正常价格或促销价格购买。

马克西姆购买nnn份酸奶至少需要花费多少布尔?

分析:

两种买法,哪种最省就用哪种买,特判一下奇数情况即可。

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n, a, b;
        cin >> n >> a >> b;
        if (b >= 2 * a) {
            cout << n * a << endl;
        } else {
            int k = n / 2;
            int r = n % 2;
            cout << k * b + r * a << endl;
        }
    }
    return 0;
}

B.Progressive Square(枚举)

题意:

大小为nnn的前进方阵是一个n×nn\times nn×n的矩阵。马克西姆选择三个整数a1,1a_{1,1}a1,1​、ccc和ddd并根据以下规则构造一个前进方阵:

ai+1,j=ai,j+c a_{i+1,j}=a_{i,j}+c ai+1,j​=ai,j​+c

ai,j+1=ai,j+d a_{i,j+1}=a_{i,j}+d ai,j+1​=ai,j​+d

例如,如果n=3n=3n=3、a1,1=1a_{1,1}=1a1,1​=1、c=2c=2c=2和d=3d=3d=3,那么前进方阵的情况如下:

(1473695811) \begin{pmatrix}1&4&7\\3&6&9\\5&8&11\end{pmatrix} ​135​468​7911​​

上个月,马克西姆构建了一个前进方阵,并记住了nnn、ccc和ddd的值。最近,他发现了一个由n2n^2n2个整数随机排列而成的数组bbb,并希望确保这些元素就是该特定正方形的元素。

可以证明,对于nnn、a1,1a_{1,1}a1,1​、ccc和ddd中的任意值,都存在一个满足所有规则的渐进方格。

分析:

记录给定矩阵中每个数出现次数,选择其中最小值为a1,1a_{1,1}a1,1​,构造出合法矩阵的唯一形态并检查每个数出现次数是否合法即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;
map<LL, int> cnt;
vector<int> b;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n, c, d;
        cin >> n >> c >> d;
        cnt.clear();
        b.clear();
        for (int i = 1; i <= n * n; i++) {
            int x;
            cin >> x;
            cnt[x] = cnt[x] + 1;
            b.push_back(x);
        }
        sort(b.begin(), b.end());
        int a11 = b[0], flag = 1;
        for (int i = 1; i <= n; ++i) {
            for (int j = 1; j <= n; ++j) {
                LL x = a11 + 1ll * (i - 1) * c + 1ll * (j - 1) * d;
                if (!cnt.count(x) || cnt[x] == 0) flag = 0;
                cnt[x] = cnt[x] - 1;
            }
        }
        cout << (flag ? "YES" : "NO") << endl;
    }
    return 0;
}

C.Inhabitant of the Deep Sea(模拟)

题意:

nnn艘飞船出发探索海洋深处。这些飞船的编号从111到nnn,依次递增;第iii艘飞船的耐久度为aia_iai​。

克拉肯按照特定顺序攻击了船只kkk次。首先,它攻击第一艘飞船,然后是最后一艘,接着又是第一艘,以此类推。

克拉肯的每次攻击都会使飞船的耐久度降低111。当船只的耐久度下降到000时,它就会沉没,不再受到攻击(因此船只不再是第一艘或最后一艘,克拉肯只攻击尚未沉没的船只)。如果所有的船只都沉没了,克拉肯也就没有什么可攻击的了,于是它就游走了。

例如,如果n=4n=4n=4、k=5k=5k=5和a=[1,2,4,3]a=[1,2,4,3]a=[1,2,4,3],就会发生以下情况:

  1. 克拉肯攻击第一艘飞船,其耐久度变为零,现在为a=[2,4,3]a=[2,4,3]a=[2,4,3];
  2. 卡拉基攻击最后一艘飞船,现在为a=[2,4,2]a=[2,4,2]a=[2,4,2];
  3. 克拉肯攻击第一艘飞船,现在为a=[1,4,2]a=[1,4,2]a=[1,4,2];
  4. 克拉肯号攻击最后一艘飞船,现在是a=[1,4,1]a=[1,4,1]a=[1,4,1];
  5. 克拉肯攻击第一艘飞船,其耐久度变为零,现在为a=[4,1]a=[4,1]a=[4,1]。

克拉肯攻击后有多少艘船被击沉?

分析:

将kkk分解成两部分,然后两边往中间暴力枚举删数,即每次将左右两端血量较少的一个消灭即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;
const LL N = 1e6 + 7;

LL t, n, k, a[N];

void solve() {
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    LL l = (k + 2 - 1) / 2;
    LL r = k / 2;
    LL rt = 1;
    LL ans = 0;
    while (l != 0) {
        if (rt > n) {
            break;
        }
        if (l - a[rt] >= 0) {
            l -= a[rt];
            ans++;
            a[rt] = 0;
            rt++;
        } else {
            a[rt] -= l;
            l = 0;
            break;
        }
    }
    rt = n;
    while (r != 0) {
        if (rt < 1) {
            break;
        }
        if (a[rt] == 0) {
            break;
        }
        if (r - a[rt] >= 0) {
            r -= a[rt];
            ans++;
            a[rt] = 0;
            rt--;
        } else {
            a[rt] -= r;
            r = 0;
            break;
        }
    }
    cout << ans << endl;
}

int main() {
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

D.Inaccurate Subsequence Search(双指针)

题意:

马克西姆有一个由nnn个整数组成的数组aaa和一个由mmm个整数组成的数组bbb(m≤nm\le nm≤n)。

如果数组ccc中的元素可以重新排列,使其中至少kkk个元素与数组bbb中的元素匹配,那么他认为长度为mmm的数组ccc是好数组。

例如,如果b=[1,2,3,4]b=[1,2,3,4]b=[1,2,3,4]和k=3k=3k=3,那么数组[4,1,2,3][4,1,2,3][4,1,2,3]和[2,3,4,5][2,3,4,5][2,3,4,5]就是好数组(它们可以重新排列如下:[1,2,3,4][1,2,3,4][1,2,3,4]和[5,2,3,4][5,2,3,4][5,2,3,4]),而数组[3,4,5,6][3,4,5,6][3,4,5,6]和[3,4,3,4][3,4,3,4][3,4,3,4]则不是好数组。

马克西姆希望选择数组aaa长度为mmm的每个子段作为数组ccc的元素。帮助他计算有多少个子段是好的。

换句话说,找出有多少个位置1≤l≤n−m+11\le l\le n-m+11≤l≤n−m+1的元素al,al+1,…,al+m−1a_l,a_{l+1},\dots, a_{l+m-1}al​,al+1​,…,al+m−1​构成了一个好数组。

分析:

本题为滑动窗口,考虑使用双指针,用一个双指针在aaa数组中维护一个长度为mmm区间,同时维护当中与bbb数组中匹配的数量cntcntcnt,使用遍历进行维护肯定不行,但可以发现一个性质,就是随着区间移动,他只有首位的数字发生变化,所以我们只需要判断首位的数字匹配情况,来更新cntcntcnt即可。

代码:

#include<bits/stdc++.h>

using namespace std;
const int N = 2e5 + 5;

int arr[N], brr[N];

void solve() {
    int n, m, k;
    cin >> n >> m >> k;
    for (int i = 1; i <= n; i++) {
        cin >> arr[i];
    }
    map<int, int> mp;
    for (int i = 1; i <= m; i++) {
        cin >> brr[i];
        mp[brr[i]]++;
    }
    map<int, int> temp;

    int res = 0;
    int cnt = 0;

    for (int r = 1, l = 1; r <= n; r++) {
        temp[arr[r]]++;
        if (temp[arr[r]] <= mp[arr[r]])
            cnt++;
        if (r > m) {
            temp[arr[l]]--;
            if (temp[arr[l]] < mp[arr[l]])
                cnt--;
            l++;
        }
        if (r >= m && cnt >= k)
            res++;
    }
    cout << res << endl;
}


int main() {
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

E.Long Inversions(差分)

题意:

给出长度为nnn的二进制字符串sss。二进制字符串是仅由字符"1"和"0"组成的字符串。

可以选择一个整数kkk(1≤k≤n1\le k\le n1≤k≤n),然后任意多次进行以下运算:选择字符串中连续的kkk个字符并将其反转,即用"1"替换所有"0",反之亦然。

通过这些操作,您需要使字符串中的所有字符都等于"1"。

例如,如果是n=5n=5n=5、s=00100s=00100s=00100,则可以选择k=3k=3k=3,并按以下步骤操作:

  • 选择从第111到第333个字符的子串,得到s=11000s=\color{blue}{110}00s=11000;
  • 选择从第333到第555个字符的子串,得到s=11111s=11\color{blue}{111}s=11111;

求kkk的最大值,在这个值上,可以通过所述的操作使字符串中的所有字符都等于"1"。请注意,实现这一目标所需的操作次数并不重要。

分析:

从左到右贪心,例如101110110111011011101这个样例,设k=4k=4k=4,如果只对某一位取反,必然会影响到第i+ki+ki+k位的数,在kkk等于444时,是否该取反的状态如下:

第111到第444个数:010001000100

第555到第777个数:010010010

此时按位异或,会发现他们均为000

对样例010001001000100100010,取k=4k=4k=4时,取反状态如下:
[1 4]:1011[1~4]:1011[1 4]:1011 [5 7]:101[5~7]:101[5 7]:101

按位异或不全为000,故kkk不可能取444;取k=3k=3k=3时,有:

[1 3]:101[1~3]:101[1 3]:101 [4 6]:110[4~6]:110[4 6]:110 [7 7]:1[7~7]:1[7 7]:1

按位异或全为111,其一种推导路径如下:

010001001000100100010 011111001111100111110 100111010011101001110 100100110010011001001 111000111100011110001 111111111111111111111

因此只需要开个差分数组,暴力从大到小枚举kkk,找到使差分数组值全相等时的情况输出即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;

LL k;
string s;

void solve() {
    cin >> k;
    cin >> s;
    do {
        vector<int> a(k);
        for (int i = 0; i <= s.length() - 1; i++)
            a[i % k] ^= '1' - s[i];
        if (a == vector<int>(k, a[0])) {
            cout << k << endl;
            return;
        }
    } while (k--);
}

int main() {
    int t;
    cin >> t;
    while (t--)
        solve();
    return 0;
}

F.Unfair Game(思维)

题意:

爱丽丝和鲍勃在傍晚时分聚集在一起,就一个由nnn个整数组成的数列玩一个刺激的游戏,数列中的每个整数都不超过444}。游戏规则太复杂,无法描述,所以我们只描述获胜条件–如果序列中所有数字的按位异或都非零,则爱丽丝获胜;否则,鲍勃获胜。

他们邀请夏娃担任裁判。一开始,爱丽丝和鲍勃用nnn个数字进行游戏。一局游戏结束后,夏娃从序列中移除一个数字,然后爱丽丝和鲍勃用n−1n-1n−1个数字进行游戏。夏娃再次删除一个数字,然后爱丽丝和鲍勃用n−2n-2n−2个数字进行游戏。这个过程一直持续到数字序列为空为止。

夏娃似乎认为在这样的游戏中,爱丽丝几乎总是赢,所以她希望鲍勃赢的次数越多越好。如果夏娃以最佳方式移除数字,求鲍勃能赢爱丽丝的最大次数。

分析:

这个题其实很好想,首先可以想到444只要有那么就一定和1,2,31,2,31,2,3没有任何关系,因为无法组成000,那么就将444的数量单独拿出来看,再看1,2,31,2,31,2,3的数量,可以想到111和222可以和333抵消掉,然后就可以想出一种方法,就是将1,2,31,2,31,2,3的数量取minminmin,然后加上444的数量除以222,是一种情况,再看如果说每个的数字是偶数的话,那么很明显比1,2,31,2,31,2,3抵消要更优,因为每个数字是偶数,如果说是第一种情况最多是222,但是第二种情况每次减222的话答案可以增加333。最后就是特殊的情况,比如1,2,31,2,31,2,3的数量一样,并且全是奇数,那么答案要加111。如果说三个数字都是奇数,那么答案也要加111。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;

void solve() {
    LL a, b, c, d;
    cin >> a >> b >> c >> d;
    bool f = 0;
    if ((a == b && b == c && a % 2 == 1) || ((a % 2 == 1) && (b % 2 == 1) && (c % 2 == 1))) {
        f = 1;
    }
    LL res = (min(min(a, b), c) + d / 2);
    LL Res = (a / 2) + (b / 2) + (c / 2) + (d / 2) + ((f == 1) ? 1 : 0);
    cout << max(res, Res) << endl;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

赛后交流

在比赛结束后,会在交流群中给出比赛题解,同学们可以在赛后查看题解进行补题。

群号: 704572101,赛后大家可以一起交流做题思路,分享做题技巧,欢迎大家的加入。

拆解博世、大陆的EMB方案:自增力机构如何省下83%的能耗? 本文深度解析了博世和大陆的电子机械制动(EMB)技术,重点探讨了自增力机构如何实现83%的能耗节省。通过对比电机直驱型和自增力型EMB的技术参数,揭示了自增力机构在能量优化和系统集成方面的创新优势,为汽车电动化和智能化提供了关键技术支持。 阅读详情

相关推荐

逆变器专题(9)-基于dq坐标系的逆变器解耦控制建模与实时仿真分析

本文深入探讨了基于dq坐标系的逆变器解耦控制建模与实时仿真分析。通过生动的比喻和详细的数学推导,阐述了如何通过坐标变换和前馈补偿实现d轴与q轴的独立控制,从而提升系统动态性能与稳定性。文章还介绍了在MATLAB/Simulink中搭建仿真模型、分析动态响应与稳定性的方法,并展望了硬件在环(HIL)实时仿真的高级验证手段,为新能源并网与电机驱动领域的工程师提供了宝贵的实践指南。

gold的博客 547

Codeforces Round #839 (Div. 3)(A~F)

Codeforces Round #839 (Div. 3)(A~F)

m0_62289613的博客 926

5分钟搞懂知识抽取:如何把非结构化数据变成知识图谱的宝藏?

本文通过一个电商评论分析实战案例,详细解析了如何利用spaCy、Neo4j等工具,将非结构化文本数据转化为结构化知识图谱的完整流程。文章重点阐述了知识抽取的核心步骤,包括命名实体识别、关系抽取以及知识存储与查询,帮助读者快速掌握将数据转化为知识宝藏的关键技术。

weixin_29054245的博客 235

Codeforces Round 938 (Div. 3)(A,B,C,D,E,F,G,H)

Codeforces Round 938 (Div. 3)(A,B,C,D,E,F,G,H)

qq_45809243的博客 1180

手把手教你用ZLMediaKit搭建WebRTC直播:本地推流与播放实战

本文详细介绍了如何使用ZLMediaKit搭建WebRTC直播系统,涵盖从环境准备、编译部署、SSL证书配置到本地推流与播放的完整实战流程。通过一步步的指导,帮助开发者快速掌握基于ZLMediaKit的WebRTC推拉流技术,构建低延迟的实时音视频应用。

weixin_28842367的博客 347

电阻抗成像肺功能测试数据分析与直方图生成

本文介绍了基于MATLAB的电阻抗成像(EIT)肺功能测试数据分析方法。研究针对32×32像素的EIT图像序列,通过三步算法处理:首先计算特定时间点与谷值图像的差值,然后分析1秒后峰值与1秒值的差值,最终计算比值矩阵并处理异常值。系统展示了数据预处理、关键时间点检测、比值计算及统计分析的全流程,包括生成概率分布直方图和空间分布图等可视化方法。该分析为无创肺功能评估提供量化指标,可应用于临床呼吸监测和疾病诊断。

huanghm88的专栏 197

Codeforces Round 923 (Div. 3) A - E 题解

【代码】Codeforces Round 923 (Div. 3) A - E 题解。

m0_63322121的博客 1339

【图论】系列(一)之图论的构成

图论是研究图的数学分支,本章介绍了图论的基本构成和概念

qq_30066733的博客 748

Codeforces Round 938 (Div. 3)--->B. Progressive Square

数据结构+构造判断

qq_75103498的博客 544

【YOLOv11】006、YOLOv11数据增强策略:Mosaic、MixUp等增强技术原理解析

摘要:YOLOv11在产线缺陷检测中遇到小尺寸瑕疵漏检问题,暴露了训练数据过于"干净"的缺陷。数据增强的核心是提升模型泛化能力,而非简单扩充数据。Mosaic增强通过多图拼接迫使模型处理多尺度目标,需注意边界框裁剪细节;MixUp通过线性插值使决策边界更平滑,但需避免类别冲突。自适应增强策略应随训练进度动态调整强度。实际应用中,需针对小目标、类别不平衡等场景调整增强参数,并确保验证与推理流程一致。数据增强应针对性解决具体问题,而非盲目尝试组合。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 365

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1914

Codeforces Round 938 (Div. 3) A~H

一定存在,所以直接暴力枚举这两个数的最大公约数的因子,如果一条路上的所有数都是这个最大公约数的因子的倍数的话,则表示这个数成立,找到最大的这个数即可。直接根据给的值,去找出组成这个二维矩阵所需要的所有值,然后判断这两个数组是否相等,如果相等输出。,可以按顺序进行以下操作:先最左边的数减一,然后最右边的数减一。的一位数组,判断这个数组是否可以组成根据以上规则组成的二维矩阵。,表示鲍勃赢了 ,每次删除一个数,求鲍勃赢得最大次数。的出现的个数,如果所有数的异或等于。,那么最右边的数往左移一位,问在。

小白的博客 1168

3、图像中文字信息提取技术全解析

本文全面解析了图像中文字信息提取(Text Information Extraction,TIE)的技术原理、挑战及应用领域。详细介绍了图像中三种主要文字形式:场景文字、字幕文字和文档文字的特点及提取难点。系统阐述了TIE技术的主要流程步骤,包括文字检测、定位、提取与增强、识别等关键阶段,并对主流技术方法进行了分类比较,包括基于连通组件、边缘、纹理等方法的优缺点分析。文章还介绍了多种其他提取技术,如二值化方法、混合方法、基于梯度的方法等,并提出了一种基于立体帧的新型场景文字提取方法,通过实验验证了该方法在召

ll5678的博客 119

Codeforces Round 950

Codeforces Round 950

青少年趣味编程 966

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Codeforces Round 963

Codeforces Round 963

青少年趣味编程 696

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Codeforces Round 933 (Div. 3)

题意:n*m的河需要建造连续的k行桥,每行桥要跨越m列,首尾建造桥墩,中间需要也需要建造桥墩,桥墩间的距离要<=d+1,桥墩建造的成本和当前河的深度挂钩, 成本最低为多少。题意:n个人围城一圈扔球,现在从x人开始,已知m轮,每轮扔的距离已知,但方向可能知道可能不知道,不知道的话可能是顺时针也可能是逆时针,m轮后球可能在哪几个人手里。题意:一组长度为n的非负整数序列,每次操作可以选择下标为i的元素-2,同时(i - 1)的元素-1,(i + 1)的元素-1,是否可能使得序列的元素全部为0。

maisui12138的博客 712

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Codeforces Round 933 (Div. 3)A-F

考虑第1个数,发现只有第二个数能让他变为0,于是我们发现第二个数只有一种操作方法,第二个数操作完毕后,发现想让第二个数为0,第三个数也只有一种操作方法...因此大模拟即可,记得检查每次操作后是否出现负数。给出两个数组b、c和一个正整数k,求数对(i,j)满足bi+cj<=k的对数。考虑容斥原理,答案为map的数量加上pie的数量家去mapie的数量。求删除最少的字符让字符串不存在"map"和"pie"给出一个数组a,可以使用任意次数操作。问是否能通过操作让数组全为0。

2303_77094225的博客 642

Codeforces Round 938 (Div. 3)(A~E)

思路:类似于滑动窗口,先处理出来 第一个m 长度的窗口,up[i]表示 数字 i 在b数组中出现了 up[i] 次 ,mp[i]表示数字i在当前这个窗口中出现了 mp[i] 次.当窗口向右滑动时,假设进入窗口范围的数字是a[r],弹出窗口范围的数字是a[l],设cnt为窗口中满足条件的个数,如果mp[a[r]] < up[a[r]] ,表示a[r]的进入会使cnt增加1,如果mp[a[l]] <=up[a[l]] ,表示a[l]的进入会使cnt减少1,当cnt >= k 时,答案会加1。

yingcanye的博客 599

Codeforces Round 933 (Div. 3)(A,B,C,D,E,F,G)

Codeforces Round 933 (Div. 3)(A,B,C,D,E,F,G)

qq_45809243的博客 2057

Codeforces Round 933(Div.3) A~F

的所有单元格都对应河岸,因此它们的深度为。

Code_Shark的博客 1267

Codeforces Round 938 (Div. 3)A-C,E-H

都为2,前者操作次数为2,后者操作次数为3,所以贪心的选择后者操作。考虑2无法操作的时候,也就是1,2,3个数都为1,则进行一次前者操作。a[i]=s[i]^s[i-1],贪心的修改,若当前位置为0则进行修改,b[i]^=1,b[i+k]^=1,若i+k超出了。对于每个塔的距离增加贡献为w=p*x-3^y,p为该塔的攻击力,x为该距离范围内的路程距离,因为c,d大于0,所以不管是行还是列都是单调递增的,也就是说a[1][1]一定是最小的,贪心的考虑,当贡献为负数就不进行选择,容易发现贡献是呈指数减少的,

qq_73631501的博客 1017

Codeforces Round 938 (Div. 3)

首先对连续一段区间进行操作01反转(相当于和1异或),要保证将所有元素都变为1,那么常用的方法就是从头到尾如果为0的话就进行操作,将其一个一个变为为1,这样能保证全变为1,而且如果为0的话,操作区间是必须要包含到的,不然的话就不能将那个0变为1。然后删掉2个1,序列异或和仍为0,则2个1提供了一次贡献,同理,删掉2个2,提供一次贡献,再删掉2个2,提供一次贡献,以此类推。那么一开始的序列异或为即为0,贡献在于1个3,一个5,一个7,然后将这三个数删掉,则为2个1,4个2,6个3,4个4。

m0_74087709的博客 1037

Codeforces Round 938 (Div. 3) (A~E)

Codeforces Round 938 (Div. 3) (A~E) 题目大意 + 思路 + AC代码

weixin_74292291的博客 1819

Codeforces Round 938(Div.3)

第三道题赛后补了,其他题都没开,连题面都没时间看QAQ,后面我会努力补题的,马上要蓝桥杯的(虽然延时了),希望自己能模拟出来,能暴力出来 TOT。第二题就有点离谱了,首先就是矩阵,还好不是设计行列变换(我都忘了,线代也忘了,高斯消元也忘了…思路:判断单独付两件的钱划算还是直接按b元买两件划算,按照这样的思路来买,剩下一件的时候再用a元买下来。比赛时就AC两道,第二道太离谱了调了差不多一小时,本来就是2个半小时的场,😔有才有爱玩,真就菜就多练。然后再给定一列数,共n*n个,问能不能满足上面构造的条件。

yuyit_的博客 493

Codeforces Round 933 (Div. 3) A - E题解

【代码】Codeforces Round 933 (Div. 3) A - E题解。

m0_63322121的博客 918

codeforces round933 div3

这明显是一个线性dp,设dp[i]表示第i个格子的价值的最小值,并且dp[i]可以从前i - d - 2 ~ i - 1个状态中的最小值转移过来,求固定长度的区间中的最值,这道题就变成了单调队列板子题...问题:在取模操作求可能持有球的球员过程中,由于球员是1到7的,因此可以让第一个持球的球员本身编号 - 1这样的取模操作的含义就变成了传球后持球球员距离0的距离,最后输出的时候再+ 1就输出了编号。代码也可以写成一个循环,如果碰见子串map, pie ans ++ mapie ans --

2201_75845839的博客 492
上一篇: Codeforces Global Round 25 A~E
下一篇: AtCoder Beginner Contest 349 A~F
AC-Panda
博客等级 码龄5年 1736粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值