HDU 1074 Doing Homework DP 状态压缩

基于Gurobi的综合能源系统运行优化:鲁棒两阶段优化方法 本文提出了一种基于Gurobi的综合能源系统鲁棒两阶段优化方法,针对包含换电站、光伏发电和电池储能的系统运行问题。研究采用多面体不确定性集合描述光伏出力随机性,构建了考虑电池衰减成本和弃光惩罚的两阶段优化模型:第一阶段制定日前调度计划,第二阶段处理实时运行中的不确定性。通过列与约束生成算法求解模型,并使用Python和Gurobi实现。仿真验证了该方法能有效平衡系统经济性与鲁棒性,为含高比例可再生能源的综合能源系统运行提供了实用解决方案。 阅读详情
题意:有N(N<15)个作业要做,如果一门课的作业没做完,超过一天,就要罚一分。问:最少罚多少分?并输出做作业的先后顺序,如果有相同罚分的,输出字典序最小的。
思路:状态压缩。用二进制表示做作业的状态:101表示第一科作业和第3科作业都做了的最少罚分,这个可以由100,001两个状态转移过来。

http://acm.hdu.edu.cn/showproblem.php?pid=1074

/*********************************************
    Problem : HDU 1074
    Author  : NMfloat
    InkTime (c) NM . All Rights Reserved .
********************************************/

#include <map>
#include <set>
#include <queue>
#include <cmath>
#include <ctime>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>

#define rep(i,a,b)  for(LL i = (a) ; i <= (b) ; i ++)
#define rrep(i,a,b) for(LL i = (b) ; i >= (a) ; i --)
#define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next)
#define cls(a,x)   memset(a,x,sizeof(a))
#define eps 1e-8

using namespace std;

typedef long long LL;
typedef unsigned long long ULL;

LL T,n,m,k;

struct Node {
    char name[105];
    LL dt,ot;
}t[16];

struct NODE{
    LL route[16] ;
    LL use ;
    LL cost ;
}dp[(1<<15)+5];

LL root[(1<<15)+5];

void init() {
    LL tmp;
    rep(i,1,1<<15) {
        tmp = i;
        while(tmp) {
            if(tmp&1) root[i] ++;
            tmp >>= 1;
        }
    }
}

void input() {
    scanf("%d",&n);
    rep(i,1,n) {
        scanf("%s %d %d",t[i].name,&t[i].dt,&t[i].ot);
    }
}

void solve() {
    rep(i,1,1<<15) dp[i].cost = (LL)1e50;
    rep(i,1,n) {
        dp[1<<(i-1)].use = t[i].ot;
        dp[1<<(i-1)].cost = t[i].ot > t[i].dt ? t[i].ot - t[i].dt : 0;
        dp[1<<(i-1)].route[1] = i;
    }
    LL newcost ;
    rep(i,2,n) {
        rep(j,1,(1<<n)-1) {
            if(root[j] == i) {
                rrep(ia,0,n-1) {
                    if((1<<ia)&j) {
                        newcost = (t[ia+1].ot + dp[j-(1<<ia)].use) > t[ia+1].dt ? (t[ia+1].ot + dp[j-(1<<ia)].use - t[ia+1].dt) : 0;
                        newcost += dp[j-(1<<ia)].cost ;
                        //printf("i : %d j : %d ia : %d newcost : %d\n",i,j,ia,newcost);
                        if(newcost < dp[j].cost) {
                            dp[j].cost = newcost;
                            rep(ib,1,i-1) dp[j].route[ib] = dp[j-(1<<ia)].route[ib];
                            dp[j].route[i] = ia + 1;
                            dp[j].use = t[ia+1].ot + dp[j-(1<<ia)].use;
                        }
                    }
                }
            }
        }
    }
    printf("%d\n",dp[(1<<n)-1].cost);
    rep(i,1,n) {
        //printf("%d\n",dp[(1<<n)-1].route[i]);
        printf("%s\n",t[dp[(1<<n)-1].route[i]].name);
    }
}

int main(void) {
    //freopen("a.in","r",stdin);
    init();
    scanf("%d",&T); while(T--) {
    //while(~scanf("%d %d",&n,&m)) {
    //while(scanf("%d",&n),n) {
        input();
        solve();
    }
    return 0;
}
智能工厂评估模型研究 摘要:通过对国内外现有智能制造评估模型的研究,结合重庆制造业行业领跑者与落后者之间差距大的现状,以实现全要素全连接的数字化工厂为出发点,融合工业互联网标识,构建实践可行的智能工厂评估模型推动中小型企业参与智能制造转型,缓和两极分化问题。本评估模型包含工厂体系架构的3个层级,提供用于推动智能制造转型的参考,包括设计、生产、管理的全过程评估。关键词:智能制造评估模型;智能制造转型;全连接工厂;工业互联网标识0 引言受行业需求与技术创新的影响,全球制造业在历经了工业1.0机械化、工业2.0电气化和工业3.0自动 阅读详情

相关推荐

360加固DEX解密与ELF修复技术解析

本文深入解析360加固的DEX解密与ELF修复技术,详细介绍了其多层保护机制、Java层入口分析、Native层加载流程及反调试绕过技巧。通过RC4和zlib解密技术,结合Frida工具实现内存Dump和ELF文件修复,为逆向工程师提供实用解决方案。

weixin_29327525的博客 508

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

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

Deng's site \# 2151

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记

日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。

weixin_41544125的博客 2809

HDU 1074 Doing Homework【状态压缩DP】

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

An55511的博客 159

Linux Component概述和高通component的使用

为了让subsystem按照一定顺序初始化设备才提出来的。subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video device),这时就要用到component框架。例如v4l2 subdev和v4l2 video device中,谁依赖谁先创建?

lz_1990的专栏 1610

MySQL下载和安装教程

1.下载MySQL数据库可以访问官方网站:https://www.mysql.com/ 2.点击DOWNLOADS模块下的Community模块下的MySQL Community Server进行下载。 由于目前最新版本是:MySQL Community Server 5.7.21 建议博友下载历史版本,本博下载的是5.6.39 下载步骤: 进入,选择MySQL的版本及主机 根据自己的电脑选择相应的位数进行下载,本机是64位,点击download。 进入下.

残雪的剑的博客 4万+

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

Nuvoton OpenTitan开源安全芯片技术解析与应用

硬件安全模块(HSM)作为可信计算基的核心组件,其设计透明度和可验证性正成为行业焦点。RISC-V架构凭借开源特性,为构建可审计的安全芯片提供了新范式。OpenTitan项目通过开放Verilog源码和形式化证明,实现了从物理不可克隆函数(PUF)到分层安全启动的全栈透明。该方案在lowRISC Voyager开发板上实测显示,安全启动时间小于200ms,性能损耗仅7%,显著优于传统黑盒方案。目前该技术已应用于Chromebook和数据中心,其40nm工艺版本更将功耗降至5μA待机水平,为物联网和边缘计算提

weixin_36303807的博客 397

HDU 1074 Doing Homework 状态压缩DP

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

Gatevin的专栏 714

ArcGIS数据处理必备技能:从地理坐标到UTM投影的面转栅格完整流程

本文详细介绍了在ArcGIS中从地理坐标到UTM投影的面转栅格完整流程,包括坐标系转换、像元大小设置及质量控制等关键步骤。通过实战案例和Python脚本示例,帮助用户解决常见问题并优化数据处理效率,特别适合需要精确GIS数据分析的专业人士。

weixin_42628688的博客 180

AI驱动Spine骨骼动画生成:从图像拆分到动画自动化的全流程解析

计算机视觉与生成式AI技术正深度赋能传统数字内容生产流程。在2D动画制作领域,骨骼动画技术通过模拟真实生物关节运动,实现了角色动画的高效制作与灵活控制。其核心原理在于将角色拆分为独立部件,通过骨骼层级关系驱动部件变换,结合关键帧插值算法生成流畅动作。这项技术的工程价值在于大幅降低动画制作门槛,提升内容生产效率,尤其适用于游戏开发、影视预演、广告设计等需要快速原型迭代的场景。本文聚焦于如何利用SIFT特征匹配、RANSAC几何验证等CV算法实现部件自动对位,并结合动画12原则的程序化实现,构建从单张角色立绘到

weixin_28696185的博客 1513

hdu 1074 Doing Homework 状态压缩dp

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

哇咔咔 394

扣子Coze智能体万字教程:从入门到精通,一文掌握AI工作流搭建

智能体 = 角色设定 + 提示词 + 变量输入一个好提示词的核心是结构、风格和复用性创建后可以一键发布成网页应用、对话助手整个过程0代码,只靠配置,人人可学,人人可用四、进阶一:理解「工作流」的威力如果你已经用扣子创建了几个简单的智能体,比如写个爆款小红书文案、生成一段短视频脚本,那恭喜你已经入门。但如果你还停留在“一个智能体 = 一段提示词”的层级,你离真正的智能体生产力革命,还差一步:学会搭建“工作流”——让多个大模型自动协同完成任务。

互联网架构师笔记 3494

HDU 1074 Doing Homework 状态压缩DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:小明打完比赛回来补作业,N个作业每个作业有 名字,截止日期,完成所需时间 三个属性,如果完成时间>截止日期,就会被扣分,多一天扣一分。现在你帮他安排做作业计划。N < 15 解题思路:其实很明确的是这是个决策性问题。每次都要做一个决策,从N个作业中选出来一个来...

EricJeffrey的博客 92

IDEA的使用指南

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

hdu 1074 Doing Homework 状态压缩DP

题意:给出n个作业的名称,死线,用时,每个课程每超过死线一天扣一分,求最小扣分及其排列,多种情况下输出字典序最小的一组。 由于n最大只有15,所以用状态压缩,从1到1 最后输出(1 #include #include #include #include #define N 1<<16 #define INF 0x7fffffff using namespace std; struct n

弱菜zc 933

SAP B1中文培訓教材_SDK

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

HDU[1074] Doing Homework 【状态压缩DP】

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 the hom...

醉酒、冰城外 197

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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...

zamaochick的博客 195

HDU1074:Doing Homework(状态压缩DP)

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

ACM!荣耀之路! 9274

HDU1074 Doing Homework 状态压缩DP

HDU1074 Doing Homework 状态压缩DP

htrdchh的博客 161

HDU 1074:Doing HomeWork(状态压缩DP)

状态压缩动态规划

温姑娘的博客 295

状态压缩DP-HDU-1074-Doing Homework

Doing HomeworkTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6694 Accepted Submission(s): 2889Problem Description Ignatius has just come b

懒鬼的私人泳池 680

HDU 1074 Doing Homework(状态压缩DP)

题目链接:HDU 1074 Doing Homework 状态方程挺好想的,跟ZOJ那个爆炸的题差不多,day

fobdddf的专栏 575

hdu 1074 Doing Homework (状态压缩dp)

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

HHH_go_的博客 473

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

  考虑到n只有15,那么状压DP即可。   题目要求说输出字典序最小的答案的顺序,又考虑到题目给出的字符串本身字典序是递增的,那么枚举i的时候倒着来即可。因为在同样完成的情况下,后选字典序大的,小的字典序就会在前面,那么整体的字典序就会更小。代码如下: 1 #include <stdio.h> 2 #include <algorithm> 3 ...

ddmxynl793173的博客 107

Hdu 1074 Doing Homework 状态压缩DP

题意: 给出n个任务,每个任务都有最后期限D,和做完该任务所要花费的天数C。且对于每个任务,若做完该任务的时间超出该任务的最后期限s天,则要扣掉s分数。最后输出最少要扣多少分才能完成全部任务,且按顺序输出所完成的任务。 思路:

u013699019的博客 385
上一篇: HDU 1056 HangOver 模拟 水题
下一篇: HDU 1054 Strategic Game 二分图最小点覆盖
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值