POJ 2430 Lazy Cows 状压DP

如何在不牺牲精度的前提下,把 YOLOv11 压缩到 Jetson 能跑的程度 YOLOv11 在目标检测任务中具备较强的准确性与多尺度鲁棒性,但其原始模型参数规模与计算量,对边缘设备来说并不友好,特别是面向 Jetson 这类资源受限的推理平台。本文基于实际部署场景,逐步拆解从结构层级改造、剪枝策略制定、量化导出流程,到 Jetson TensorRT 推理落地全过程。在不牺牲主干精度的前提下,最终实现 YOLOv11 推理延迟缩短 3 倍、模型体积压缩 4 倍、mAP 损失控制在 1% 以内的轻量化优化结果,并总结出一条可复用的工程路径,供工业界与边缘侧模型部署开发者参考。 阅读详情

时空隧道


题意:
两行格子,每个格子是1或者0,共有n个1,现在要求使用k个矩形覆盖所有的1,求出最小矩形面积(总和)…


分析:
每一列就2个格子,妥妥的状压dp,因为n很小b(列数)很大…所以需要离散化…
f[i][j][k]代表前i列使用j个矩形覆盖最后一列状态为k的最小矩形面积…
k=0代表只覆盖上面的格子
k=1代表只福噶下面的格子
k=2代表分别覆盖上下两个格子
k=3代表同时覆盖上下两个格子
转移比较麻烦,看代码吧…


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
//by NeighThorn
#define inf 0x3f3f3f3f
#define Min(a,b,c) min(a,min(b,c))
using namespace std;
const int maxn=1000+5;
int n,k,b,mp[maxn],cnt,vis[3][maxn],pos[maxn],f[maxn][maxn][4];
struct M{
    int x,y;
}s[maxn];
signed main(void){
    scanf("%d%d%d",&n,&k,&b);cnt=0;
    for(int i=1,x,y;i<=n;i++)
        scanf("%d%d",&s[i].x,&s[i].y),mp[++cnt]=s[i].y;
//  cout<<"lala"<<endl;
    sort(mp+1,mp+cnt+1);memset(vis,0,sizeof(vis));
    int len=unique(mp+1,mp+cnt+1)-mp-1;
    for(int i=1;i<=n;i++)
        pos[lower_bound(mp+1,mp+len+1,s[i].y)-mp]=s[i].y,vis[s[i].x][lower_bound(mp+1,mp+len+1,s[i].y)-mp]=1;
    memset(f,inf,sizeof(f));
    f[1][1][0]=1,f[1][1][1]=1;
    f[1][2][2]=2,f[1][1][3]=2;
    if(vis[1][1])
        f[1][1][1]=inf;
    if(vis[2][1])
        f[1][1][0]=inf;
//  for(int i=1;i<=len;i++)
//      cout<<pos[i]<<" "<<vis[1][i]<<" "<<vis[2][i]<<endl;
//  cout<<endl;
    for(int i=2;i<=len;i++)
        for(int j=1;j<=k;j++){
        //  cout<<i<<" "<<j<<endl;
            if(!vis[1][i])
                f[i][j][1]=Min(f[i][j][1],f[i-1][j][1]+pos[i]-pos[i-1],f[i-1][j-1][1]+1),
                f[i][j][1]=Min(f[i][j][1],f[i-1][j-1][0]+1,f[i-1][j-1][2]+1),
                f[i][j][1]=Min(f[i][j][1],f[i-1][j-1][3]+1,f[i-1][j][2]+pos[i]-pos[i-1]);
            if(!vis[2][i])
                f[i][j][0]=Min(f[i][j][0],f[i-1][j][0]+pos[i]-pos[i-1],f[i-1][j-1][0]+1),
                f[i][j][0]=Min(f[i][j][0],f[i-1][j-1][1]+1,f[i-1][j-1][2]+1),
                f[i][j][0]=Min(f[i][j][0],f[i-1][j-1][3]+1,f[i-1][j][2]+pos[i]-pos[i-1]);
            f[i][j][2]=Min(f[i][j][2],j-2<0?inf:f[i-1][j-2][2]+2,f[i-1][j-1][2]+1+pos[i]-pos[i-1]),
            f[i][j][2]=Min(f[i][j][2],j-2<0?inf:f[i-1][j-2][3]+2,f[i-1][j][2]+2*(pos[i]-pos[i-1])),
            f[i][j][2]=Min(f[i][j][2],j-2<0?inf:f[i-1][j-2][0]+2,f[i-1][j-1][0]+pos[i]-pos[i-1]+1),
            f[i][j][2]=Min(f[i][j][2],j-2<0?inf:f[i-1][j-2][1]+2,f[i-1][j-1][1]+pos[i]-pos[i-1]+1);
            f[i][j][3]=Min(f[i][j][3],f[i-1][j-1][3]+2,f[i-1][j][3]+2*(pos[i]-pos[i-1])),//cout<<f[i][j][3]<<" ",
            f[i][j][3]=min(f[i][j][3],f[i-1][j-1][2]+2),//cout<<f[i][j][3]<<" ",
            f[i][j][3]=Min(f[i][j][3],f[i-1][j-1][0]+2,f[i-1][j-1][1]+2);//cout<<f[i][j][3]<<endl;
        }
//  for(int i=1;i<=len;i++,cout<<endl)
//      for(int j=1;j<=k;j++,cout<<endl)
//          for(int k=0;k<4;k++)
//              cout<<f[i][j][k]<<" ";
    int ans=0x3f3f3f3f;
    for(int i=1;i<=k;i++)
        for(int j=0;j<4;j++)
            ans=min(ans,f[len][i][j]);
    cout<<ans<<endl;
    return 0;
}

by >_< NeighThorn

微信小程序 - {errCode: 10008, errno: 1500104, errMsg: “writeBLECharacteristicValue:fail write characteris 微信小程序errCode: 10008, errno: 1500104, errMsg: "writeBLECharacteristicValue:fail write characteristics error. 10008, errMsg=The value's length is invalid.",uni-app微信小程序报错,uniApp小程序调用蓝牙api报错,向低功耗蓝牙设备的某个特征写入数据时错误,UniApp微信小程序蓝牙API调用报错10008解决方案,蓝牙设备进行通信时,向设备写入数据 阅读详情

相关推荐

SAP MIRO发票自动化:BAPI_INCOMINGINVOICE_CREATE实战解析

本文深入解析了如何使用SAP标准BAPI_INCOMINGINVOICE_CREATE实现MIRO发票校验流程的自动化。通过实战代码示例,详细阐述了从采购订单和收货凭证获取数据、构建BAPI核心参数、处理常见错误到高级场景优化的完整路径,旨在帮助SAP开发人员构建稳定、高效的自动化解决方案,提升财务处理效率与准确性。

weixin_29243279的博客 499

BZOJ 1746: [Usaco2005 open]Lazy Cows

1746 一道思维复杂度不高...代码细节很多的dp题 这题突破口显然就在于只有2行 那么我们考虑第i列的状态 共有五种: 1. 没有纸片覆盖 2.上边被覆盖 3.下边被覆盖 4.被同一纸片覆盖 5.被不同的纸片覆盖 离散后,显然不存在第一种状态 那么我们用dp[i][t]表示第i个有宝藏的列  状态为t的最小面积 于是就可以转移了 实现细节见代码……

来自Fop_zz的辣鸡题解或教程 525

关于Arduino中的常用函数

一、I/O函数 二、时间函数 三、数学函数 abs 返回其参数的无符号值 【abs(12)返回12,abs(-12)也返回12】 constrain 限制一个数字以阻止它超出范围。第一个参数是被限制的数字,第二个参数是范围区间的开始,第三个参数是允许的数字范围区间的结尾。 【constrain(8,1,10)返回8,constrain(11,1,10)返回10,constrain(0,1,10)返回1】 map 将一个范围内的数字映射到另一个范围。第一个参数是要映射到数字,第二个和第三个参数是from范围(

TREE的博客 7322

POJ 2430 Lazy Cows

Lazy Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1897   Accepted: 718 Description Farmer John regrets having applied high-grade fertilizer to hi

cmonkey 1446

多机器人编队人工势场法协同避障算法原理及实现

ROS及SLAM进阶教程(十一)多机器人编队人工势场法协同避障算法原理及实现避障算法原理避障算法仿真 多机器人协同编队需要将理论和实践紧密地结合起来,其应用包括编队队形生成、保持、变换和路径规划与避障等等都是基于图论的理论基础完成的。 详细请参考ROS及SLAM进阶教程(八)多机器人协同编队算法原理及实现 自主避障功能是机器人编队在各种环境中保持自身安全的重要功能,在编队的基础上加入避障的功能,机器人可扫描到一定范围内的障碍物(包括其他机器人),在即将与之发生冲突时提前规避冲突,以保证自身的安全性,同时

Redglass的博客 1万+

【前沿】多模态数据时间同步与对齐技术方案

多模态系统时间同步面临硬件差异、传输延迟和时钟漂移等核心挑战。解决方案包括硬件级的GPS授时(μs级)、FPGA同步电路,以及软件级的动态时间规整(DTW)、卡尔曼滤波和Transformer跨模态对齐算法。工程实践中采用滑动窗口缓冲、分布式一致性协议等方法,已在工业质检(误差≤0.1mm)、自动驾驶(延迟<30ms)等场景取得显著效果。未来需解决高动态场景鲁棒性、边缘设备能耗优化等问题,随着TSN和5G URLLC技术的发展,微秒级同步将成为可能。

从技术实践立足,从项目管理方法论延伸思考 1393

Poj2430:Lazy Cows 解题思路&代码

这道题的大意是有一个2*B(1=<B<=15000000)的大矩阵,该矩阵中有N(N<=1000)头奶牛(即大矩阵中有指定的N个点)。现在想用K个小矩阵去覆盖这全部N个点,求在保证N个点被完全覆盖的情况下K个小矩阵的面积的最小值。 B很大,而N很小,离散化的处理方式是很自然的。然后用动规来做。具体的思路都写在代码注释里了。这里就直接贴代码了。

lygpkulxy的博客 471

用业务语义织就企业数据之网:SAP Datasphere 的定位、架构与落地场景全解析

SAP Datasphere作为SAP业务数据云的核心组件,通过语义层整合企业内外部数据,支持实时分析与AI应用。其核心功能包括数据集成、语义建模、虚拟化与仓库能力,通过Spaces实现资源隔离,Data Builder和Business Builder分别面向技术和业务建模。该平台与SAP HANA Cloud、SAC等深度集成,支持财务统一分析、供应链可视化等典型场景,并可通过BW bridge实现传统BW资产云化迁移。Datasphere强调开放互联,能与Databricks等生态伙伴协同,为企业提供

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1360

POJ2430 Lazy Cows【状压DP+离散化】

POJ - 2430传送门   题意:有n头牛在2*b的牧场上,只可以修建k(k的最小面积。 分析:用dp[i][j][l]表示前i列的牛都铺满,用去啦j个帐篷,状态为l,的最小面积。 l==0,表示没有铺 l==1,表示铺啦第一格 l==2,表示铺啦第二格 l==3,表示铺啦一二格,且不在一个矩形里。 l==4,表示铺啦一二格,且在一个矩形里。 ACcode

tystrwor的博客 325

LVGL 组件对齐方式说明

本文说明 LVGL(以 v8 为例)中常用的 lv_align_t对齐选项的含义与用法,对应界面设计工具里下拉列表中的以及等命名。

摸鱼专家 130

PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】

PyQt5数据库开发3 6.1 QSqlQuery实操案例【多图详解】,本文有点长,主要每一个步骤都有对应的图文教程!!!

qq_53317005的博客 2961

poj 2430 Lazy Cows 状压dp

这个题目还是比较容易想到用状态dp来解的,但是状态的转移比较麻烦,并且加上有离散化,比较容易出错。 dp[i][j][k]表示覆盖前i列,用了j个矩形,当前覆盖状态为k的最优解。 k==1:覆盖1号格子 k==2:覆盖2号格子 k==3:覆盖1,2号格子,并且为同一个矩形 k==4:覆盖1,2号格子,并且为不同矩形 那么转移的时候就需要考虑,新建矩形,或者直接把当前矩形边长延伸。转移种

yrleep的专栏 1450

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

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

poj 2430 Lazy Cows

题目链接:http://poj.org/problem?id=2430 题目大意及思路:用最多k个矩形覆盖所有的牛,且要使总面积最小,做法是将两行压缩成一行并进行离散化,对于每一列有四种状态,而在dp的时候也有四种状态,1、只覆盖上面,2、只覆盖下面,3、上下用一个矩形覆盖,4、上下用两个矩形覆盖。这样就可以写出转移方程了。 #include&lt;stdio.h&gt; #include&l...

java开发指南博客 【转载】 170

jre9下载 jdk9

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

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

poj-2430 Lazy Cows ****

1 //参见 http://hi.baidu.com/billdu/blog/item/6315841769e6905ff3de325e.html (有图有真相...) 2 //... 3 // 4 //dp[i][j][k]表示到达第i列,已经建设好了j个围栏,最后一列状态是k的情况下框住的最小面积 5 // 6 //另外, 我这个代码是 顺推(按黑书的分类),也就是基于当前状...

weixin_34185560的博客 162

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

poj2430 2010.7.31

Lazy Cows Time Limit: 1000MS  Memory Limit: 65536K Total Submissions: 1300  Accepted: 467   Description   Farmer John regrets having appliedhigh-grade fertilizer to his pastures since the gras

Batman_的博客 427

NOIP 好题推荐(DP+搜索+图论)POJ ZOJ

NOIP好题推荐(DP+搜索+图论)POJ ZOJ 1370 Gossiping (数论-&gt;模线性方程有无解的判断)+(图论-&gt;DFS)  1090 Chain -&gt;格雷码和二进制码的转换  2182 Lost Cows -&gt;线段树/  2426 Remainder BFS  1872 A Dicey Problem BFS  1324 Holedox Moving ...

小萨摩的博客 2011

状态压缩DP基础题解题报告

POJ 2411 铺砖块最基本的题。设DP[i][state]为贴到第i行,前一行的状态为state时的方法数,枚举两层的状态来转移,先判断转移是否合法(即保证上一层是贴满的)。

= = 1682

POJ 动态规划(dp)题目汇总

1037 A decorative fence1042 Gone Fishing1062 昂贵的聘礼1074 Parallel Expectations1093 Formatting Text1112 Team Them Up!1143 Number Game1160 Post Office1178 Camelot1179 Polygon1180 Batch Scheduling1187...

weixin_30256901的博客 136

POJ-2430:Lazy Cows

POJ-2430:Lazy CowsFarmer John regrets having applied high-grade fertilizer to his pastures since the grass now grows so quickly that his cows no longer need to move around when they graze. As a result, the cows have grown quite large and lazy... and winter

Mitsuha_的博客 648

bzoj1747[Usaco2005 open]Expedition 探险 优先队列+贪心

这题的话,贪心策略挺明显的,就是不能跑了直接把以前没加过油的最大加油站加油就可以了。 然后一开始直接记录最大值发现错了,想了想发现如果我这个最大值用过了下一次的最大值可能在这之前也可能在这之后,所以必须要维护一个大根堆。。 优先队列完美解决啦。#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #incl

老臣 904

POJ 2430 Lazy Cows 笔记

N头牛,建 K 个矩形牛舍,2*B 的牧场,给出每头牛的坐标。求牛舍的最小面积。

woniupengpeng的专栏 332

pku2430 Lazy Cows

题目链接:http://162.105.81.212/JudgeOnline/problem?id=2430题意简述:求用最少的矩形把给定的点完全覆盖。解题思路:状态dp。设0表示值覆盖一格,1表示覆盖两格但是属于同一矩形,2表示覆盖两格不属于同一矩形。代码:#include#includeusing namespace std;#define min(a,b) (a<

ccsu_001的专栏 940

1776 Task Sequences 竞赛图构造哈密顿路径

竞赛图构造哈密顿路径

NeighThorn的博客 2186

poj 3275 邻接表优化Floyd

lalala

NeighThorn的博客 1787

POJ 2279 Mr. Young's Picture Permutations......杨氏矩阵+钩长公式??

杨氏矩阵+钩长公式

NeighThorn的博客 1528
上一篇: POJ 1811 Prime Test
下一篇: POJ 1151 Atlantis 线段树+离散化+扫描线
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值