Codeforces Round 942 (Div.1) & (Div. 2) 2A~2D

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

2A.Contest Proposal(枚举)

题意:

一个竞赛包含nnn个问题,第iii个问题的难度预计最多为bib_ibi​。现在已经有nnn个问题提案,第iii个问题的难度为aia_iai​。最初,a1,a2,…,ana_1,a_2,\ldots,a_na1​,a2​,…,an​和b1,b2,…,bnb_1,b_2,\ldots,b_nb1​,b2​,…,bn​都是按非递减顺序排序的。

有些问题可能比预期的更难,因此作者必须提出更多的问题。当提出难度为www的新问题时,最难的问题将从竞赛中删除,问题将以难度不递减的方式排序。

换句话说,在每次操作中,你都要选择一个整数www,将其插入数组aaa中,对数组aaa进行非递减排序,并从中删除最后一个元素。

求使对于所有iii都有ai≤bia_i\le b_iai​≤bi​的的最小新问题数。

分析:

因为选的www一定可以让它合法,一次操作可以看作aaa数组向右平移一位。遍历aaa数组中每个数和第一个比bbb数组小的差值,取最大值即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;
const LL N = 105;
LL a[N], b[N];

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n, ans = 0, flag = 0;
        cin >> n;
        for (int i = 0; i < n; i++) {
            cin >> a[i];
        }
        for (int i = 0; i < n; i++) {
            cin >> b[i];
        }
        for (int i = 0; i < n; i++) {
            flag = 0;
            for (int j = i; j < n; j++) {
                if (a[i] <= b[j]) {
                    ans = max(j - i, ans);
                    flag = 1;
                    j = n;
                }
            }
            if (flag == 0) {
                ans = max(n - i, ans);
            }
        }
        cout << ans << endl;
    }
    return 0;
}

2B.Coin Games(博弈)

题意:

桌子上有nnn枚硬币围成一个圆圈,每枚硬币要么朝上,要么朝下。爱丽丝和鲍勃轮流玩下面的游戏,爱丽丝先玩。

在每次操作中,玩家选择一枚正面朝上的硬币,取出硬币并翻转与其相邻的两枚硬币。如果(操作前)只剩下两枚硬币,则取出一枚,另一枚不翻转(因为会翻转两次)。如果(操作前)只剩下一枚硬币,则不会翻转任何硬币。如果(操作前)没有正面朝上的硬币,玩家就输了。

如果两人都以最佳方式下棋,谁会赢呢?可以证明,游戏将在有限次的操作中结束,其中一人将获胜。

分析:

将UUU视作111,将DDD视作000,一次操作就是拿走一个111,将两侧分别异或111。

观察样例,猜测UUU有奇数个先手赢,反之后手赢。

证明:根据上述转化,判定条件等价于判断全局异或和为000还是为111。一次操作对全局异或和的影响是将其与111进行异或。

初始异或和为111时,先手必定可以操作,到后手时异或和为000,后手可能可以操作,回到先手,异或和还是111,必定可以操作。如此往复,只要后手能操作,先手必定可以操作。

另一种情况类似。

代码:

#include<bits/stdc++.h>

using namespace std;

void solve() {
    int n;
    cin >> n;
    string s;
    cin >> s;
    int cnt = 0;
    for (int i = 0; i < n; i++)
        if (s[i] == 'U')
            ++cnt;
    if (!cnt) {
        cout << "NO" << endl;
        return;
    }
    if (cnt & 1) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }
}

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

2C1A.Permutation Counting(贪心)

题意:

你有一些卡片。每张卡片上都写着一个介于111和nnn之间的整数:具体来说,从111到nnn的每张iii,你们有aia_iai​张卡片,上面写着数字iii。

还有一个商店,里面有无限量的各种类型的卡片。你有kkk枚金币,因此你总共可以购买kkk张新卡片,你所购买的卡片可以包含111到nnn之间的任意整数。

购买新牌后,您要将所有牌重新排列成一行。重新排列的得分是长度为nnn的(连续)子数组中[1,2,…,n][1,2,\ldots,n][1,2,…,n]的排列数。你能得到的最高分是多少?

分析:

贪心地考虑优先用kkk买原本数量少的卡片,使每种卡片的最少数量尽可能大。

推导一下可以发现使答案尽可能大的结构是1,2,3,4,1,2,3,41,2,3,4,1,2,3,41,2,3,4,1,2,3,4这样的排列。

计算贡献,假设最小值为xxx,比xxx大的有yyy个,我们一定会把这yyy个尽量往前放,让较小的xxx利用充分,这样总共有(x−1)n+1+y(x−1)n+1+y(x−1)n+1+y个合法子段。

然后就是模拟,把kkk尽量往数量少的分。使用差分维护即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;

void solve() {
    LL n, k;
    cin >> n >> k;
    vector<LL> a(n, 0);
    for (int i = 0; i < n; i++)
        cin >> a[i];
    sort(a.begin(), a.end());
    vector<LL> dlt(n, 0);
    for (LL i = 0; i < n - 1; i++) {
        if (!k)
            break;
        LL x = (i + 1) * (a[i + 1] - a[i]);
        if (k >= x) {
            dlt[i] += a[i + 1] - a[i];
            k -= x;
        } else {
            LL d = k / (LL) (i + 1);
            for (LL j = 0; j <= i; j++)
                a[j] += d;
            k -= (i + 1) * d;
            for (LL j = i; j >= 0; j--)
                if (k) {
                    ++a[j];
                    --k;
                }
            break;
        }
    }
    LL sum = 0;
    for (LL i = n - 1; i >= 0; i--)
        sum += dlt[i], a[i] += sum;
    LL d = k / (LL) n;
    k -= n * d;
    for (LL i = n - 1; i >= 0; i--)
        a[i] += d;
    for (LL i = n - 1; i >= 0; i--)
        if (k) {
            ++a[i];
            --k;
        }
    LL res = 0;
    for (LL i = n - 1; i >= 0; i--)
        if (a[i] > a[0])
            ++res;
    cout << a[0] * n - n + 1 + res << endl;
}

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

2D1(1B1).Reverse Card (Easy Version)(数学)

题意:

给你两个正整数nnn,mmm。

请计算满足以下条件的有序数对(a,b)(a,b)(a,b)的个数:

  • 1≤a≤n1\le a\le n1≤a≤n,1≤b≤m1\le b\le m1≤b≤m;
  • a+ba+ba+b是b⋅gcd⁡(a,b)b\cdot\gcd(a,b)b⋅gcd(a,b)的倍数。

分析:

gcd(a,b)gcd(a,b)gcd(a,b)一定是等于bbb,问题转换为(a+b)%(b∗b)==0(a+b)\%(b*b)==0(a+b)%(b∗b)==0。

那么aaa是bbb的倍数一定成立,可以通过枚举bbb来找aaa。

代码:

#include<bits/stdc++.h>

using namespace std;

void solve() {
    int n, m;
    cin >> n >> m;
    int ans = 0;
    for (int b = 1; b <= m; ++b) {
        ans += (n / b + 1) / b - (b == 1);
    }
    cout << ans << endl;
}

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

2D2(1B2).Reverse Card (Hard Version)(数学)

题意:

给你两个正整数nnn,mmm。

请计算满足以下条件的有序数对(a,b)(a,b)(a,b)的个数:

  • 1≤a≤n1\le a\le n1≤a≤n,1≤b≤m1\le b\le m1≤b≤m;
  • b⋅gcd⁡(a,b)b\cdot\gcd(a,b)b⋅gcd(a,b)是a+ba+ba+b的倍数。

分析:

将gcd⁡(a,b)\gcd(a,b)gcd(a,b)表示为ddd。假设有a=pda=pda=pd和b=qdb=qdb=qd,那么我们知道gcd⁡(p,q)=1\gcd(p,q)=1gcd(p,q)=1.

(a+b)∣(b⋅gcd⁡(a,b))  ⟺  (pd+qd)∣(qd2)  ⟺  (p+q)∣(qd)(a+b)\mid(b\cdot\gcd(a,b))\iff(pd+qd)\mid(qd^2)\iff(p+q)\mid (qd)(a+b)∣(b⋅gcd(a,b))⟺(pd+qd)∣(qd2)⟺(p+q)∣(qd)

已知gcd⁡(p+q,q)=gcd⁡(p,q)=1\gcd(p+q,q)=\gcd(p,q)=1gcd(p+q,q)=gcd(p,q)=1,所以是(p+q)∣d(p+q)\mid d(p+q)∣d。

我们还知道p≥1,q≥1p\ge 1,q\ge 1p≥1,q≥1,所以p<d=ap≤npp\lt d=\frac{a}{p}\le\frac{n}{p}p<d=pa​≤pn​,从而 p2<np^2\lt np2<n。同样,我们可以证明q2<mq^2\lt mq2<m。

所以(p,q)(p,q)(p,q)的个数是O(nm)=O(n+m)\mathcal O(\sqrt{nm})=\mathcal O(n+m)O(nm​)=O(n+m)。我们可以枚举出gcd⁡(p,q)=1\gcd(p,q)=1gcd(p,q)=1的每个(p,q)(p,q)(p,q),并计算出答案。需要(p+q)∣d(p+q)\mid d(p+q)∣d,因此我们加上⌊min⁡{⌊np⌋,⌊mq⌋}p+q⌋\left\lfloor\frac{\min\{\lfloor\frac{n}{p}\rfloor,\lfloor\frac{m}{q}\rfloor\}}{p+q}\right\rfloor⌊p+qmin{⌊pn​⌋,⌊qm​⌋}​⌋。

时间复杂度:O(∑n+∑m)\mathcal O(\sum n+\sum m)O(∑n+∑m)。

代码:

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
    int t;
    cin >> t;
    while (t--) {
        ll n, m;
        cin >> n >> m;
        ll sq = sqrt(n) + 2, sqm = sqrt(m) + 2;
        vector bad(sq + 1, vector<bool>(sqm + 1, 0));
        for (ll i = 2; i <= min(sq, sqm); i++) {
            for (ll a = i; a <= sq; a += i) {
                for (ll b = i; b <= sqm; b += i) {
                    bad[a][b] = true;
                }
            }
        }
        ll ans = 0;
        for (ll a = 1; a * a <= n; a++) {
            for (ll b = 1; b * b <= m; b++) {
                if (bad[a][b]) continue;
                ans += min(n / (a + b) / a, m / (a + b) / b);
            }
        }
        cout << ans << endl;
    }
    return 0;
}

赛后交流

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

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

逻辑漏洞:水平越权、垂直越权靶场练习 水平越权和垂直越权是组织中常见的管理问题,指的是员工在组织中所拥有的权力和责任超出其职位所应具备的范围。 水平越权是指员工在同一级别的职位上超越了其同事的权力和责任范围,通常表现为某个员工在团队中承担了过多的任务或权力,导致其他同事感到不公平或不满。 垂直越权则是指员工在组织中超越了其职位等级的权力和责任范围,通常表现为员工在没有得到上级批准的情况下做出决策或行动,可能会导致组织内部的混乱和冲突。 阅读详情

相关推荐

【STM32G474实战】RS485通信的DMA优化策略与性能对比

本文深入探讨了在STM32G474微控制器上优化RS485通信的DMA策略。通过对比轮询、中断和DMA三种数据传输方式的代码实现与性能,揭示了DMA在解放CPU、降低占用率方面的巨大优势。文章提供了详细的DMA配置指南、高级应用技巧(如结合空闲中断)以及一个高可靠通信框架的实战思路,旨在帮助开发者构建高效、实时的工业控制系统。

weixin_29268331的博客 303

Turtle Puzzle: Rearrange and Negate(Round 929)

【代码】Turtle Puzzle: Rearrange and Negate(Round 929)

GordrnGhost的博客 878

基于STM32的智能循迹小车设计(基础版)

基于STM32的智能循迹小车设计 硬件准备 1、小车底盘+四直流电机(带轮) 2、STM32F103C8T6核心板 3、12V 8700mAh锂电池(可以用几节18650锂电池) 4、循迹模块 选择的是TCRT500L,五路集成在一起,集成度比较高,但是可能不如五个单独的循迹模块好用 5、L298N电机驱动模块 四驱车为啥用L298N电机驱动模块? 可以把左边的两个电机并联,用输出A控制。把右边的两个电机并联,用输出B控制。 12V供电接电源正极,供电GND接电源负极和核心板GND,5V供电接核心

Rendezvous1的博客 3万+

Codeforces Round 942 (Div. 2)

题意:给出两个长度为n的非递减排序的ab序列,通过向a序列中插入新元素,然后排序后删除最大元素,使得两个长度为n的排列中每一个。张,可以到商店买任意卡片,买一张需要1个金币,一共有k枚金币,买完牌重新排列后最多有多少连续子数组可以构成完整的1到n的排列。题意:找出两个元素a和b,范围分别为[1,n]和[1, m],找出符合(a+b)%(b*gcd(a,b)) == 0的对数。题意:n枚硬币围成一个圈,A和B轮流操作,每次选择一枚正面的硬币拿走,然后翻转相邻的两枚硬币,当一人无法操作时另一人胜利。

maisui12138的博客 1081

【软考高级系统架构论文】论微服务架构及其应用

本文围绕“论微服务架构及其应用”展开论述。首先概要介绍了本人参与的某公司线上电子商务平台项目,在其中担任系统架构设计师。接着分析了微服务架构相较于单块架构的特点,如模块化与组件化、技术栈多样性、独立部署与扩展、高度容错与可用性等。最后结合项目阐述了软件架构对微服务模式的采用情况,以及实施过程中遇到的问题及解决方案,如服务划分粒度、数据一致性、监控与故障排查等问题,并给出了相应解决办法。

qq837993702的博客 225

YOLOv9原创自研:卷积魔改 | 一种新颖的风车形卷积(PConv)融合注意力机制,加强微弱小目标检测能力

为了进一步提升小目标检测能力,风车形卷积(PConv)融合注意力机制进一步提升小目标检测能力

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 361

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 201

第01章 Hermes Agent 是什么

如果读者所在的开发团队已经引入了 Cursor、Claude Code 这类 AI IDE,可能会有一个困惑:写代码已经有 AI 帮忙了,还需要 Hermes Agent 做什么?这一章将给出答案。Hermes Agent 不是另一个写代码的 AI,而是一个常驻在团队里的"AI 协作成员",专门负责写代码之外的协作环节——讨论需求、审查代码、查日志、监控告警、生成报告。学完本章,读者将清楚 Hermes 的定位以及它在团队里的角色。

亢少军的博客 75

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 309

unity6000.0.3版本URP下ScriptableRendererFeature如何实现一张自定义贴图效果?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 584

【C2000系列DSP的Bootloader详解】如何利用脚本自动合并Bin文件

本文通过OutconvertBin.py实现了 C2000 Bootloader+UserApp 的「ELF 转 BIN+BIN 合并」全流程自动化,核心优势如下: 架构适配:严格遵循 C28x 16 位大端格式,生成的 BIN 文件可直接烧录; 自动化程度高:一键完成清理、转换、合并,无需手动执行多个命令; 可追溯性:生成 CRC32 校验值,便于验证文件完整性; 量产友好:合并后的merged.bin支持一次性烧录,提升量产效率。

昔时扬尘处 183

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 571

后悔没早点知道!用AI只需四步,一次性讲清高质量论文引言写法(附公式+AI指令)

帮我写SCI 论文撰写引言的“研究背景与重要性”,要求从本研究所属领域的小背景切入,使用现在时态描述该领域的总体状况与发展趋势,突出其在学术研究、实际应用或社会层面的重要价值,并通过一个吸引人的钩子开头,如关键事实、现实问题或学术热点,引导读者关注本主题的重要性。梳理你所在领域和你研究相关的关键成果,但不能罗列所有文献,重点抓核心脉络,这部分最重要的实际上是让你了解别人的研究脉络,然后在每个关键的节点上,引用几篇关键参考文献作支撑,来体现你对领域的熟悉度就可以了。3)研究缺口模糊,没法突出问题的真实价值;

qq_64378896的博客 116

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 20

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 748

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 367

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 170

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 82

算法61,判定是否为字符重排

两字符串能互为重排 ⇔。

sheshibenniaodan的博客 217

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 178

算法札记:几何分布在算法题UVA1262的运用

集卡问题求解核心:将集齐n种优惠券的过程分为n个阶段,每个阶段期望购买次数为 $ \frac{n}{k} $(k为剩余种类数),总期望为 $ n \cdot H_n $(调和数)。通过自洽方程推导单阶段期望,无需几何分布或无穷级数,逻辑清晰且适用于大一水平。例如,n=5时期望约11.42,非5。题目要求以带分数形式输出精确结果,算法上需累加分数并化简。

Keven_11的博客 349

不同的二叉搜索树

互不相同的二叉搜索树的种数,以 j (1<=j<=i)为头节点,左子树是 j-1 个数,右子树就是 i - (j - 1) -1 = i - j个数。所以dp[3] = dp[0] * dp[2] + dp[1] * dp[1] + dp[2] * dp[0]头1 = 左子树0节点 * 右子树2节点,二叉搜索树就是排序树,左子树<根节点<右子树,左右子树也满足左子树<根节点<右子树。头2 = 左子树1节点 * 右子树1节点。所以dp[i] += dp[j-1] * dp[i-j]个节点组成且节点值从。

qq_44721738的博客 152

考拉兹猜想 - 7

本文通过引入虚数单位重构Collatz猜想的迭代逻辑,指出偶数减半与奇数“乘3加1”的过程在虚数坐标下等价于归结操作。关键在于:乘3加1使奇数跃升至偶数,随后持续减半,而虚数单位代表“无限减1”,实现无限向有限的转化。无论初始值如何,减半始终主导,最终归结为4-2-1循环。该视角消解了正向思维中的速度竞争疑虑,证明归结是必然结果。

杨铸人的博客 42

SSL证书选RSA还是ECDSA:公钥算法、CA签名与兼容性怎么核对

申请SSL证书时,RSA和ECDSA该怎么选?先分清站点公钥算法、CA签名算法和TLS实际兼容性,再用隔离OpenSSL实验读取两类材料,核对申请、续期和部署交接,避免只看Signature Algorithm就选错。

谁呀!的博客 399

贪心题目:可以到达的最远建筑

为了到达尽可能远的建筑物,在将砖块替换成梯子时,应将高度差最大位置的砖块替换成梯子,此时剩余的砖块数量最多,如果将高度差较小位置的砖块替换成梯子,则剩余的砖块数量较少,能到达的最远建筑物下标不可能更大。开始向后面的建筑物移动,移动过程中维护优先队列存储正高度差,优先队列的队首元素是最大元素,每次遇到正高度差时优先考虑使用砖块,如果砖块数量不够则使用梯子替换最大高度差位置的砖块,直到砖块和梯子都使用完毕时,到达的建筑物即为最远建筑物。如果以最佳方式使用给定的梯子和砖块,返回可以到达的最远建筑物的下标。

stormsunshine的博客 181

从曲线到储层:Techlog/KAPPA 全流程算法、UltraLAB 选型与本地 AI 部署实战

以高频 CPU 保证交互,以充足内存承载多井与多任务,以 NVMe 打通项目和知识库 I/O,再按本地模型、上下文与并发配置 GPU。对 UltraLAB 用户而言,更合理的采购方式是带着真实项目做选型:一组典型井、一套完整解释模板、一个目标大模型、一次多人并发测试。用实测结果确定配置,才能把预算转化为解释效率,而不是闲置算力。软件模块、操作系统与许可条件以厂商当前正式说明为准;硬件建议需结合项目实测。AI 输出只能作为辅助证据,不能替代岩石物理与油藏工程专业审核。

wdf8088的博客 181
上一篇: Educational Codeforces Round 165 (Div. 2) A~E
下一篇: Codeforces Round 943 (Div. 3) A~G1
AC-Panda
博客等级 码龄5年 1736粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值