hdu 1074 状态压缩dp

Qt中输出中文出现乱码(win10系统下) 当我刚开始在win10下使用Qt Creator(4.3.0版本)时,遇到过这么个问题:当程序输出中文时,中文会乱码,程序本身的中文未乱码。 乱码截图如下: 我查阅了很多资料,最后在自己的不断的尝试下,解决了乱码问题。进入主题,具体如何解决乱码? ① 首先,我们先设置一下,可以直观在Qt界面上看到文件的编码方式: 点击工具(tool)->选项(option)->文本编辑器->显示->Diplayfileencoding,将其勾选上,点击apply,即可,截图如下... 阅读详情
//hdu 1074 状态压缩dp
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<istream>
#include<vector>
#include<math.h>
#include<stack>
#include<algorithm>
#define mod 10000009
#define maxn 9999999999
#define long long ll
using namespace std;
struct Job
{
	char name[205];
	int time, dead;
};
struct Choose
{
	int min, last,pre,now;
};

int main()
{
	//freopen("d:\\in.txt", "r", stdin);
	//freopen("d:\\inn.txt", "w", stdout);
	int T;
	scanf("%d", &T);
	while (T--)
	{
		Choose ch[1 << 15 + 1];
		Job job[16];
		int t, i,all,j;
		scanf("%d", &t);
		all = (1 << t) - 1;
		//printf("all=%d\n",all);
		for (i = 1;i <= all;i++)
		{
			ch[i].pre = -1;
			ch[i].min = 99999999999;
			ch[i].last = 0;
			ch[i].now = 0;
		}
		for (i = 1;i <= t;i++)
		{
			scanf("%s%d%d", job[i].name,&job[i].dead, &job[i].time);
			int y=1<<(i-1),x=job[i].time-job[i].dead;
			if(x<0)
                x=0;
			ch[y].min=x;
			ch[y].last=job[i].time;
            ch[y].now=i;
		}
		for (i = 1;i <= all;i++)
			for (j = 0;j < t;j++)
			{
			    int yy=1<<j;
			    //printf("i=%d yy=%d %d \n",i,yy,i&yy);
				if ((i&yy)==0)
				{
					int ii, jj;
					ii = ch[i].last + job[j + 1].time - job[j + 1].dead;
					//printf("ch[%d].last=%d  ii=%d \n",i,ch[i].last,ii);
					if (ii < 0)
						ii = 0;
					jj = (1 << j) + i;
					//printf("ch[%d].min=%d     ii=%d + ch[i].min=%d = %d\n",jj,ch[jj].min,ii,ch[i].min,ii+ch[i].min);
					if (ch[jj].min>ii+ch[i].min)
					{
						ch[jj].min = ii+ch[i].min;
						ch[jj].last = job[j+1].time+ch[i].last;
						//printf("ch[%d].last=%d   job[%d].time=%d+ch[%d].last=%d\n",jj,ch[jj].last,j,job[j].time,i,ch[i].last);
						ch[jj].pre = i;
						ch[jj].now = j + 1;
					}
                }
            }                            //注意搜索是是从小到大,不必要再考虑字典序的问题
		printf("%d\n", ch[all].min);
		stack<int> q;
		i = all;
		while (i!= -1)
		{
			q.push(ch[i].now);
			i = ch[i].pre;
		}
		while (!q.empty())
		{
			int front = q.top();
			q.pop();
			printf("%s\n", job[front].name);
		}
	}
	return 0;
}

让 Claude Code 接管 SAP 事务流, 用 Python 和 SAP GUI Scripting 做一个真正能干活的 AI Agent 摘要:SAP系统自动化面临的核心瓶颈在于繁琐的GUI操作而非分析能力不足。通过整合Claude AI、Python和SAP GUI Scripting技术,可构建能直接操作SAP界面的智能代理。该方案利用SAP官方提供的脚本接口,实现事务码执行、界面导航、数据提取等自动化操作,特别适用于DMLT过账引擎等复杂错误分析场景。相比传统SQL导出方案,这种GUI级自动化能处理树控件、ALV表格等复杂界面元素,且无需额外API开发,直接在现有SAP GUI会话上工作,在保持原有权限体系的同时显著提升效率。 阅读详情

相关推荐

自动驾驶仿真(五)—— 基于Carsim、Prescan、Simulink的联合仿真

自动驾驶仿真五——基于Carsim、Prescan、Simulink的联合仿真1. 联合仿真流程2. CarSim联合仿真配置要点3. Prescan联合仿真配置要点4. Carsim、Prescan、Simulink联合仿真结果5. 参考学习的书目教材 博主前面的博文已经介绍了Carsim和Prescan各自与Matlab/Simulink的相关联合仿真应用实例,并且论述过几款软件各自的优势及用法,CarSim适合动力学模型的建立,PreScan适合行车场景的搭建,Simulink适合控制算法的设计及信号

zhudj08的博客 1万+

HDU 1074 Doing Homework【状态压缩DP】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074题意:给定作业截止时间和完成作业所需时间,比截止时间晚一天扣一分,问如何安排作业的顺序使得最终扣分最少?分析:最多只有15节课,可以将完成作业的情况进行状态压缩,用二进制表示,枚举出状态,进行dp。 然后注意要取字典序最小的。 dp最初忘记1<代码:#include<iostream> #inc

Tuesday 627

告别手绘!用Aseprite+Unity Tilemap,从AI生成到2D游戏地图的保姆级搭建流程

本文详细介绍了如何利用Aseprite和Unity Tilemap从AI生成素材到搭建2D游戏地图的完整流程。涵盖AI生成素材的预处理、图层管理、动画制作,以及Unity中的Tilemap系统配置和性能优化技巧,帮助开发者高效创建像素风游戏地图。

weixin_29015483的博客 583

动态规划(状态压缩dp) --- HDU 1074 **

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

u012492780的专栏 644

Mediapipe手势识别实战——基于关节角度计算实现动态手势分类

本文详细介绍了如何利用Mediapipe进行手势识别,通过计算手指关节弯曲角度实现动态手势分类。文章从基础原理出发,讲解了关节角度计算的数学方法,并提供了Python实现代码。同时,还分享了数字手势和OK手势的识别实战经验,以及性能优化和工程实践中的关键技巧,帮助开发者快速掌握实时手势识别技术。

weixin_26891599的博客 403

Moltbot 超详细安装使用教程(初学者版)

你在外面逛街,用微信/Telegram 发消息说"帮我查一下明天的天气"它立刻帮你查好并回复你说"帮我在电脑上新建一个文件夹叫'工作文档'"它真的帮你在电脑上创建了这就是 Moltbot ——一个能真正帮你干活的 AI 助手。API Key 就像是一把"钥匙",让 Moltbot 能够使用 AI 服务。

weixin_51040479的博客 2015

HDU 1074 状态压缩DP 作业扣分

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1074 Ignatius刚刚从第30届ACM / ICPC回到学校。 现在他做了很多功课。 每个老师给他一个交付作业的最后期限。 如果Ignatius在截止日期之后交作业,老师将减少他的最后考试成绩,1天1分。 正如你所知,做作业总是需要很长时间。 所以Ignatius希望你帮助他安排做作业的顺序,以减少

不平凡的博客 567

基于STM32与MPU6050的实时姿态检测系统设计与实现(源码+硬件解析)

本文详细介绍了基于STM32单片机与MPU6050传感器的实时姿态检测系统设计与实现。通过硬件解析、传感器校准、卡尔曼滤波算法和欧拉角计算,实现高精度姿态检测。提供完整源码和调试技巧,适用于无人机、平衡车等嵌入式开发项目,解决噪声干扰和数据漂移等常见问题。

jupi8的博客 494

hdu 1074 状态压缩dp

题意: 有n种不同的作业,每种作业有完成所需的时间以及截止上交的时间,每种作业超过截止时间上交会扣分,现在要你安排这n种作业的完成顺序使得总扣分最少。 分析: 由于n比较小最大只有15,那么我们就可以考虑使用状态压缩dp来完成,每种作业的一种完成方式是一个状态。      例如5,二进制位101,代表第一门和第三门完成了,第二门没有完成,那么我们可以枚举1~1 对于到达状态i,从何种状态

liuyanfeier的专栏 657

auto.js梦幻西游游戏脚本,梦幻西游脚本开发思路

本篇文章给大家谈谈梦幻西游脚本用什么语言写,以及auto.js梦幻西游游戏脚本,希望对各位有所帮助,不要忘了收藏本站喔。

npy199331的博客 1939

锂电池SOC估计 | 基于LSTM长短期记忆神经网络的锂电池SOC估计(附matlab完整代码)

锂电池SOC估计 | 基于LSTM长短期记忆神经网络的锂电池SOC估计(附matlab完整代码)

前程算法屋的博客 1023

HDU 1074 Doing Homework(DP·状态压缩)

题意  有n个作业要做   给你每个作业的最后期限  和做完这个作业需要的时间  作业每超过最后期限一天就会扣一分  只能把一个作业做完了再做另一个作业  问做完所有作业至少扣多少分 作业最多只有15个  看到这个数字容易想到是状态压缩  dp[i]表示i对应状态的最小扣分  i转换为二进制后为1的位表明该位对应的作业已经做了  为0的位没做  那么dp[i] = min{dp[k] + c

Deng's site \# 2151

基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现

在超声CT中,反演算法起着至关重要的作用,它通过从测量数据中恢复出目标物体的内部结构。本文将介绍基于ART算法(Algebraic Reconstruction Technique)和SIRT算法(Simultaneous Iterative Reconstruction Technique)的超声CT反演方法,并提供相应的MATLAB代码实现。本文介绍了基于ART算法和SIRT算法的超声CT反演方法,并提供了相应的MATLAB代码示例。基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现。

2301_79326510的博客 566

hdu1074 状态压缩dp

/**********************jibancanyang************************** *Author :jibancanyang *Created Time : 日 4/10 15:45:00 2016 *File Name : hdu1074.cpp *题目类型:状态压缩dp *感悟:看数据范围易猜测为2的指数次方复杂度,这

JIBANCANYANG 325

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HDU 1074 状态压缩DP

/**************************************************************************************************** 状态压缩DP,乱搞搞出来的。。。用二进制位压缩状态,例如101表示第2,0个作业已经做了,第1个作业还没做的状态,那么 显然应该从100或者001推101,那么就用个&啊,^啊,算啊。。。

源码力量 739

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU 1074 (状态压缩DP)

http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意:给出n(n   由数据规模可以知道可以用状态压缩DP来解决。一般的DP题目都可以用搜索和递推两种方法解决,这道题来说,递推思路会比较直观,而递推的时间效率高很多!   用搜索来解决,主要要注意两个地方,一是状态的转移,二是剪枝。由状态0开始进行DFS,每次添加一个当前还没有安排的

Night__elf 534

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

hdu1074之状态压缩dp

Doing Homework Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4685    Accepted Submission(s): 1917 Problem Description Ignatius ha

Stephen 7813

HDU 1074 状态压缩dp

题意 :就是说有n门课程作业,每一门课程作业都有一个截止时间和完成作业所需要的时间,超出截止时间再交作业会被扣分,问你最少扣多少分。题解 :首先我们发现,作业的数目最大只有15,如果纯暴力的话,需要 15 ! 显然 时间复杂度不可以接受,这个时候就要想能不能状态压缩一下,把15!降到 2^15 * 15 这种复杂度,这样的话就不难想到状态压缩dp了 (可以思考一下,其实状态压缩的好处就在于它仅仅用

Glory 的 博客 295

HDU 1074 Doing Homework DP 状态压缩

题意:有N(N<15)个作业要做,如果一门课的作业没做完,超过一天,就要罚一分。问:最少罚多少分?并输出做作业的先后顺序,如果有相同罚分的,输出字典序最小的。思路:状态压缩。用二进制表示做作业的状态:101表示第一科作业和第3科作业都做了的最少罚分,这个可以由100,001两个状态转移过来。 http://acm.hdu.edu.cn/showproblem.php?pid=1074 /****

NM的专栏 374

hdu 1074 状态压缩DP 贪心 错的原因

第一次状态压缩DP,刚开始使用贪心策略,后来找到反例。 输入: 5 3 a 1 1 b 2 1 c 1 1 你的输出: 2 a c b 正确答案: 2 a b c 贪心能够算出正确的分数,但是不一定能得到正确的字典序。 因为贪心的时候根本没有考虑字典序。 但是如果遇到类似题目只要求最小扣分,那么一定要用贪心,因为这题只有15门课,如果课多枚举状态dp的话肯定不行,而贪心就快得多。因此

QZQ 1056

HDU 1074 Doing Homework 状态压缩DP

题目大意: 现在又n中不同的作业需要做,每种作业有一个上交期限可

Gatevin的专栏 714

hdu1074 状态压缩DP

有n门课,给定每门课要花费的天数C和时限D,如果超过规定时间完成,每超过一天就会扣1分,问怎样安排做作业的顺序才能使得所扣的分最小 N 枚举所有状态i(1 对于第j门课,if(i&(1 那么i可以由状态i^(1 !!注意题目要求字典序,所以状态转移方程要取等号 dp[i]>=dp[lastState]+delay这是因为j是从1->n的,所以是1 #include

pmt123456的博客 440

HDU1074 Doing Homework 状态压缩DP

Doing HomeworkTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescriptionIgnatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every

围巾的ACM博客 487

状态压缩dp入门[HDU1074][HDU1065][POJ3254][POJ1185][HDU4359][POJ3311][POJ2411]

[HDU1074][HDU1065][POJ3254][POJ1185][HDU4359][POJ3311][POJ2411] 我理解的状态压缩dp问题是这样的: 给出你n个物品,你要在这n个物品中选出一些物品(或一个都不选),那么对于每个物品你都有两种选择(选或者不选),这样,一共有2^n种情况。而n 如:总共有5个物品,则最多有32种取物品的情况,13 对应5位的二进制数01101,就表示取物品2,3,5。对于每个5位的二进制数我们都用5次位运算判断它的各个位是1还是0。本来每个状态要用5个空间存,现在

cookiesMonster 572
上一篇: hdu 4628 状态压缩dp
下一篇: LA 4794 状态压缩dp
labrother
博客等级 码龄11年 2粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值