CF_321_B_NetFlow
题面:据说题目描述是游戏王的规则,然而我并没有玩过。大概意思就是我方有m张攻击牌,敌方有n张牌(防御,攻击都有),如果一回合我方选择攻击牌(X)攻击敌方防守牌(Y)且$Vval_X > Val_Y$,那么可以打掉敌方该牌但没有伤害,如果是攻击打攻击,除了打掉敌方牌之外,还可以获得$Damge = Val_X - Val_Y$。此外,如果敌方已经无牌,我方选择牌(X),则直接获得$Val_X$的伤害,我方可以选择随时结束游戏,求造成的最大伤害值。
题解:既然选的是flows专题,那肯定是flows,个人感觉可以贪心,但是由于练习flows,就用flows写了,后来贪心想了半天,想不出来,至于flows,网上很多版本是跑两次,其实可以运用费用流的最短路进行边权控制,使得一些边在后面才可以跑到。详细来说,就是根据规则连边,然后考虑对方牌组为空的情况,显然要把每一张己方牌考虑进来,于是乎这里出现了边权控制,将边权置大,到后面跑到再减回来。并且注意,只有到达满流(敌方牌组为空)之后,才有可能有这种情况。
代码学习,就是从这位博主那里学习到了费用控制,一开始自己对于敌方牌组为空的处理并不能跑出答案,因为没有考虑到这是满流之后的情况。
CF_321_B_NetFlow的更多相关文章
随机推荐
- JQuery中$.ajax()方法参数详解 转载
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...
- JSTL中<c:set>标签的用法
<c:set>标签有两种不同的属性设置:var和target. var“版本”用于设置作用域属性,target“版本”用于设置bean属性或Map值. 这两个版本都有两种形式:有标签体和没 ...
- 【BZOJ4236】JOIOJI STL
[BZOJ4236]JOIOJI Description JOIOJI桑是JOI君的叔叔.“JOIOJI”这个名字是由“J.O.I”三个字母各两个构成的. 最近,JOIOJI桑有了一个孩子.JOIOJ ...
- 170623、springboot编程之JdbcTemplate操作数据库
使用JdbcTemplate操作mysql数据库! 1.在pom中引入jpa包 <dependency> <groupId>org.springframework.boot&l ...
- Windows安装使用git
下载安装Windows安装文档Git-2.16.2-64-bit双击安装(安装过程不详述) 打开git客户端 新建代码命令 mkdir /c/code 进入该目录(对应windows的c盘下面的目录) ...
- Oracle表的维护(字段,重命名表名)
案例:银行里建的开卡信息 字段 字段类型 Id Number name Varchar2(64) sex Char2() birth Date money Number(10,2) 创建银行卡表 cr ...
- SpringBoot项目属性配置
如果使用IDEA创建Springboot项目,默认会在resource目录下创建application.properties文件,在SpringBoot项目中,也可以使用yml类型的配置文件代替pro ...
- 模拟百度云盘版的ftp
思路:一.分两个大的文件夹,一个是客户端,一个服务端的 二.实现的功能 1. 登陆--对用户名的合法性进行检测(实验账户:alex,123) 注册--设置账户,其中 ...
- VirtualBox Guest Additions installation
在使用VirtualBox为CentOS安装增强功能时,输出是: 文本: Verifying archive integrity... All good. Uncompressing VirtualB ...
- django-models的get与filter
为了说明它们两者的区别定义2个models class Student(models.Model):name = models.CharField('姓名', max_length=20, defau ...