zoj 3331 Process the Tasks(双塔DP)

SRAM ECC原理与应用:从汉明码到高可靠嵌入式系统设计 在嵌入式系统与高可靠性计算领域,内存数据完整性是系统稳定运行的基石。软错误(Soft Error)由宇宙射线或芯片内部粒子引发,可能导致存储单元发生位翻转,进而引发程序跑飞或数据损坏。为应对这一物理层挑战,错误校验与纠正(ECC)技术应运而生,其核心原理基于扩展汉明码,通过增加校验位实现单错误纠正、双错误检测(SECDED)能力。这项技术通过硬件透明纠错,在提升系统可靠性的同时,几乎不影响访问性能。在汽车电子、工业控制及航空航天等对安全性要求极高的场景中,ECC已成为保障长期稳定运行的关键硬件机制。本文聚焦 阅读详情

There are two machines A and B. There are n tasks, namely task 1, task 2, ..., task n. You must assign each task to one machine to process it. There are some facts you must know and comply with:

  • You must assign each task to only one machine to process.
  • At any time, a machine can process at most one task.
  • Task i (0 < i < n) can be processed if and only if each task j (0 < j < i) has been processed or processing.
  • If a task is processing on one machine, it cannot be interrupted.

You want to do finish all the tasks as soon as possible.

Input

There are multiple test cases. The first line of the input is an integer T (0 < T < 1000) indicating the number of test cases. ThenT test cases follow. Each test case starts with an integer n (0 < n < 100). The ith line of the next n lines contains two integerstA, tB (0 < tA, tB < 100), giving the time to process the ith task by machine A and machine B.

Output

For each test case, output the earliest time when all the tasks have been processed.

Sample Input

4
1
1 2
2
1 2
2 1
2
1 2
90 95
3
1 3
1 3
1 3

Sample Output

1
1
90
3

Hints

  • Test case 1: Let machine A process task 1.
  • Test case 2: Let machine A process task 1 and at the same time let machine B process task 2.
  • Test case 3: Let machine B process task 1 and at the same time let machine A process task 2.
  • Test case 4: Let machine A process all the tasks.

代码里是从 dp[i-1][j] 开始做状态转移的
就比如前面 j<= 100 的那个部分吧,
如果把任务给 A 做,两个机器的时间差就会变成 j + ta[i]
如果把任务给 B 做,因为 j <= 100 表示 B 正在处理一个任务,所以必须先等待那个任务做完(j 回到 100),然后再给 B(再从 100 变到 100 - tb[i])

j里面+100的原因是为了不让下标取到负

#include<iostream>
#include<algorithm>
#include<string>
#include<map>
#include<vector>
#include<cmath>
#include<string.h>
#include<stdlib.h>
#include<cstdio>
#define ll long long
using namespace std;
int dp[201][201],ta[101],tb[101],ans;
void init(void)  //双塔DP(本题取值1-100) 
{  
    int i,j;  
    for(i=0;i<201;i++){
        for(j=0;j<201;j++){
			dp[i][j]=100000000;  
		}
	}
    dp[0][100]=0;  //初始状态 
    ans=100000000;  
}
int main(void)  
{  
    int T,n,i,d,j;  
    scanf("%d",&T);  
    while(T--)  
    {  
        init();  
        scanf("%d",&n);  
        for(i=1;i<=n;i++)  
            scanf("%d%d",&ta[i],&tb[i]);  
        for(i=1;i<=n;i++)  
            for(j=0;j<=200;j++)  
            if(dp[i-1][j]!=100000000)  
            {  
                if(j<=100)  //b比a高
                {  
                    dp[i][100-tb[i]]=min(dp[i][100-tb[i]],dp[i-1][j]+tb[i]);  
                    dp[i][j+ta[i]]=min(dp[i][j+ta[i]],dp[i-1][j]+max(0,j-100+ta[i]));  
                }  
                else  //a比b高
                {  
                    dp[i][100+ta[i]]=min(dp[i][100+ta[i]],dp[i-1][j]+ta[i]);  
                    dp[i][j-tb[i]]=min(dp[i][j-tb[i]],dp[i-1][j]+max(0,tb[i]-(j-100)));  
                }  
            }  
            for(i=0;i<200;i++)
                ans=min(ans,dp[n][i]); //找出值最小的一个状态 
            printf("%d\n",ans);  
    }  
    return 0;  
}  


【零基础入门unity游戏开发——3D篇】3D物理关节 —— Joint相关组件 阅读详情

相关推荐

嵌入式开源项目哪里找

对比产生的伤害是经验思考积累下的差距,知道自己不知道什么然后前进去追寻。

quanquanxiaobu的博客 3941

ZOJ-3331-Process the Tasks【7th浙江省赛】【双塔dp】【好题】

ZOJ-3331-Process the Tasks

Linoy 1693

别再为Word转PDF表格变形发愁了!Aspose.Words for Java 19.5 保姆级避坑指南

本文详细介绍了使用Aspose.Words for Java 19.5解决Word转PDF时表格变形问题的完整方案。从格式转换原理到实战技巧,涵盖固定表格宽度、禁用自动调整、强制文本换行等核心方法,并提供高级场景应对策略和性能优化建议,帮助开发者高效处理复杂文档转换需求。

weixin_28702105的博客 266

ZOJ 3331 Process the Tasks

Description There are two machines A and B. There are n tasks, namely task 1, task 2, ..., task n. You must assign each task to one machine to process it. There are some facts you must know and com

Occult 559

Synopsys工具filter命令:从数据筛选到高效IC设计的实战指南

在数字集成电路设计流程中,数据筛选与查询是工程师处理海量网表、时序报告和设计约束的核心需求。其原理在于通过声明式查询语言,直接对设计对象(如单元、网络、路径)的属性进行逻辑判断与模式匹配,从而精准定位目标。这种技术价值在于将工程师从繁琐的过程式脚本循环中解放出来,大幅提升代码可读性与运行效率,直接调用工具内置的高性能查询引擎。在实际应用场景中,它广泛用于物理与时序联合分析、层次化模块操作、动态约束生成以及自动化报告生成。本文聚焦于Synopsys工具链中filter命令的高阶用法,深入解析其表达式语法、正则

weixin_28007513的博客 577

Python 爬虫教程:财经新闻实时抓取(最新资讯 + 关键词提取)

在当今信息爆炸的时代,财经新闻的实时获取对于投资者、研究人员以及普通大众来说都具有重要的价值。通过 Python 爬虫技术,我们可以高效地抓取财经新闻,并提取其中的关键信息,以便更好地进行数据分析和决策支持。本文将详细介绍如何使用 Python 编写一个财经新闻实时抓取系统,并结合关键词提取技术,帮助读者快速掌握 Python 爬虫的核心技能。

yansideyucsdn的博客 1049

ZOJ3331-Process the Tasks(双塔DP)

Process the Tasks Time Limit: 1 Second      Memory Limit: 32768 KB There are two machines A and B. There are n tasks, namely task 1, task 2, ..., task n. You must assign each task to one machi

wang_128的博客 442

【26美赛F题 To Gen-AI, or Not To Gen-AI】(MCM/ICM)思路解析及代码分享

摘要:本文研究生成式人工智能(Gen-AI)对三类职业(STEM、技能型工艺、艺术)的影响,建立量化模型预测未来10-20年岗位需求变化。通过分析AI替代效应($R_{sub}(t)$)和增强效应($R_{enh}(t)$),提出差异化高校课程调整策略:STEM专业需加强AI集成能力,技能型工艺专业应结合智能工具与实操训练,艺术专业需平衡AI创作辅助与原创性培养。模型表明,高校通过针对性课程优化可提升毕业生在AI时代的就业竞争力,为教育决策提供数据支持。(149字)

一键难忘的博客 636

Process the Tasks(ZOJ3331)

题目链接:http://icpc.moe/onlinejudge/showProblem.do?problemCode=3331 题意:给两个机器,然后很多个操作,分别给出对应操作在AB两个机器上运作的时间,限定该操作能执行的条件是,前一个操作已完成或正在执行. http://blog.youkuaiyun.com/loy_184548/article/details/50733395 第一次接

Linnnnnger的博客 560

YOLOv8源码解析与复现:ShuffleAttention:高效的混合注意力机制 实现通道和空间混合注意力

随着深度学习在计算机视觉领域的飞速发展,卷积神经网络(CNNs)已经成为图像分类、目标检测、语义分割等任务的核心。为了进一步提升模型的性能,研究者们引入了“注意力机制”,旨在让网络能够动态地关注输入数据中最具信息量的部分。经典的注意力模块,如SE-Net(Squeeze-and-Excitation Networks)和CBAM(Convolutional Block Attention Module),通过通道注意力或结合通道与空间注意力,显著增强了模型的特征表达能力。

FJN110的博客 554

基于Lumerical的1550 nm InGaAs/InP与InGaAs/InAlAs APD设计与功率饱和度优化

摘要 本研究利用Ansys Lumerical软件对1550 nm激光雷达应用的InGaAs/InP和InGaAs/InAlAs雪崩光电二极管(APD)进行仿真设计与优化。通过FDTD光学仿真获取光吸收分布,结合CHARGE模块的电学仿真分析暗电流、光电流及雪崩增益特性。重点研究了两种材料体系的性能差异,并针对近距离强反射导致的功率饱和问题提出结构优化方案。仿真结果表明,InGaAs/InAlAs APD具有更优的过量噪声特性,而优化的电荷层设计可显著提升器件的功率饱和阈值。研究提供了完整的仿真流程与代码实

huanghm88的专栏 96

[DP]zoj 3331:Process the Tasks

大致题意:    有两个机器a,b。要处理n个部件,第i个部件在机器a上完成需要atime[i],在b机器上需要btime[i],每个部件只能选择一个机器来完成。且当地i个部件开始加工时前[1,i-1]部件必须已经完成或者正在被加工。求加工完所有n个部件的最小时间是多少。   大致思路:    好神的dp,开始时乱想了几个状态都觉得不靠谱,膜拜了众犇的博客才明白怎么做,大神敬请bs。这里的状态...

手上有剑,心中有爱 145

IEM模型,地表粗糙度模拟

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

ZOJ 3331 Process the Tasks(双塔DP)

ZOJ 3331 Process the Tasks(双塔DP)

Dacc123的博客 688

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ZOJ3331---Process the Tasks(dp)

There are two machines A and B. There are n tasks, namely task 1, task 2, ..., task n. You must assign each task to one machine to process it. There are some facts you must know and comply with:You mus

Alex 1186

TZOJ:3789: Process the Tasks(双塔DP)

这是一道经典的双塔DP题,建议没学过双塔的人先去学了再来弄这题吧. 最初始的双塔题好像是ZOJ上的那道------搭建双塔 但我学了把那道题弄懂后,再来写这道题的时候,还是没有任何思路,可能是我蠢爆了........ 无奈之下我翻了好几个博客去找题解,但几乎所有博客上讲的都有点粗枝大叶的,不够详细,我还得自己走几下代码,才能弄懂大致的思路,其中我看的一个博客,将大致的思路讲清楚了. ZOJ 3331 Process the Tasks(双塔DP)_Dacc123的博客-优快云博客 可以去翻一翻

Jay_fc的博客 207

双塔DP---- 一类以差值为状态表示的DP

从AOJ的塔,到POJ的ferry loading,ferry loading到浙江省赛的第7题Process the Tasks,发现这三个问题都是一类比较典型的dp,有必要好好总结一下,避免以后再出现就不会了 这类题目比较原始的版本是 AOJ的塔问题(题目链接) 题意:给你一堆积木,选择其中的某些来组成两个相同高度的塔(对于某块积木,可以放在塔1,可以放在塔2,也可以都不放),问你最大组

yobobobo的专栏 1955

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

a人左扶手,b人右扶手,c人双扶手,z人不用扶手,求最多几人一起观看电影。

月赛第一次做上了5题!!放上来纪念一下,一道超级细心的分类讨论题,只有你想不到的情况。。。 #include #define mod 1000000007 #define ll unsigned long long using namespace std; int main(){ int t; scanf("%d",&t); while(t--){ ll n,m,z,a,b,c;

芒果街上的小屋(此博客暂时停用) 5万+

是否可以删除一个字母之后变成回文串

题目描述 给出一个字符串,仅由小写字母组成。请找出是否仅删除其中的一个字母之后, 字符串变成回文串。 输入 输入第一行是一个整数 T,表示有 T 组数据。 每组数据占一行,每行包含一个非空字符串,字符串长度不超过 105 。   输出 对于每组测试数据,输出一行包含一个整数 K ,表示删除字符串中第 K 个字 

芒果街上的小屋(此博客暂时停用) 1786

【codechef】交换字符串S的两个位置上的字符,求有多少对AB不相似

有一种操作,是交换字符串的两个位置上的字符(位置可以一样)。对于两个字符串A、B,如果分别对它们做这个操作后得出一样字符串C,那么称AB相似。 现在给出一个字符串S,A和B分别都是它的全排列里的一种。现在求有多少对A、B满足AB不相似。 //相似:A变化成C,B也变化成C,那么AB相似。那么不妨设B不动,A变化两次是否能到B。 //假设B是随便取的,A是顺着B取的,那么B在取每一种排列时都有

芒果街上的小屋(此博客暂时停用) 1614

hdu 5206:Four Inages Strategy(判断四个点能否组成正方形)

小F在祖屋中意外发现一本上古时代传承下来的秘籍,名为《四象阵法》,他按捺不住内心的激动,翻开秘籍,一字一句地读了起来,“用四块元石作为阵基摆放在空间四处位置,如果四块元石形成一个正方形,则阵法激活,有杀敌困敌之效”,小F走遍五湖四海,终于集齐了四块元石,并将四块元石放置在四个坐标点上,可是他不知道阵法是否能够成功激活,于是,由你来告诉他答案。 输入描述 第一行只有一个整数T(T≤10000

芒果街上的小屋(此博客暂时停用) 1257

POJ2411: Mondriaan's Dream(1*2铺地砖,DP)

Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series' (where he had to use his toilet paper to draw on, for all of h

芒果街上的小屋(此博客暂时停用) 1184

zoj 3177 Elune's Arrow(数学题,分类讨论)

Priestess of the Moon (PotM) is a very interesting hero in the game Defense of the Ancients (DotA). Here is the official description of PotM: "A matriarch and high priestess of Elune's blessed orde

芒果街上的小屋(此博客暂时停用) 1002

CF116D 一开始往右扫,每换下一行要换方向扫,问扫完草至少经过的步数

草是'W'。难点是很容易漏情况。 input 4 5 GWGGW GGWGG GWGGG WGGGG output 11 #include #include #include #include//int dx[4]={0,0,-1,1};int dy[4]={-1,1,0,0}; #include//int gcd(int a,int b){retu

芒果街上的小屋(此博客暂时停用) 960
上一篇: zoj 3177 Elune's Arrow(数学题,分类讨论)
下一篇: zoj 1734 Power Network(最大流模板)
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值