2018年东北地区赛S - Problem I. Spell Boost HDU - 6508

fibplus-8.0.0.zip FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。 立即下载

2018年东北地区赛S - Problem I. Spell Boost HDU - 6508

题目地址:https://vjudge.net/problem/HDU-6508

思路:
给一些卡,分为四种卡。
1.白卡(没效果)
2.魔法,作用卡(会对作用卡的费用减少,也会被魔法卡作用)
3.作用卡(会被魔法卡作用使其费用减少)
4.魔法卡(会对作用卡的费用减少)
有一个想法:如果我们得到最大的攻击力,其中会用到魔法卡和作用卡或者两者效果都有的卡的话,魔法卡其实是越早用越好,而作用卡越晚用晚用越好,因为作用卡会被魔法卡影响,使其费用减少,而且费用少的卡需要先使用,才能尝试更多的可能,如果一张卡是10w,一张卡是1w,为了尝试更多可能,先让费用少的先尝试,让费用多的之后对dp[N][N]进行比较。
那么,dp[N][N],第一个维度为费用值,第二个维度为用了几张魔法卡,维护的是最大攻击力。
然后就是一个01背包问题,当然为了实现我们的想法,需要对结构体进行某些特定的排序。

#include<iostream>
#include<algorithm>
using namespace std;
#define rep(i,j,k) for(int i = (j); i <= (k); i++)
#define per(i,j,k) for(int i = (j); i >= (k); i--)

const int N = 510;
int dp[N][N];

struct node{
	int w, x;
	int is_m, is_s;

	bool friend operator < (node a, node b){
		if (a.is_m != b.is_m) return a.is_m > b.is_m;//魔法卡先返回
		else if (a.is_s != b.is_s) return a.is_s < b.is_s;//作用卡越晚用越好

		return a.w < b.w;//先用费用小的,使其dp可以得到全部可能
	}
};

node arr[N];

void init(int x){
//	rep(i, 0, x)rep(j, 0, x) dp[i][j] = 0;
	memset(dp, 0, sizeof(dp));
}

int main(){

	ios::sync_with_stdio(false);
	cin.tie(0);

	int n, W;
	while (cin >> n >> W){

		int m_num = 0;

		rep(i, 1, n){
			cin >> arr[i].w >> arr[i].x >> arr[i].is_m >> arr[i].is_s;
			if (arr[i].is_m) ++m_num;//统计魔法卡数量
		}

		init(n);

		sort(arr + 1, arr + 1 + n);

		bool is_s = false;//判断是不是作用卡
		//从大到小遍历,可以不影响之前的状态
		rep(i, 1, n){
			if (arr[i].is_m){

				per(k, i, 1){//魔法卡从多到少
					per(j, W, 0){//费用从多到少

						int tmp_w = 0;
						if (arr[i].is_s){//有被作用效果
							is_s = true;
							tmp_w = max(0, arr[i].w - (k - 1));//触发魔法卡效果
						}
						//对于k张魔法卡,之前只有k-1张魔法卡,假如一张魔法卡去更新dp,所以被作用时
						//应该是魔法卡数量-1的费用减少
						if (is_s && tmp_w <= j){//是作用卡,费用足够
							dp[j][k] = max(dp[j][k],dp[j - tmp_w][k - 1] + arr[i].x);
						}
						else if (!is_s && arr[i].w <= j){//不是作用卡,费用足够
							dp[j][k] = max(dp[j][k], dp[j - arr[i].w][k - 1] + arr[i].x);
						}
					}
				}
			}
			else {
				//进入该部分时,全部的魔法卡使用情况已经存入dp,之后的都不是魔法卡
				per(k, m_num, 0){//m_num是魔法卡总数量,可能有不用魔法卡才能的到最大攻击的情况
					per(j, W, 0){
						
						int tmp_w = 0;
						if (arr[i].is_s){
							is_s = true;
							tmp_w = max(0, arr[i].w - k);
						}
						//对于k张魔法卡,被作用卡卡费用减少k
						if (is_s && tmp_w <= j){
							dp[j][k] = max(dp[j][k], dp[j - tmp_w][k] + arr[i].x);
						}
						else if (!is_s && arr[i].w <= j){
							dp[j][k] = max(dp[j][k], dp[j - arr[i].w][k] + arr[i].x);
						}
					}
				}
			}

			is_s = false;
		}

		int ans = 0;

		rep(i, 0, m_num) ans = max(ans, dp[W][i]);//遍历费用是W的dp最好值,及为最大攻击力

		cout << ans << endl;
	}


	return 0;
}


基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码 基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码.是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢sql,比分析xml中的语句更直观,springrain所有的sql语句都使用Finder封装管理,只要查看Finder的引用即可. 立即下载

相关推荐

保姆级教程:从零到飞,用QGC地面站搞定PX4无人机全流程配置(含避坑指南)

本文提供了一份详细的QGC地面站使用教程,指导用户从零开始配置PX4无人机,涵盖固件烧录、传感器校准、遥控器设置及航点规划等关键步骤,并包含实用的避坑指南,帮助新手顺利完成首飞。

weixin_30329623的博客 219

2018 东北赛i 简单dpI - Problem I. Spell Boost HDU - 6508

Shadowverse is a funny card game. One day you are playing a round of this game. You have n cards, each with two attributes wi and xi. If you use card i, you will cost wi points of power and cause xi ...

caowenbo2311694605的博客 420

从Oracle到腾讯TDSQL数据库升级技术分享

腾讯TDSQL(Tencent Distributed SQL)是一款兼具关系数据库和NoSQL数据库优点的新型数据库,文章主要分享oracle升级为TDSQl数据库技术经验。

u012372850的专栏 2613

Problem I. Spell Boost(dp 状态之间的影响)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6508 题意: 有n个卡片,是否为魔法卡,是否可以减费。卡片会消耗w能量,造成x伤寒。每使用一张魔法卡,接下来的可减费的卡消耗-1。初始值为W,问最大伤害。 解析: 用dp[i][j]表示还剩i能量,用了j张魔法的最大伤害。 考虑四种卡片: 物理卡不可减费:直接做背包,因为即不会影响别的,又不会被影响。...

QAQ 565

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南

本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。

weixin_30654583的博客 315

Dify工作流实践—根据word需求文档编写测试用例到Excel中

文章介绍了用dify工作流实现从word需求文档到测试用例写入excel的详细落地过程

weixin_42476668的博客 5333

2018东北四省赛参赛总结

说实话,很惨,学校两个队全军覆没,虽然都打铁呢,但是杨老师也没责怪我们,还请吃了晚饭。第一次参加比赛呢这次是,说实话有点受打击,但是更多有的是不甘心,就卡一道题,过去了稳拿牌的,而且还不知道为什么错了就很骚。学长队也是卡b题,好像超时还是咋地。总结经验呢,水题得抓紧做,但是别慌,这次最后一道题特别水,但是因为没约分交上去wa了一波,然后学姐给我个约好分的表达式交上去对了,A题没看懂题,三个人读了几...

云乐 1769

从零开始:用ADS 2023手把手教你设计2.4GHz Wi-Fi LNA(基于ATF-54143,附模型文件)

本文详细介绍了如何使用ADS 2023软件设计2.4GHz Wi-Fi频段的低噪声放大器(LNA),基于ATF-54143晶体管。内容涵盖模型导入、直流工作点确定、稳定性优化、噪声匹配等关键步骤,并提供可下载的模型文件包,帮助工程师快速掌握LNA设计技巧。

weixin_42531128的博客 320

2018东北四省赛 Spell Boost DP

7233: Spell Boost 时间限制:1 Sec内存限制:128 MB 提交:68解决:11 [提交] [状态] [讨论版] [命题人:admin] 题目描述 Shadowverse is a funny card game. One day you are playing a round of this game. You have n cards, each wi...

喵喵喵 807

ABAP 大规模数据并行处理实战,六套 Parallel Processing Framework 如何选,性能调优真正该盯住什么

如果今天真的面对那份执行 14 个小时的生产报表,我不会马上把原来的 Loop 改成 50 个aRFC。我会先用 SAT、ST12、SQL Monitor 和 HANA 侧工具确认时间到底花在哪里。如果 90% 时间其实消耗在一条低效 SQL 上,Parallel Processing 只是让 50 个 Worker 同时执行那条低效 SQL,数据库会比原来更痛苦。应该先把串行逻辑本身优化到合理水平。该做 Set-based Processing 的地方先交给 HANA。该避免SELECT。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 149

关于IBV_WR_RDMA_WRITE_WITH_IMM的理解

对于IBV_WC_RECV_RDMA_WITH_IMM的描述是这样的,也就是说并不需要sge,所以下发的sge,可以是NULL,个数可以是0。(1)需要下发post_recv,但是下发是post_recv当中的sge的地址可以是空,sge个数可以是0。伪代码,实际的rkey和addr已经通过socket交换。并且poll_cq时,有返回,在这篇文章当中对于poll_cq时,主要区别点有两个,这个是对于接收端而言。(2)可以带即时数据,

qq_38158479的博客 2418

2018黑龙江省赛、东北赛总结

第一次打ACM,心里万分激动,怀着拿牌子不亏,水水更健康的心情,进了比赛场。结果省赛压线银,东北赛极限铜,超出预期,很开心,也感谢队友的不杀之恩。第一天省赛,题目还是比较友好的,第一题题顺顺利利的就过去了,当我还沉浸在读题的高端体验时,给力的队友已经不知不觉A过了第一发,直到现在我还没有读到A题是什么。等他们又开始新一轮战斗的时候,我开始一个人奋斗在D题的战场上了。D题题意还算是明了的,也给了我一...

qq_40868110的博客 1926

Holt-Winters方法预测水电发电量

Holt-Winters 模型, ARMIA,ACF检验 ,Dickey-Fuller 检测,白噪声检测,差分

firefox_yau的博客 1270

2018 东北赛 Spin A Web (曼哈顿距离最小生成树)

7231: Spin A Web 时间限制: 1 Sec  内存限制: 128 MB 提交: 100  解决: 12 [提交] [状态] [讨论版] [命题人:admin] 题目描述 We have a canvas divided into grid with H rows and W columns. The square at the ith row from the top and ...

1999 1056

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OV9734 DATASHEET,完整规格书

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

大一东北赛选拔赛(2019.4.30)(未完待续)

A题 nefu 1829 寻找宝藏 #include <bits/stdc++.h> using namespace std; typedef long long ll; struct node { ll x,y; }a[1010],b[1010]; ll n,ansx,ansy; int main() { ios::sync_with_stdio(false); ...

nefu_ljw的博客 384

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

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

Spell Boost

题目描述 Shadowverse is a funny card game. One day you are playing a round of this game. You have n cards, each with two attributes wi and xi. If you use card i, you will cost wi points of power and caus...

weixin_41370251的博客 321

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

2018CCPC黑龙江省赛 - D.A Sequence Game(莫队算法/可持久化线段树)

题目大意 询问从区间最小值到区间最大值之间的每个数是否至少出现一次。 解题分析 拆成两个问题: 1.区间最大(最小)值:ST表; 2.区间种类数: 莫队算法/可持久化线段树; 若区间最大值 - 区间最小值 + 1 == 区间种类数,YES,否则为NO。 1.莫队算法 - O(n*sqrt(n)) #include&amp;lt;cstdio&amp;gt; #include&amp;lt;c...

Hrbust_cx的博客 1941

2018东北四省赛 Spin A Web 曼哈顿距离最小生成树

莫队的论文,讲的很清晰 问题描述:给定平面N个点,两边相连的代价为曼哈顿距离,求这些点的最小生成树 按一般想法,prime复杂度O(n^2),Kruskal复杂度O(n^2 logn),N很大时,这复杂度要爆炸了 但是最小生成树具有一个性质——环切性质,即如果在一个图中存在一个环,把环中权最大的边删去,那么现在最小生成树的权和 删之前相同,所以很多边都是没用的,可以删去 在平面内,分割成...

喵喵喵 688

2016CCPC东北地区大学生程序设计竞赛-Mr. Frog’s Problem

Mr. Frog’s Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description One day, yo

algzjh的博客 1426

2018 东北地区大学生程序设计竞赛(ABEHIK)

HDU6500:Problem A. Game with string 题意:   给你一个字符串s以及它的m个子串的首尾位置,现在Alice和 Bob两个人轮流在任一子串的前面或者后面加1个字符,要求加了这个串加了一个字符之后仍然是s的子串,谁不能加了谁就输了,要你输出谁赢。 题解:   每个子串可以加的字符次数是恒定的:s串的长度-子串的长度。那么我们将所有子串可以加的次数加起来再判断...

weixin_34010949的博客 449

2018 东北四省赛

题目链接 这个比赛我大一时候下时候和黄哥陈瑜打过的,当时是三道题拿了二等奖,那是我第一次打ACM ICPC赛制的比赛。我们学校那次好像去了六个队,除了一个女队是三等奖,其他的都是二等奖。 这场比赛好像找不到现场的榜单。 HDU 6510Problem K. Harbin Sausage 题意:说哈尔滨香肠的形状可以理解为一个圆柱体,然后两边各有一个半球,圆柱体的高是h,圆柱体底面圆的半...

flyzer的博客 863

2018东北四省赛 Split The Tree(区间种数的求法)

7229: Split The Tree 时间限制: 1 Sec  内存限制: 128 MB 提交: 68  解决: 18 [提交] [状态] [讨论版] [命题人:admin] 题目描述 You are given a tree with n vertices, numbered from 1 to n. ith vertex has a value wi We define the ...

雪的期许 1276

2016CCPC东北地区大学生程序设计竞赛 - 重现赛

A 题目连接:HDU 5922  Minimum’s Revenge   水题,每次连接上1就行,就是一个等差数列。 #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;cstd...

尘的博客 817

CCPC第十一届东北地区大学生程序设计竞赛(2017) 总结

回学校想了好久,还是写下了这篇博客。 地点:哈尔滨师范大学 这次比赛我们是信心满满的,跟田神、坤准备了好久,做了n场其他省份和学校的网络赛,排名都很靠前,志在夺金,但总是事与愿违。 13号热身赛,田神并没有来,三道题,第三题没怎么看懂,第一题超水,坤很快就A了,做第二题,我灵机一动,想了一个方法,很快就过了,最后热身赛排名第13(当时我两个觉得金牌肯定稳了,主力没来的情况下,都能做的这么好)...

china震震的博客 3438

2018 东北省赛 A Sequence Game (ST 莫队算法 or 主席树 )

7218: A Sequence Game 时间限制: 1 Sec  内存限制: 128 MB 提交: 209  解决: 54 [提交] [状态] [讨论版] [命题人:admin] 题目描述 One day, WNJXYK found a very hard problem on an Online Judge. This problem is so hard that he had be...

1999 794
上一篇: 2050编程赛 冰水挑战 HDU 6495
下一篇: Cow Exhibition POJ - 2184
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值