状态压缩·一 hiho一下第 8 周

Windows(Win10、Win11)本地部署开源大模型保姆级教程 最近开源大模型可谓闹的沸沸扬扬,尤其是Microsoft开源的和Meta开源的llama3 70b,评测都已经接近了的水平。鉴于还有很多同学不会在上部署和使用本地模型,因此我们出一期保姆级教程。本文讲述了如何在上本地部署大模型。从最基础的软件安装到环境配置都进行了截图展示,希望对非计算机的同学也有所帮助。AI时代我们每个人都必须要掌握一些AI知识,相信不断学习的你一定不会被AI淘汰。这只是开始,后面我们还有很多工作要做,尤其是提示词和智能体。 阅读详情

题意: 有 N 个数,从中选取尽可能多的数但要保证连续的 M 个数中不能有超过 Q 个数被选中。

思路: 动态规划的题目,思考状态是什么,新的状态是怎么由旧状态推出来的。
我们可以把状态定义为从第 1 到 i 个数并且第 i-M+1 到 i 个数的选取状况为 j 的最多清扫垃圾数,即 dp[i][j]。
那么新的状态是怎么由旧的状态推出来的呢?

当前状态如上图所示,则当前的状态的值只与第 i-M 位选取或不选取有关,所以状态转移方程为

dp[i][j]=max(dp[i−1][j>>1],dp[i−1][j>>1+1<<(M−1)])+(j&1)×w[i]

代码:

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<queue>
#include<utility>
#include<vector>
#include<cmath>
#include<set>
#include<map>
#include<iostream>
#include<algorithm>
#include<sstream>
using namespace std;
typedef long long LL;

const int two[11] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};  //2 的 i 次方等于 two[i]

int N, M, Q;
int w[1010];
int dp[1010][1025];   //dp[i][j] 表示从 1 到 i 的最后 M 个数的选取状况为 j 的最大清理垃圾数
int num[1025];  //num[i] 表示将 i 表示成二进制后有几个 1


int main()
{
    //freopen("in.txt", "r", stdin);
    scanf("%d%d%d", &N, &M, &Q);

    num[0] = 0; num[1] = 1;
    for (int i=2; i<two[M]; ++i){
        num[i] = num[i>>1] + num[i&1];
    }

    for(int i=1; i<=N; i++){
        scanf("%d", &w[i]);
    }

    for(int i=1; i<=N; i++){
        for(int j=0; j<two[M]; j++){
            if(num[j] <= Q){
                dp[i][j] = max(dp[i-1][j>>1], dp[i-1][(j>>1)+two[M-1]]) + (j&1)*w[i];
            }
        }
    }

    int ans = 0;
    for(int i=0; i<two[M]; i++){
        ans = max(ans, dp[N][i]);
    }
    printf("%d\n", ans);
    return 0;
}

对空间进行优化后的代码如下:

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<queue>
#include<utility>
#include<vector>
#include<cmath>
#include<set>
#include<map>
#include<iostream>
#include<algorithm>
#include<sstream>
using namespace std;
typedef long long LL;

const int two[11] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};  //2 的 i 次方等于 two[i]

int N, M, Q;
int w[1010];
int dp[2][1025];   //dp[i][j] 表示从 1 到 i 的最后 M 个数的选取状况为 j 的最大清理垃圾数
int num[1025];  //num[i] 表示将 i 表示成二进制后有几个 1


int main()
{
    //freopen("in.txt", "r", stdin);
    scanf("%d%d%d", &N, &M, &Q);

    num[0] = 0; num[1] = 1;
    for (int i=2; i<two[M]; ++i){
        num[i] = num[i>>1] + num[i&1];
    }

    for(int i=1; i<=N; i++){
        scanf("%d", &w[i]);
    }

    for(int i=1; i<=N; i++){
        for(int j=0; j<two[M]; j++){
            if(num[j] <= Q){
                dp[i&1][j] = max(dp[(i-1)&1][j>>1], dp[(i-1)&1][(j>>1)+two[M-1]]) + (j&1)*w[i];
            }
        }
    }

    int ans = 0;
    for(int i=0; i<two[M]; i++){
        ans = max(ans, dp[N&1][i]);
    }
    printf("%d\n", ans);
    return 0;
}
机器学习预测土壤养分:从电导率、pH到随机森林与神经网络的农业实践 在智慧农业与精准农业领域,机器学习已成为处理复杂农业数据、挖掘潜在规律的关键技术。其核心原理在于通过算法从多维数据中自动学习特征与目标变量之间的映射关系,尤其擅长捕捉非线性关联。这项技术的核心价值在于能够将传统上依赖昂贵、耗时实验室分析的问题(如土壤养分检测),转化为基于易获取传感器数据(如电导率、pH值)的快速、低成本预测任务,为农业生产的实时决策与资源优化提供了全新可能。其典型应用场景包括作物生长监测、产量预测以及精准施肥管理等。本文聚焦于利用随机森林和神经网络等回归算法,构建通过土壤物理参数预测氮磷钾 阅读详情

相关推荐

WIN下使用visual studio 2022安装GMSSL命令行工具

2.1 使用管理员权限打开visual studio(非常重要,否则最后一步 nmake install会失败)右键vs2022,以管理员身份运行即可。2.4 配置环境变量,gmssl可执行程序默认会被安装到如下目录。将如下路径添加到系统环境变量即可。添加后的环境变量如下。2.编译解压后的gmssl源码,编译过程主要参考install.md中的内容,README.md中的步骤不完整。2.2 打开vs2022的命令终端,右键文件,选择在终端中打开。1.下载gmssl源码,解压到相应目录。

qq_45794382的博客 1269

算法练习系列—hiho1048 状态压缩一(铺地砖)

题目地址:http://hihocoder.com/problemset/problem/1048 编程之美的课后题也有一个和整个题目一样的。(P269)  题目 这个题目的题意很容易理解,在一个N*M的格子里,我们现在有两种类型的砖块,1 * 2 和 2 * 1,问一共有多少种方案,可以将整个N*M的空间都填满。 最简单的例子就是下面的了: 编程之美中题目: 某年夏天,位于

小村长技术blog 5950

如何搭建一个vue项目(完整步骤)

查看版本的两种方式 出现版本号则说明安装成功(最新的以官网为准) 这里注意:安装vue-cli对node.js的版本是有要求的 装的两种方式:输入cmd命令 查看安装的版本(显示版本号说明安装成功) 如果你原来有版本或者版本比较低,可以升级...

m0_67392661的博客 5588

【hiho一下 第八周】状态压缩·一

【题目链接】:http://hihocoder.com/problemset/problem/1044 【题意】 【题解】 设f[i][j]表示; 前i-1个位置已经决策完; 然后i-m+1..i这一段选择的状态是j的最多清扫垃圾数目; 【Number Of WA】 0 【完整代码】 #include <bits/stdc...

112

台达B3伺服电机485通讯的调试过程

最近上了一项目,没办法直接把B3伺服接到PLC上去,怎么办?偶说试下直接电脑通过100多米的485线控制好了,定型前的测试就这样展开了。 1、焊CN1口 如果不安装CN1,是开不了机的,要报很多错误,比如SERV EMG ALERT, 上限报警,下限报警什么的,怎么办?直接焊好CN1头子吧,烦了点,但是必要的。 主要接的是11,9,10,32,31,30几个脚,按照图上连接好就是了。 2、 接线路 按照上面的图,接上伺服电机线,编码器线,电源线,包括限位常闭开关、485连线等,就完..

shidong01的博客 1万+

Solidworks钣金设计:折弯系数、K因子与折弯扣除的实战应用解析

本文深入解析Solidworks钣金设计中折弯系数、K因子与折弯扣除的核心概念与实战应用。通过厘清三者间的逻辑关系与换算方法,并结合材料特性、工艺参数及车间实测,指导工程师精准确定展开长度,确保设计图纸与加工实物的一致性,有效提升钣金件设计精度与生产效率。

weixin_29268267的博客 925

hiho一下 第八周 状态压缩dp

题目1 : 状态压缩·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食节的吸引,许多人纷纷踏上...

1999 164

洛谷 P5736 【深基7.例2】质数筛

题目描述 输入 n(n\le100)n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 无 输出格式 无 输入输出样例 输入 #1 复制 5 3 4 5 6 7 输出 #1 复制 3 5 7 板子题,使用一下线性筛 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using n

qq_37978559的博客 1117

hiho 8 状态压缩dp

问题描述 小Hi和小Ho所处的车厢可以被抽象成连成一列的N个位置,按顺序分别编号为1..N,每个位置上都有且仅有一名乘客在休息。同时每个位置上都有一些垃圾需要被清理,其中第i个位置的垃圾数量为Wi。乘务员可以选择其中一些位置进行清理,但是值得注意的是,一旦有编号连续的M个位置中有超过Q个的位置都在这一次清理中被选中的话(即这M个位置上的乘客有至少Q+1个被惊醒了),就会发生令人不愉快的口角。而小

朝气蓬勃 457

潜行游戏设计:核心机制与关卡设计解析

潜行游戏作为动作游戏的重要分支,通过视觉遮蔽、声音传播和AI行为树等复杂系统,为玩家提供独特的策略体验。视觉隐蔽系统采用视野锥和光照值的双重判定,声学传播模型模拟距离衰减和材质穿透,而敌人AI行为树则包含巡逻、警戒和团队协作等状态节点。这些技术不仅提升了游戏的真实感和挑战性,还在《合金装备》《刺客信条》等经典作品中得到广泛应用。潜行游戏的关卡设计强调多路径拓扑结构和环境叙事元素,通过沙漏模型和动态难度调节,平衡自由度和开发成本。未来,基于ML的适应性AI和物理模拟的隐蔽系统将成为创新方向。

weixin_42497762的博客 182

智慧社区:安防系统解决方案

智慧社区:安防系统解决方案

s13166803785的博客 433

hihoCoder week8 状态压缩·一

状态压缩 写了两个半小时 太菜了 题目链接 https://hihocoder.com/contest/hiho8/problem/1 #include <bits/stdc++.h> using namespace std; const int N = 10; const int MAXN = 1<<11; int n, m, q,...

YZ930035683的博客 103

SPMI协议学习总结

SPMI(System Power Management Interface)是由MIPI(Mobile Industry Processor Interface)联盟定义的一种硬件接口标准,它主要用于移动设备中,连接SoC(System on Chip)处理器系统的集成电源控制器与一个或多个电源管理IC(PMIC),以实现精确的电源管理

歌颂苦难的行为是无耻的; 1085

hiho 1044 状态压缩·一

描述小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节!但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一样的旅程,于是有相当多的人遭遇到了和小Hi小Ho一样的情况——这导致这辆车上的人非常非常的多,以至于...

---小菜鸟--- 249

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hiho #1044:状态压缩·一

#1044 : 状态压缩·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食...

weixin_30505485的博客 108

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【hiho一下 第九周】 状态压缩·二

【题目链接】:http://hihocoder.com/problemset/problem/1048 【题意】 【题解】 按从左到右然后从上到下的顺序; 依次枚举每个格子是竖条还是横条; 然后在搜索的时候保证前i-1行全都填满; 记录下这一行和下一行的状态就好了; 2*m个格子;m最大为5; 完全能用二进制数来表示; 写一个记忆化搜索就好...

AWCXV 132

SAP B1中文培訓教材_SDK

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

【状态压缩】Hiho8_Hihocoder

小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一样的旅程,于是有相当多的人遭遇到了和小Hi小Ho一样的情况——这导致这辆车上的人非常非常

CD's Coding 959

hiho一下第八周(状态压缩)

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食节的吸引,许多人纷纷踏上了和小H

fisty 603

Hiho 1044 dp+状态压缩

题目网址:http://hihocoder.com/problemset/problem/1044 未得到状态压缩的状态转移方程 p1 , p2 ..... pm-1 是 第 i 次的前 m 次 状态的 01 状态  目标就是压缩这些01字符串 压缩后: 这个方程其实不太好理解 , 看代码的 s0 状态 还有 s1状态会更好理解。 代码:

u013455341的专栏 897

hiho #1044 : 状态压缩·一

描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一样的旅程,于是有相当多的人遭遇到了和小Hi小Ho一样的情况——这导致这辆车上的人非常...

weixin_30819163的博客 125

hiho一下 第九周 状压dp

题目1 : 状态压缩·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 历经千辛万苦,小Hi和小Ho终于到达了举办美食节的城市!虽然人山人海,但小Hi和小Ho仍然抑制不住兴奋之情,他们放下行李便投入到了美食节的活动当中。美食节的各个摊位上各自有着非常多的有意思的小游戏,其中一个便是这样子的: 小Hi和小Ho领到了一个大小为N*M的长方形盘子,他们可以用这...

1999 231

状压DP Hiho-1044 状态压缩

状态压缩 [HihoCoder - 1044] 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。 不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一样的旅程,于是有相当多的人遭遇到了和小Hi小Ho...

MFDY 249

hiho刷题日记——第九天状态压缩·二

hiho刷题日记——第九天天状态压缩·二题目小Hi和小Ho领到了一个大小为N*M的长方形盘子,他们可以用这个盒子来装一些大小为2*1的蛋糕。但是根据要求,他们一定要将这个盘子装的满满的,一点缝隙也不能留下来,才能够将这些蛋糕带走。这么简单的问题自然难不倒小Hi和小Ho,于是他们很快的就拿着蛋糕离开了~但小Ho却不只满足于此,于是他提出了一个问题——他们有多少种方案来装满这个N*M的盘子呢?代码#in

AngcFun的博客 971

hiho1087状态压缩dp

//记忆话搜索方法//此题状态压缩中套用记忆化搜索的方法//并用树状数组的方法遍历子集 # include # include # include # include # include using namespace std; int n, m, dp[12][1 << 12], st[12], p[1 << 12]; int DP(int u, int s) { if (dp[u][s])

hhy518518的专栏 436

hiho一下 第八周

题目:点击打开链接 动态规划+zhuang

699
上一篇: Secret Poems 2017ACM-ICPC北京赛区/hihoCoder1632
下一篇: 漏写的数字 hihoCoder[Offer收割]编程练习赛38/hihoCoder1649
Alba_126
博客等级 码龄9年 6粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值