Doing Homework HDU - 1074 状压dp

STC32G电调调试血泪史:从TPH1R403NL MOS管烧毁到PWM信号异常排查全记录 本文详细记录了STC32G无刷电调调试过程中的常见问题与解决方案,包括MOS管烧毁、PWM信号异常等关键故障排查。通过电源系统检测、驱动电路验证及三相平衡调试等实战经验,帮助硬件爱好者快速定位问题,提升电调调试效率。特别针对TPH1R403NL等MOS管的保护措施进行了重点分析。 阅读详情

题解

将完成题目压缩为二进制0表示任务未完成1表示完成 d[i]表示完成状态为i时的扣分数量 再存储p当前状态耗时和q求解路径方便输出答案
遍历所有状态i和每个作业k 如果目标状态缺少当前作业则进行转移
d[k] = d[i] + max(0, p[k] - a[j]) a为完成期限j为目标状态 扣分不能为负数取max

AC代码

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const int MAXN = 16;
const double eps = 1e-6;
int d[1 << MAXN], p[1 << MAXN], q[1 << MAXN]; //当前完成状态 扣分 耗时 路径
string s[MAXN];
int a[MAXN], b[MAXN];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		memset(d, 0x3f, sizeof(d));
		int n;
		cin >> n;
		for (int i = 0; i < n; i++)
			cin >> s[i] >> a[i] >> b[i];
		d[0] = p[0] = 0;
		for (int i = 0; i < 1 << n; i++)
		{
			for (int j = 0; j < n; j++)
				if (!((1 << j) & i)) //缺少该状态
				{
					int k = (1 << j) | i;
					p[k] = p[i] + b[j];
					if (d[k] > d[i] + max(0, p[k] - a[j]))
					{
						d[k] = d[i] + max(0, p[k] - a[j]); //完成后时间-期限
						q[k] = i; //记录状态转移
					}
				}
		}
		cout << d[(1 << n) - 1] << endl;
		vector<int> ans;
		for (int i = (1 << n) - 1; i; i = q[i]) //本身就是按照字典序排序
			ans.push_back(log2(i - q[i]) + eps);
		for (int i = ans.size() - 1; i >= 0; i--)
			cout << s[ans[i]] << endl;
	}

	return 0;
}
PCB工艺-SI9000使用教程 本文介绍了阻抗计算工具SI9000的使用方法,重点讲解了微带线与带状线的区别、共面阻抗概念及参考面选择。通过USB差分走线实例,详细说明了如何选择计算模型、填写参数并确定线宽线距。文章还提供了层叠设计资料和工厂常规阻抗表格作为参考,建议制板时标注需控阻抗的线路供板厂调整。最后简单提及了嘉立创阻抗计算工具作为备选方案。 阅读详情

相关推荐

ArcGIS拓扑检查实战:5分钟搞定面重叠与缝隙问题(附详细截图)

本文详细介绍了如何使用ArcGIS进行拓扑检查,快速解决面重叠与缝隙问题。通过搭建拓扑检查环境、配置拓扑规则、五步闪电修复法及批量处理技巧,帮助用户高效完成数据修正,提升GIS数据质量。特别适合地籍管理、规划红线等场景应用。

z4a5b6的博客 745

hdu1074---Doing Homework

Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in t

Alex 1645

雷达杂波的基础知识

例如工作在海上的机载雷达,航行在海上的船用雷达,它们都不想要海杂波,会影响它们对小目标的检测,从而以为“漏掉”海面飞行的巡航导弹而被击毁。海杂波的反射系数是非常复杂的,影响的因素很多,除了和雷达参数有关,显然还和海况息息相关,经验模型经常将反射系数表示成海况的函数,在不同条件和不同模型的情况下,反射系数的值不同。说到“杂波”,你可能想到的就是如何去抑制它,去减少它在雷达回波中的分量,在很多情况是这样的。云雨的反射对飞机雷达来说是不希望的,但确是气象雷达所利用的,可以用来测量降雨率,提升天气预报的准确性。

qq_43416206的博客 2136

Doing Homework HDU - 1074 状压dp

题目链接:https://vjudge.net/problem/HDU-1074 转自:https://blog.youkuaiyun.com/qq_41925919/article/details/89372016 题意:有一些作业的截止时间和完成作业需要的时间,一门作业每超过截止时间一天就扣一分。求扣分最少且字典序最小的输出序列。输入按照字典序输入。 思路:要么贪心要么dp。 这道题是dp。因为n&l...

A 192

SD - WAN:企业出海的网络加速器

例如,一家中国的跨境电商企业,在欧美市场的促销活动期间,借助 SD - WAN 技术,即使面对海量订单数据的交互,也能确保欧美客户在浏览商品、下单支付时感受到近乎本地网络的流畅体验,大大提升了客户满意度,稳住了销售增速。企业无需在海外本地部署大量冗余服务器,只需依托云台,借助 SD - WAN 快速稳定的网络连接,即可轻松实现业务拓展,进一步精简运营架构,提升整体效能。在未来,随着技术的不断演进和企业出海需求的持续增长,SD - WAN 将持续赋能,助力更多企业在全球市场扬帆远航,书写辉煌篇章。

idcicp_com的博客 447

Python对接海康威视机器视觉工业相机

工业相机只允许单条连接,也就是说MVS如果连接了相机,python代码就无法获取数据,此时必须。相机工具类(读者直接复制)HKCamera_class.py。博主这里出现了一个警告:获取不到相机参数。四、使用Pycharm打开Python代码示例文件夹。三、找到MVS示例代码(代码在MVS的安装位置)二、解压并安装MVS客户端。一、下载MVS客户端。安装一下opencv。

Good Luck 2万+

hdu 1074 Doing Homework【状压dp】好题

Doing Homework Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8284    Accepted Submission(s): 3828 Problem Description Ignatius has ju

mengxiang000000 877

信息安全-入侵检测技术原理与应用

入侵检测技术原理与应用、入侵检测概述、入侵检测技术、入侵检测系统组成与分类、入侵检测系统主要产品与技术指标、入侵检测系统应用

我的个人博客 1万+

Doing Homework HDU - 1074

刷题

qq_54783066的博客 302

闲鱼x-sign、x-mini-wua、x-umt三字段协同验证机制解析

在移动客户端风控体系中,设备标识与行为签名是保障接口安全的核心技术。x-sign并非传统时间戳+密钥的静态签名,而是融合设备特征、运行时状态与服务端动态因子的多阶段位运算结果;x-mini-wua作为小程序轻量水印,依赖主App注入的短时效sessionKey与截断时间戳;x-umt则通过设备硬件与网络环境联合编码实现强绑定。三者构成‘设备—环境—行为’三位一体的交叉验证链路,广泛应用于电商API防护、二手平台数据采集及自动化运营等场景。本文基于Android/iOS真机逆向与Frida动态分析,揭示其生成

weixin_30457551的博客 424

有手就行的CNVD证书获取

知己知彼百战不殆。要想成功挖掘CNVD漏洞并获得证书,第一步就是深入了解CNVD的漏洞发放规则和评分标准。CNVD(国家信息安全漏洞共享平台)对漏洞的评级主要基于漏洞的危害程度、影响范围以及利用难度。此外,CNVD倾向于收录那些影响国内重要信息系统或民生领域的漏洞,因此在目标选择上可以优先考虑政府、教育、医疗、金融等行业的系统。同时,提交漏洞时需要提供详细的漏洞描述、复现步骤和修复建议,确保报告内容清晰完整,以提高审核通过率。

iSee857的博客 2444

hdu 1074 Doing Homework (状压dp)

题意: 小明有n个作业,没个作业有ddl,有完成需要的时间t,一个作业如果超过ddl一个时间,就扣去一分,问最后做完所有作业扣去的分数最少是多少,并输出做作业的顺序。 解题思路: 基础dp题,以为应该很easy,xjb贪了3发,发现不对。 其实很容易想到作业,只不过觉得有点麻烦。 但是想到去写状压了,也就简单了。 用一个1 dp[i][j],i表示第几天,j就是上面的二进制数

johsnows的博客 375

【音视频 ffmpeg 学习】 RTMP推流 mp4文件

3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。2.RTMP协议中基本的数据单元称为消息(Message)。下载地址:http://nginx.org/download。下载 rtmp模块 到nginx 模块下。安装nginx 和 rtmp模块。(1). linux 环境准备。下载nginx安装包。使用 vcl 播放流。

weixin_45397344的博客 2276

状压dp,HDU1074.Doing Homework

比较典型的状压dp问题

EQUINOX1的博客 824

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

HDU 1074 Doing Homework 【状压DP】

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1074 ★自己立的flag 非要选择学打牌 ,那么就从状压DP开始吧~ 题意: 给你n个作业(名字,提交截止日期,需要写的时间),每个作业超过预定时间提交,每多一天就要扣一分。问怎样安排写作业的顺序才能使扣的分最少,并按输出写的作业的顺序~ 思路: 首先看到n特别小,然后emmm,就是状压DP咯 其实...

HungTeen的博客 246

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU 1074 Doing Homework (状压dp)

题意:有nnn门课,给出课的名称,ddl,所需时间,然后要让超出ddl的时间数之和最小。 题解:状压dp 用二进制枚举所有状态,再遍历当前状态的所有子状态(1),倒推过去取最大就可以。见代码注释。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring&g...

gongyuandaye的博客 351

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

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

HDU 1074 Doing Homework(状压DP)

题目地址:HDU 1074 这题攒了好长时间了。。。一直没写。。 简单状压DP。这题比较特别的地方是dp需要用结构体数组。 详细的请看kuangbin大神的模板。。传送门 代码如下: #include #include #include #include #include #include #include #include #include #include #in

scf0920 1172

HDU 1074 Doing Homework 状压Dp

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/D 题意:给定各个科目的截至时间和完成该科目所需要的时间,求最小逾期值。 刚开始拿到该题目,不知道思路,百度才反应过来,科目为15明显是状压Dp的标志嘛。。。。 然后终于写出来了。。。好费劲啊。。。太弱了。。 代码: #include

catch_catch的专栏 686

Doing Homework (状压dp hdu1074)

hdu 1074题目链接如上。题意是学生要完成作业,给出了n门课程,每门课程都有截止时间D和需要花费的时间C,如果一门课程超时一天就会扣一分。现在求一个最优安排,使得扣分最少,并且输出做作业的次序,如果同一扣分量有多种排序,要选择最符合字典序的优先级的。输入时已经按照字典序来给出课程。这道题目给的数据量很小,n的范围最大到15,我们可以从这个方面来推断它或许可以使用状压dp来解。并且还可以发现,当...

xuzonghao的博客 249

【状压dp】HDU 1074 Doing Homework

/* 状压dp D - Doing Homework 时间: 2017/02/20 题意:作业超过时限,超过一天扣一分,给出n个作业及其时限和需要完成的时间,求最小扣分值和其路径 题解: 状态压缩dp,本应该要想到的。其N<=15,所以每个状态状态转移最多15次。 因为题目要求最后方案如果多个情况以字典序排序,所以可以先将原数据先排序 然后我们发现递归时缺少了上一个状态的所用时间,我先预处理出来。

学无纸巾 378

hdu 1074 Doing Homework 状压dp

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意: 有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。 这n门作业按课程的字典序先后输入 问完成这n门作业至少要扣多少分,并输出扣分最少的做作业顺序 PS:达到扣分最少的方案有多种,请输出字...

126

HDU - 1074 Doing Homework 状压DP

Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homework after th...

Prince_NYing的博客 257

【HDU-1074】Doing Homework (动态规划 状压DP)

Doing Homework Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ign...

Winsoul Blog 1万+

HDU 1074 Doing Homework(状压DP)

第一次写博客ORZ…… http://acm.split.hdu.edu.cn/showproblem.php?pid=1074 http://acm.hdu.edu.cn/showproblem.php?pid=1074 这两个总有一个是可以点开的…… 题意比较清晰的啦。 做法的话暴力显然不合适,15!太大。 所以考虑状压DP…… 代码参考了网上大神的。十分感谢。谢谢@键盘上的舞者

cxhscst2 398

HDU 1074 Doing Homework(状压dp)

题意:给你n个作业的名称,完成时间和截止时间,问以怎样的顺序完成作用超出时间最少。 思路:这道题要用到状压dp,首先要明白什么情况会用到状压dp,当给出n数量很小时,并且每个都存在不同状况时会用到状压dp,用二进制字符串中0代表不选,1代表选 那么总共就有2^n种情况,此时我们就要枚举所有情况进行dp操作 #include&lt;bits/stdc++.h&gt; #include&lt;cstd...

- 回忆゛ 198

Doing Homework HDU - 1074(状压dp)

题目链接:https://vjudge.net/problem/HDU-1074 n<=15,很明显是状压dp,令f[i][j]表示在状态i下最后一位是j的最小代价(状态i的第j位一定为1)f[i][j]一定是从状态(i-(1<<(k-1)))中转移过来的,至于上一个状态以谁结尾是最小值还需要判断,我是在更新当前状态时就判断一下那个最小,因为点的标号从1开始,那下标0的数组就没有...

qq_45288870的博客 188
上一篇: Monkey and Banana HDU - 1069 dp
下一篇: Codeforces Round #515 (Div. 3) A. Vova and Train
CaprYang
博客等级 码龄8年 147粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值