lightoj 1037 - Agent 47(状压dp)

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1037

 

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #define inf 0X3f3f3f3f
 5 using namespace std;
 6 int dp[1 << 16] , hp[20];
 7 char dam[20][20];
 8 int main() {
 9     int t , ans = 0;
10     scanf("%d" , &t);
11     while(t--) {
12         int n;
13         scanf("%d" , &n);
14         for(int i = 0 ; i < n ; i++) scanf("%d" , &hp[i]);
15         for(int i = 0 ; i < n ; i++) {
16             scanf("%s" , dam[i]);
17         }
18         memset(dp , inf , sizeof(dp));
19         dp[0] = 0;
20         for(int i = 0 ; i < (1 << n) ; i++) {
21             for(int j = 0 ; j < n ; j++) {
22                 if(i & (1 << j)) continue;
23                 else {
24                     dp[i | (1 << j)] = min(dp[i | (1 << j)] , dp[i] + hp[j]);
25                     for(int k = 0 ; k < n ; k++) {
26                         if(i & (1 << k)) {
27                             int tm = 1;
28                             if(dam[k][j] - '0') tm = dam[k][j] - '0';
29                             dp[i | (1 << j)] = min(dp[i | (1 << j)] , dp[i] + hp[j] / tm + (hp[j] % tm == 0 ? 0 : 1));
30                         }
31                     }
32                 }
33             }
34         }
35         printf("Case %d: %d\n" , ++ans , dp[(1 << n) - 1]);
36     }
37     return 0;
38 }

 

题解:简单的状压dp存一下被kill的人的状态就行。

转载于:https://www.cnblogs.com/TnT2333333/p/7119611.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mq幂等mysql_膜拜!看完这篇你还不懂RocketMQ算我输

RocketMQ 介绍Apache RocketMQ 是一款 低延迟、高并发、高可用、高可靠的分布式消息中间件。消息队列 RocketMQ 可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。RocketMQ 概念Topic&#xff1a;…

新手算法学习之路----二分法Last-position-of-Target

用二分法查找顺序数组中key值出现的最后一个位置 基本思路&#xff0c;将顺序数组两边掐&#xff0c;最后掐到只剩下两个元素&#xff0c;前面的那一个就是target值。如果key值等于中间值的话就掐掉中间值的左边一部分&#xff0c;继续往后对比中间值&#xff0c;如果下雨则中间…

从一个数组中找出最接近目标_LeetCode每日一题 | 转变数组后最接近目标值的数组和...

题目来源&#xff1a;LC1300这道题目是一道比较经典的二分查找题。我们注意到&#xff0c;当value越大时&#xff0c;数组之和越大&#xff0c;当value越小时&#xff0c;数组之和越小。因此&#xff0c;我们可以利用数组之和是value的单调递增函数这个性质来进行二分查找。最大…

C++ 初始化列表初始化列表性能问题的简单的探索

C 初始化列表性能问题的简单的探索 从概念上来讲&#xff0c;构造函数的执行可以分成两个阶段&#xff0c;初始化阶段和计算阶段&#xff0c;初始化阶段先于计算阶段。 在执行构造函数时&#xff0c;如果没有给定初始值&#xff0c;那系统就会自动进行初始化。 #include <st…

mysql 5.5半同步复制_(5.5)mysql高可用系列——MySQL半同步复制(实践)

关键词&#xff0c;mysql半同步复制【0】实验环境操作系统&#xff1a;CentOS linux 7.5数据库版本&#xff1a;5.7.24数据库架构&#xff1a;主从复制&#xff0c;主库用于生产&#xff0c;从库用于数据容灾和主库备机&#xff0c;采用默认传统的异步复制。主库IP&#xff1a;…

Java+Jmeter接口测试

一、创建工程、引包1、创建JAVA工程2、引入Jmeter中lib\ext基础包&#xff1a;ApacheJMeter_java.jar、ApacheJMeter_core.jar3、引入Jmeter日志包&#xff1a;jorphan.jar&#xff0c;logkit-2.0.jar&#xff0c;commons-logging-1.1.1.jar&#xff0c;avalon-framework-4.1.4…

Discuz3.3精仿小米风格整站模板制作——1、新建模板方案

术语说明&#xff1a; 模板——模板是一堆按照规定命名方式的html文件&#xff0c;用于指定整个论坛不同页面的外观。标签——标签和模板共同作用以实现论坛换肤功能&#xff0c;其中标签主要控制页面显示什么数据&#xff0c;显示多少条等。风格——风格是一个xml配置文件&…

mysql自增长序号_MySQL rownumber SQL生成自增长序号使用介绍

下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl (-> id int primary key,-> col int-> );Query OK, 0 rows affected (0.08 sec)mysql> insert into tbl values-> (1,26),-> (2,46),-> (3,35),-> (4,68),-> (5…

php运行出现Call to undefined function curl_init()解决方法

php运行出现Call to undefined function curl_init() 64位win7/8 下PHP不支持CURL 除了将PHP.ini中的;extensionphp_curl.dll前面的"&#xff1b;" 去掉&#xff0c;还需要如下操作&#xff0c;&#xff08;因apache,php版本的原因有些人电脑可能要执行第一步&#…

python水平_如何在python中水平透视表

目前我有以下格式的表格&#xff1a;Geo-id Name stat Year index111500 Anniston-Oxford-Jacksonville AL 1991 0111500 Anniston-Oxford-Jacksonville AL 1992 91.675111500 Anniston-Oxford-Jacksonville AL 1993 93.8025111500 Anniston-Oxford-Jacksonville AL 1994 96.63…

php 把一个数组分成有n个元素的二维数组的算法

一、第一种解法 <?php //把一个数组分成几个数组//$arr 是数组//$num 是数组的个数function partition($arr,$num){//数组的个数$listcountcount($arr);//分成$num 个数组每一个数组是多少个元素$paremfloor($listcount/$num);//分成$num 个数组还余多少个元素$paremm$list…

linux安装mysql 5.6_linux 安装mysql5.6

(1)rpm -qa | grep mysql检查系统中是否已安装 MySQL。 返回空值的话&#xff0c;就说明没有安装 MySQL 。注意&#xff1a;在新版本的CentOS7中&#xff0c;默认的数据库已更新为了Mariadb&#xff0c;而非 MySQL&#xff0c;所以执行 yum install mysql 命令只是更新Mariadb数…

Windows 环境下运用Python制作网络爬虫

import webbrowser as web import time import os i 0 MAXNUM 1 while i < MAXNUM:web.open_new_tab(要刷的网络地址)os.system(taskkill /F /IM 浏览器文件名称(chrome.exe))i 1 else:print happly day! 代码和简单仅仅要一个第三方的函数和调用系统的文件就OK了。记住给…

selenium禁止弹窗_python:使用带有selenium的firefox时禁用下载弹出窗口

我有使用selenium和firefox自动执行下载操作的脚本。问题是每当我运行这个脚本时&#xff0c;我总是从firefox弹出&#xff0c;不停地问我想做什么样的操作&#xff0c;即使我在firefox首选项中设置了下载路径。我检查了文件和文件夹来创建主控形状模拟类型.rdf所有的用户&…

普元连接mysql_普元EOS 案例 - 还有一行代码的个人空间 - OSCHINA - 中文开源技术交流社区...

1 创建项目1) 进入EOS Studio开发透视图&#xff1b;单击主菜单项“文件”选择“新建”->“空EOS项目2) 在弹出的“创建空EOS项目”视图中&#xff0c;配置相关参数。“项目名称”&#xff1a;EOSTriping&#xff0c;3) 单击【完成】按钮&#xff0c;系统完成该项目框架…

十年WEB技术发展历程

Ajax03年的时候我上六年级。那时候网吧刚在小县城的角落萌生。传奇&#xff0c;大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩&#xff0c;然后接下来的一个小时我一直在&#xff0c;注&#xff0c;冊&#xff0c;账。号。彼时网吧用的512k…

Python之编写登陆接口

1.输入用户名密码&#xff1b; 2.认证成功后显示欢迎信息&#xff1b; 3.错误三次后&#xff0c;账号被锁定。 账号文件&#xff1a;user.txt 锁定文件&#xff1a;locked.txt 流程图如下&#xff1a; # -*- coding:utf-8 -*- # Author Caoxl import sysaccount_fileE:\user…

java符号引用 直接引用_Java -- JVM的符号引用和直接引用

Java -- JVM的符号引用和直接引用在JVM中类加载过程中&#xff0c;*在解析阶段&#xff0c;Java虚拟机会把类的二级制数据中的符号引用替换为直接引用。*1.符号引用(Symbolic References)&#xff1a;符号引用以一组符号来描述所引用的目标&#xff0c;符号可以是任何形式的字面…

Arduino学习笔记24

指导学生编程练习转载于:https://www.cnblogs.com/guochaoxxl/p/7148006.html

好全的Android面试题

转载&#xff1a;http://www.jianshu.com/p/84ee896c3329 需求描述 各种新技术接触渠道比较狭窄, 面试没有底气。 常见面试知识点及回答没有较系统的准备&#xff0c;就业指导提供的资料没时间看&#xff0c;看了记不住。 面试没有经验, 不清楚面试前要做的各种准备、面试过程…