HIT 1942 D - OS进程调度

Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

题目链接:

https://vjudge.net/contest/161075#problem/D

题解:

一道变异的背包的题目,自己卡在了纪录结点的地方,最后,直接用了一个三维的队列才弄出来的 。(谨记)

代码:

#include <cmath>
#include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define met(a,b) memset(a,b,sizeof(a))
#define inf  0x3f3f3f3f
const int maxn = 50+10;
int dp[20][20][20];
struct node
{
    int x,y,z;
}num[maxn];
queue<int> q[20][20][20];

int main()
{
    int x,y,z;
    while(scanf("%d%d%d",&x,&y,&z)!=EOF)
    {
        if(x==0&&y==0&&z==0)
            break;
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
            scanf("%d%d%d",&num[i].x,&num[i].y,&num[i].z);
        met(dp,0);
        for(int i=0;i<=x;i++)
            for(int j=0;j<=y;j++)
                for(int k=0;k<=z;k++)
                    while(!q[i][j][k].empty())
                        q[i][j][k].pop();
        for(int i=0;i<n;i++)
        {
            for(int k1=x;k1>=num[i].x;k1--)
            {
                for(int k2=y;k2>=num[i].y;k2--)
                {
                    for(int k3=z;k3>=num[i].z;k3--)
                    {
                        if(dp[k1][k2][k3]<=dp[k1-num[i].x][k2-num[i].y][k3-num[i].z])
                        {
                            dp[k1][k2][k3]=dp[k1-num[i].x][k2-num[i].y][k3-num[i].z]+1;
                            q[k1][k2][k3]=q[k1-num[i].x][k2-num[i].y][k3-num[i].z];
                            q[k1][k2][k3].push(i);
                        }
                    }
                }
            }
        }
        int ans=0;
        int x1=0,y1=0,z1=0;
        for(int i=1;i<=x;i++)
            for(int j=1;j<=y;j++)
                for(int k=1;k<=z;k++)
                {
                    if(ans<dp[i][j][k])
                    {
                        ans=dp[i][j][k];
                        x1=i;
                        y1=j;
                        z1=k;
                    }
                }
        printf("%d\n",ans);
        while(!q[x1][y1][z1].empty())
        {
            int xx=q[x1][y1][z1].front();
            q[x1][y1][z1].pop();
            printf("%d",xx+1);
            if(q[x1][y1][z1].size()!=0)
                printf(" ");
            else
                printf("\n");
        }
    }
}
研发流程后端开发工具,提示功能开发效率 后端开发工具 立即下载

相关推荐

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

ZOJ 2972 Hurdles of 110m

题目链接:https://www.nitacm.com/problem_show.php?pid=17880题解:题目大意: 给你n段的跑步,你的能量最多为m(同时也代表初始的能量),然后给你n行,每行给你t1,t2,t3,以及e1,e3前面三个表示三种跑步的方式所消耗的时间,后面的两个表示,选择第一种的时候会消耗的能量,以及第三种时会增加的能量,(选择第二种不会消耗能量),问你最短的时间。 0

silver_bone的博客 608

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

51NOD 1021 石子归并

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1021题解:区间dp。 区间dp的样子大致都差不多。模版: for(int i=1;i<=n;i++) dp[i][i]=0; // 初始化 for(int len=2;len<=n;len++) //

silver_bone的博客 423

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

OpenMMLab实战指南:从环境搭建到首个检测模型运行

本文是一份详细的OpenMMLab实战指南,重点介绍了如何从零开始搭建环境并运行首个目标检测模型。内容涵盖Miniconda环境配置、PyTorch与CUDA版本匹配、使用MIM工具安装MMCV和MMDetection的核心步骤,并通过RTMDet-tiny模型演示了完整的推理流程,帮助开发者高效入门这一计算机视觉开源算法体系。

weixin_28678151的博客 157

HDU 2191

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191题解:完全背包模版题代码:#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define met(a,b) memset(a,b,sizeof(a))

silver_bone的博客 409

Vue3项目实战:集成h265webjs打造高性能Web端H.265播放器

本文详细介绍了如何在Vue3项目中集成h265webjs库,构建高性能的Web端H.265播放器。通过封装播放器管理模块、利用Vue3组合式API优雅管理生命周期,并提供了从环境准备、核心集成到进阶优化的完整实战指南,有效解决了浏览器原生不支持H.265解码的难题,显著降低视频流带宽占用。

weixin_29016833的博客 364

ZOJ 8th Anniversary Contest Unrequited Love

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3310题解:一道比较水的dp,一开始没有想到用两次dp来解决成环的这个问题。 具体看代码。代码:#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using n

silver_bone的博客 394

从零构建XVC协议栈:FPGA+W5300的跨界调试架构实战

本文详细介绍了如何从零构建XVC协议栈,通过FPGA与W5300以太网控制器的创新组合实现跨界调试架构。重点解析了JTAG时序逆向、TCP/IP协议栈集成与XVC协议实现,提供了硬件设计优化和性能加速技术,为嵌入式开发者和FPGA工程师提供实用的远程调试解决方案。

raspberrypi5的博客 247

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

weixin_41678956的博客 8658

ZOJ 3331

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3331题解:双塔dp。代码:#include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #def

silver_bone的博客 377

自制《大侠狂想曲》修改器:内存修改、加速与一键安装全攻略

游戏修改器是玩家优化游戏体验的常用工具,其核心原理是通过内存修改技术,在游戏进程运行时动态改写数值。常见实现路径是借助Cheat Engine扫描并追踪数据地址,再通过编程语言调用系统API完成读写。这种技术能有效解决重复刷资源带来的枯燥感,特别适用于单机RPG中想快速体验多剧情线却不想重刷资源的情形。本文以《大侠狂想曲》为例,完整拆解了从CE定位金钱与好感度内存地址,到编写C#脚本实现游戏加速、一键增加铜钱与NPC好感度,再到用Inno Setup打包生成一键安装器的全过程,并总结了数值弹回、剧情不触发、

weixin_30368981的博客 1465

51NOD 1201 整数划分

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201题解:一道很好的dp题目,首先我们先要明确dp的含义。这里开的是二维dp,表示i这个数划分为j个数的方案数。(这里j表示的不是max值) 当我们对其进行划分的时候,可以这么去想,我们要把一个数划分为4的时候,那么就相当于在(N-4)这个的基础上这些数进行加1

silver_bone的博客 355

自抗扰控制(ADRC)理论与工程实践:8.2 模糊ADRC、神经网络ADRC等智能融合变体

智能融合ADRC变体概述 自抗扰控制(ADRC)与智能控制方法(如模糊逻辑、神经网络)的融合,旨在突破传统ADRC在非线性、时变系统中的应用局限。智能融合ADRC主要通过以下方式实现性能提升: 模糊ADRC 参数自整定:利用模糊推理在线调节ADRC带宽参数,实现自适应控制。 非线性反馈:用模糊控制器替代线性PD,灵活设计非线性控制策略。 优势:融入专家经验,无需精确模型;局限:依赖规则库设计,稳定性分析困难。 神经网络ADRC 增强ESO:用神经网络学习扰动动态,提高估计精度。

技术工作者 228

课设:FPGA音频均衡器 verilog设计及仿真 加报告

未来,随着FPGA技术的进一步发展和应用场景的扩大,FPGA音频均衡器将发挥出更大的作用,并为音频领域带来更多创新和突破。(a)音乐制作:均衡器可以调整音频信号中不同频段的能量分布,使得乐器声音更加明亮、动感,从而提升音乐制作的质量和创作的灵活性。以上步骤提供了设计一个音频均衡器的大致过程,但值得注意的是,具体实现的细节和复杂度可能因设计要求和所使用的平台而有所不同。确保设计满足预期的性能和要求。确定均衡器的功能和要求:定义你的音频均衡器需要实现的功能,包括频率范围、增益范围以及可调参数数量等。

QQ_778132974的博客 1588

codeforces Sagheer, the Hausmeister 812B

题目链接: http://codeforces.com/problemset/problem/812/B 题意: 某一个楼有N层,每一层层M+2个房间,第一个房间和最后一个房间表示的是左楼梯和右楼梯。现在管理员处于最底层的左楼梯处,管理员关灯的时候有两个原则: 1.必须要将一层楼的灯全部关闭以后,才可以去上面的楼层。 2.管理员每次移动一个位置的时间均为1S,并且关灯的动作时不算时间

silver_bone的博客 322

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 116

codeforces An express train to reveries 814B

题目链接: http://codeforces.com/contest/814/problem/B 题意: 找到一串数字,它跟A,B串(互相)只有一个不同。 题解: 通过贪心的思想可以知道,如果要满足条件,那么就只会出现两种情况,要么一个不同,要么两个不同。 得到这个以后就简单很多了,直接进行暴力就行了。 代码: #include #include #include #i

silver_bone的博客 298

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

codeforces 682D Alyona and Strings

题目链接:http://codeforces.com/problemset/problem/682/D题意:给你两串字符串,让你找出这两串字符串K个公共子串,要求的是其顺序不发生改变并且它的和要求最大。题解:当k为1的时候,我们不难想到这是一个LCS,但是不同的地方在于它不是1个,而是多个。所以,我们很容易想到在LCS的基础上加一纬K来进行思考,但是在具体实现的时候会发现不够,需要再开一纬开是不是在

silver_bone的博客 298

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

51nod 1202 子序列个数

题目链接:https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=250782题解:一道很好的dp的题目,这里我用的是一维的dp[i],i表示的是位置是i的时候能够组成的不同子序列的个数。 在不考虑重复的情况下,我们可以很容易的推出这个dp的转移的方程 dp[i] =dp[i-1]*2+1; 但是在我们考虑到重复的情况的时候,我

silver_bone的博客 298

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

51nod 1270 数组的最大代价

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270题解:题目本身不难,但是题目的大意自己读了很久才理解。 题目就是让你自己创建大小为n的数组,其中里面元素的值的范围为[1,b[i]]注意这里是闭区间,问你,求你自己构建的a数组的最大代价是多少。 思路其实很简单,首先我们可以直接用贪心的思想去考虑,a[i]

silver_bone的博客 284

HDU 2089

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089题解:数位dp代码:#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define met(a,b) memset(a,b,sizeof(a)) #

silver_bone的博客 261

1051 最大子矩阵和

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1051题解:一道很好的思维题,主要是将二维的数组压缩称为一维的数组,然后就按常规的做法就行了。(这里有一个坑点,这里的输入的时候,是m在前,n在后的。)代码:#include <cstdio> #include <cstring> #include <iostrea

silver_bone的博客 253

51nod 1101 换零钱

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1101题解:一道完全背包的问题。代码:#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define met(a,b

silver_bone的博客 245

HUST 1422

题目链接:http://acm.hust.edu.cn/problem/show/1422题解:母函数代码:#include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define met(a,b) memset(a,b,siz

silver_bone的博客 243
上一篇: codeforces B. Counting-out Rhyme
下一篇: HUST 1422
kicksilver7
博客等级 码龄10年 0粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值