codeforces #366 704B 704C 704D 704E

海康威视4G摄像头直连实战:不用萤石云,手把手教你用ISUP SDK搞定跨网段视频流 本文详细介绍了如何通过海康威视ISUP SDK实现4G摄像头的直连通信,提供了一套零平台费、自主可控的技术方案。文章涵盖技术选型、设备端配置、服务器端开发及高级应用场景,特别适合中小型安防项目,帮助开发者解决跨网段视频流传输难题,降低长期运营成本。 阅读详情

704B DP

题意:有n个点,第i个点在位置xi,保证对于任意i<j,xi<xj。从i点跳到左边的点j的花费为|xi - xj| + ci + bj ,跳到右边点j的花费为|xi - xj| + di + aj。
求从s点跳到T点,经过其他点恰好一次的最小花费。

化简一下,向左跳的花费为(xi+ci)+(bj-xj),向右跳的花费为(di-xi)+(xj+aj)。

可以发现每个点的花费和到达点以及来源点无关,只和跳的方向有关。并且除S和T之外的点都只有一个进入的方向和一个出去的方向。
两头点进入出去方向固定,其余点不定。可以dp。

设进入的方向为下,出去的方向为上。
在不经过S,T前,左下和右上的个数相等,经过S后左下-右上的差+1,经过T后左下-右上的差-1。
设f[i][j]表示现在到第i个点,左下有j个的最小花费。同时记录一下左下右上的差就可以转移了。

注意dp时需保证左下右上个数不同时为0,否则会出现多个环。

#include <bits/stdc++.h>
using namespace std;
#define N 5100
#define ll long long
int n,s,e,type;
int X[N],a[N],b[N],c[N],d[N];
ll f[N][N];
int main()
{
    scanf("%d%d%d",&n,&s,&e);
    for(int i=1;i<=n;i++)
        scanf("%d",&X[i]);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]),a[i]+=X[i];
    for(int i=1;i<=n;i++)
        scanf("%d",&b[i]),b[i]-=X[i];
    for(int i=1;i<=n;i++)
        scanf("%d",&c[i]),c[i]+=X[i];
    for(int i=1;i<=n;i++)
        scanf("%d",&d[i]),d[i]-=X[i];
    memset(f,0x3f,sizeof(f));
    if(s==1)f[1][1]=d[1],type=-1;
    else if(e==1)f[1][0]=b[1],type=1;
    else f[1][1]=b[1]+d[1];
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<=i;j++)
            if(j>0||j+type>0)
            {
                if(s==i+1)
                {
                    f[i+1][j+1]=min(f[i+1][j+1],f[i][j]+d[i+1]);
                    f[i+1][j]=min(f[i+1][j],f[i][j]+c[i+1]);    
                }
                else if(e==i+1)
                {
                    if(j)f[i+1][j-1]=min(f[i+1][j-1],f[i][j]+a[i+1]);
                    f[i+1][j]=min(f[i+1][j],f[i][j]+b[i+1]);
                }
                else
                {
                    f[i+1][j+1]=min(f[i+1][j+1],f[i][j]+d[i+1]+b[i+1]);
                    if(j)f[i+1][j]=min(f[i+1][j],f[i][j]+d[i+1]+a[i+1]);
                    if(j+type)f[i+1][j]=min(f[i+1][j],f[i][j]+c[i+1]+b[i+1]);
                    if(j&&j+type)f[i+1][j-1]=min(f[i+1][j-1],f[i][j]+c[i+1]+a[i+1]);
                }
            }
            if(s==i+1)type--;
            if(e==i+1)type++;
    }   
    printf("%I64d\n",f[n][0]);
    return 0;   
}

704C dp

题意:有m个布尔值,n个集合。每个集合元素个数<=2,每个值或

C语言从句柄到对象 (一) —— 全局变量的噩梦与“多实例”的救赎 本文探讨了嵌入式开发中句柄(Handle)的概念与应用。通过电机控制案例,分析了传统单例模式在扩展性上的局限,并展示了如何通过句柄实现代码复用:将电机状态封装为结构体,通过指针(句柄)传递实例数据,使同一套逻辑可操作多个实例。文章比较了单例模式与句柄模式的适用场景,建议底层驱动库默认采用句柄模式以提高扩展性。最后指出当前实现仍存在数据暴露风险,预告下期将介绍不透明指针技术实现更安全的封装。全文揭示了句柄作为C语言实现模块化和面向对象设计的关键作用。 阅读详情

相关推荐

sid图像数据_遥感影像数据

影像数据基本概念影像数据是由卫星或飞机上的成像系统获得的影像,多为遥感影像数据。影像数据的每个像元都有一个值,表示传感器探测到像素对应地面面积上目标物的电磁辐射强度,也叫亮度值、灰度值。SuperMap支持的影像数据格式有:*.img、*.tif、*.tiff、*.bmp、*.jpg、*.png、*.gif、*.raw、*.sid等。计算机以二进制记录数据,所以其量化的等级以二进制来划分,即2n。...

weixin_39534395的博客 1626

Fiddler everywhere的一些基础操作

网上能搜到的Fiddler everywhere使用教程太少,于是我整理了一些自己实操成功的内容,包括Fiddler everywhere的Mock测试、弱网测试等基础操作,后续还会持续更新。操作系统:macOS使用工具:Fiddler everywhere 5.10.0本文简单介绍了使用Fiddler everywhere进行的Mock测试和弱网测试,而Fiddler everywhere提供了更多的其他实用的功能,我会在后期进行一个持续的学习和更新。

weixin_44346646的博客 2478

保姆级教程:用Comsol Multiphysics仿真你的第一个SAW滤波器(含压电材料参数设置)

本文提供了一份详细的COMSOL Multiphysics教程,指导读者完成表面声波滤波器(SAW)的压电仿真全流程。从压电材料参数设置、叉指换能器建模到多物理场耦合分析,特别强调了实际应用中容易出错的细节和解决方案,帮助工程师快速掌握SAW滤波器仿真技术。

weixin_42665255的博客 590

在centos7部署k8s搭建kubernetes集群

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找

山东梅长苏 1万+

来!简单了解一下计算机发展史!

​ 1936年,英国数学家阿兰・麦席森・图灵提出了一种抽象的计算模型——图灵机( Turing machine)。图灵机,又称图灵计算机,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。​ 图灵机是一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。

m0_57290404的博客 2902

游戏开发实战:5种AOI算法对比(九宫格 vs 灯塔 vs 十字链表)

本文深入对比了游戏开发中五种主流AOI算法(九宫格、灯塔、十字链表等)的性能与适用场景,帮助开发者根据项目规模选择最优解决方案。通过详细的技术分析和实战数据,揭示不同算法在万人同屏等极端场景下的表现差异,为MMORPG等大型多人在线游戏提供关键性能优化指南。

weixin_29268385的博客 474

AUTOSAR从入门到精通-汽车电子电气架构(EEA)

EEA(Electrical/Electronic Architecture),电子电气架构,是首先由德尔福公司提出的,集合汽车的电子电气系统原理设计、中央电器盒的设计、连接器的设计、电子电气分配系统等设计为一体的整车电子电气解决方案的概念。通过EEA的设计,可将动力总成、驱动信息、娱乐信息等车身信息转化为实际的电源分配的物理布局、信号网络、数据网络、诊断、容错、能量管理等的电子电气解决方案。

getusushu的博客 857

【时时三省】tessy 单元测试 之 CTE(The Classification Tree Editor) 的使用

有图有文字详细介绍利用 CTE界面中的树 批量产生用例。

时时三省的博客 837

SAP B1中文培訓教材_SDK

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: bzoj2870 边分治
下一篇: bzoj 1020 计算几何
make_it_for_good
博客等级 码龄11年 13粉丝 183原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值