D. Robert Hood and Mrs Hood题解

EtherCAT从站协议栈---- sampleappl.c 文件解析 这个源文件实际上包含该项目的入口函数main函数。 那么如何找到入口函数呢? 可以进入debug的simulator模式,选中run to main(), 当执行完启动文件startup_cm3.s后就进入了main函数(注意在main函数之前还进入了SystemInit函数), 如下图所示: 这个main函数主要架构如下: int main(void) { HW_Init(); /*PDI(过程数据接口)初始化,这里用的是MCI接. 阅读详情

题目链接

题目分析

根据题目的意思,我们是需要检查在范围[1,n−d+1]内所有可能起始日,并找出满足需求的起始日(即和brother的重合数最多,和mother重合时间最少);

暴力想法

一开始我的想法就是枚举每一个可能的左区间x,并且计算以该点为左区间的整个区间[x,x+d-1](注意这里是x+d-1!因为是在第x天开始持续d天,所以结束是第x+d-1天)与 k k k个 r i s k y ′ j o b s ′ p l a n n e d risky 'jobs' planned risky′jobs′planned时间区间的重合数量,于是就有了如下代码:

    int t;
    cin >> t;
    while (t--)
    {

        int n, d, k;
        cin >> n >> d >> k;

        vector<PII> wk;
        while (k--)
        {
            int l, r;
            cin >> l >> r;
            wk.push_back({l, r});
        }

        int mx = 0, ml = 1;
        int mn = 0x3f3f3f3f, mml = 1;
        for (int x = 1; x <= n - d + 1; x++)
        {
            int res = 0, res1 = 0;
            for (auto i : wk)
            	// 当x=>l[i]-d+1并且x<=r[i]的时候,这两个区间就是重叠的,可以画个图想想为什么;
            	// (好吧其实是因为当x==l[i]-d+1的时候以x为左端点的区间的右端点刚好和l[i]重合,符合条件;
                if (x >= i.first - d + 1 && x <= i.second)
                    res++, res1++;
            if (res > mx)
                mx = res, ml = x;
            if (res1 < mn)
                mn = res1, mml = x;
        }
        cout << ml << " " << mml << endl;
    }

优化

当我满心欢喜的提交代码的时候~Time limit exceeded on test 3 ~,来分析下为什么:每次我们在找到一个新的左区间端点x的时候都需要重新遍历来计算一次一共有几个区间和[x,x+d-1]有交集;
那么有没有什么办法能快速计算出区间[x,x+d-1]与几个区间有交集呢,这里提供了一个思路:==>用前缀和分别存储左区间端点和右区间端点,枚举变化区间的右端点x,那么交集的个数就是 ss[x] - es[x - d],这个很容易想明白为什么

#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
int main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    freopen("in", "r", stdin);
    int t;
    cin >> t;
    while (t--)
    {

        int n, d, k;
        cin >> n >> d >> k;
        int most = 0, least = 0x3f3f3f3f;
        int mstl = 1, lstl = 1;

        vector<int> ss(n + 1), es(n + 1);
        while (k--)
        {
            int a, b;
            cin >> a >> b;
            ss[a]++;
            es[b]++;
        }

        for (int i = 1; i <= n; i++)
            ss[i] += ss[i - 1], es[i] += es[i - 1];

        for (int x = d; x <= n; x++)
        {
            int cur = ss[x] - es[x - d];
            if (cur > most)
                most = cur, mstl = x - d + 1;
            if (cur < least)
                least = cur, lstl = x - d + 1;
        }

        cout << mstl << ' ' << lstl << endl;
    }
    return 0;
}
Android TV 遥控器全链路按键适配指南:从物理按键到应用响应 本文深入探讨了Android TV遥控器按键适配方案,涵盖红外和蓝牙遥控器的工作原理及完整适配流程。红外遥控部分详细介绍了从硬件调试、驱动适配到键值映射配置的方法,并提供了实用的调试命令。蓝牙遥控器部分解析了HID协议和报告描述符,给出内核层与Android层的适配代码示例。文章还介绍了游戏手柄、语音遥控器等特殊外设的适配技巧,并提供了系统级调试工具和内核级调试方法,为开发者提供了一套完整的Android TV输入设备适配解决方案。 阅读详情

相关推荐

Qt 5.9.1 32位下,手把手搞定周立功CAN二次开发库的加载与配置(含常见错误排查)

本文详细介绍了在Qt 5.9.1 32位环境下配置周立功CAN二次开发库的完整流程,包括环境准备、项目配置、常见错误排查及性能优化建议。特别针对MinGW 32bit环境,提供了.pro文件的精准配置和DLL部署策略,帮助开发者快速解决库文件匹配、编译报错和运行时问题,实现高效的CAN总线通信开发。

weixin_28717431的博客 356

Codeforces Round 974 (Div. 3)A,B,C,D题解

先说一下这是我的第一篇题解,语言组织可能有点不妥。

tao_jisheng的博客 1676

SAP SD核心流程解析:从销售订单到财务结算的实战指南

本文深入解析SAP SD模块从销售订单到财务结算的核心流程,重点剖析了销售订单中的行项目类别如何作为流程的“总开关”,决定了后续交货、开票及财务集成的走向。文章结合实战案例,详细拆解了正常销售、退货、第三方销售、寄售等典型流程的配置要点与国内化适配方案,并阐述了SD与财务模块集成的关键连接点,为顾问和用户提供了一份全面的实战指南。

weixin_29250403的博客 426

Turtle Puzzle: Rearrange and Negate(Round 929)

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

GordrnGhost的博客 878

CentOS7下OpenVPN Access Server 2.12.0安装与智能分流配置指南

本文详细介绍了在CentOS7系统上安装OpenVPN Access Server 2.12.0并进行智能分流配置的完整指南。从环境准备、核心安装到智能分流策略的深度配置,提供了经过验证的优化方案和故障排查技巧,帮助用户实现高效的VPN网关部署和流量管理。

weixin_30546189的博客 289

从封装到先进封装:一文讲透Chiplet、2.5D/3D堆叠与系统集成

封装是芯片产业链中连接硅片与电路板的桥梁,承担物理保护、电气连接、散热与机械支撑等核心任务。传统封装从DIP、QFP发展到BGA,通过提升引脚密度满足早期性能需求。随着摩尔定律放缓,单纯缩小晶体管尺寸难以为继,先进封装应运而生,其核心理念从“封装单颗芯片”转向“系统级高密度集成”。扇出型封装、2.5D硅中介层、3D堆叠、Chiplet和系统级封装等技术,通过微米级互连和垂直堆叠,大幅提升I/O密度与带宽,成为AI芯片、HBM存储、高性能计算等领域的关键支撑。本文梳理先进封装的技术演进、分层架构与工程难点,帮

weixin_29185167的博客 367

【算法刷题】前缀和与差分

菜狗刷题记录,持续更新。

头顶尖尖的博客 532

opencv图像去畸变

opencv图像去畸变

智能机器人产学研基地 4870

CF Round 794(div3)A-D题解

最后的叶子数,就是最后k年的叶子的数量。那问题就变成了,求区间内长奇数片叶子的年份,是奇数还是偶数。而奇数片叶子的年份如果是奇数,则总答案为奇数(奇+奇+奇=奇)。之后,我们再遍历一遍原数组,枚举起始日,找到工作贡献最多和工作贡献最少的那一天,就是答案。如果现在的钱的总和tot已经超过这个值,则不用加x就会满足情况,所以输出0。有了平均钱数,乘以人数n,得到“临界状态的总数”,叫它ans。有超过一半的人的钱乘上两倍还比平均的钱少,罗宾汉就会出现。否则,临界值与现在总和的差值,就是要加上的x的大小。

Zhou_yu_cong的博客 1939

数学建模算法案例精讲500篇-【深度强化学习】深度确定性策略梯度(DDPG)(附MATLAB和python代码实现)

它是一种学习连续动作的无模型策略算法。它结合了DPG(确定性策略梯度)和DQN(深度Q网络)的思想。它利用DQN中的经验重放和延迟更新的目标网络,并基于DPG,可以在连续的动作空间上运行。# 用于生成带有噪声的动作def __init__(self, action_space, mu=0.0, theta = 0.15, max_sigma = 0.3, min_sigma = 0.3, decay_period = 100000):#decay_period要根据迭代次数合理设置# 均值 mu。

qq_36130719的博客 325

045、镜头模组公差链分析:从 Lens 到 Sensor 的装配公差累积与良率优化

本文深入分析了镜头模组从镜片到传感器各环节的公差累积问题及优化策略。文章首先剖析了四级公差链(镜片单体、镜筒装配、VCM定位、传感器贴装)的误差传递机制,指出各环节典型公差值及其影响(如5微米镜片偏差可导致0.02度光线偏折)。其次对比了最坏情况法与均方根法的差异,强调需考虑公差相关性(如镜片曲率与镜筒间隙的正相关性)。最后提出良率优化"三板斧":通过蒙特卡洛仿真优化公差分配、采用主动对准工艺在线补偿、建立数据反馈闭环系统,并结合"阴阳脸"案例说明如何定位根因(模具磨损+贴片机老化导致的误差叠加)。作者总结

sundong_81的博客 59

Codeforces Round 974 (Div. 3) D,H,G

给定m个区间,q个查询,每次给出一个区间,求给定区间和m个区间的交集个数。分层图,对于这种同时出发相遇求最小时间的跑两边最短路,然后枚举相遇点即可。使用前缀和预处理,记录以左端点开头的和以右端点结尾的区间个数即可。本质上是求区间内数的出现次数是否均为偶数次,莫队即可。

Unlimitedz的博客 448

LeRobot 入门教程(十三)集成自定义的机器人、相机等硬件

本文详细介绍了如何将自定义机器人集成到LeRobot生态系统的完整流程。主要内容包括:1)硬件准备与通信接口选择;2)继承Robot基类实现标准接口;3)定义观察特征和动作特征;4)处理设备连接/断开逻辑;5)支持校准与配置;6)实现核心传感器读取和动作发送功能;7)可选遥操作器集成;8)遵循4项规范打包自定义设备(命名前缀、类名对应、文件结构、模块暴露);9)提供了完整实现示例。通过该方案,开发者可让自定义机器人兼容LeRobot的数据采集、控制管道和策略训练等全套工具链。

2506_90492529的博客 1902

D. Robert Hood and Mrs Hood个人题解

官方给出前缀和,本蒟蒻用差分数组给出另解,(二者方法本质没区别,不过差分几乎不会爆int)

2403_87398733的博客 207

SAP B1中文培訓教材_SDK

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Codeforces974 D. Robert Hood and Mrs Hood(差分+思维)

很容易想到差分实现区间修改,但是不是取点的最值(单点查询),而是取区间的最值(区间查询),就会碰到一个问题,如果for循环区间,会超时。正解:只需要改变差分时l的值即可。

2403_83549222的博客 291

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Codeforces Round 974 (Div. 3) A-F

下午的ICPC网络赛的难受一晚上全都给我打没了 手速拉满再加上秒杀线段树 这场简直了啊 唯一可惜的是最后还是掉出了1000名 一把上蓝应该没啥希望了吧

swan416的博客 3186

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【菜笔cf刷题日常-1400】D. Robert Hood and Mrs Hood(模拟)

思路:分别用数组记录开始和结束的时间点( a[n] , b[n] ),先累加第一个时间区间 d 的开始数量,然后进行遍历,每次加上头部的开始数量 a[i] ,减去尾部的结束数量 b[i - d] ,同时更新最大值和最小值。最后遍历获得第一次出现的最大值和最小值。

IamDickman的博客 244

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 239

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 221

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 391

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 336

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 382

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 304

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 437

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 204
上一篇: 关于OpenGL利用VBO绘制以及VBO和VAO的关系
下一篇: E. Rendez-vous de Marian et Robin题解
ResCells
博客等级 码龄4年 191粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值