自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC_Arthur的专栏

Always challenge miracles!

  • 博客(9)
  • 收藏
  • 关注

原创 ZOJ 3216 Compositions(矩阵优化DP)

题目链接:点击打开链接思路:ZOJ挂了, 理论AC一下。用d[i]表示数i的拆分方案。   转移是个难点, 我们可以考虑转移到d[i-1]表示对于当前这个拆分出的数进行+1修改, 转移到d[i-k]表示之前拆分的数不变了, 新增加一个拆分数k。然后构造矩阵就很简单了。

2016-10-21 20:27:46 790

原创 UVA 10779 - Collectors Problem(网络流)

题目链接:点击打开链接思路:我们以1~m建立一列结点,表示Bob的物品, 以2~n建立一列结点, 表示其他的人。 源点和1~m相连, 容量为Bob的初始数量; 汇点也和1~m相连, 容量为1, 表示最终种类的限制, 如果有一个人i有物品j, 那么i向j连容量为i拥有的个数-1,表示只会给他重复的物品; 否则, j向i连容量为1的边, 表示最多给i一个(不要重复的)。 细节参见代码:

2016-10-21 16:05:40 533

原创 UESTC - 1251 谕神的密码(DP)

题目链接:点击打开链接思路:根据数据范围, 很容易确定用d[i][j]表示前i位和为j是否能组成符合要求的数字。 用path[i][j]表示下一个状态的j值, hehe[i][j]表示当前状态选了哪个数字。特判n == 1 && s == 0。细节参见代码:#include #include #include #include #include #include #

2016-10-19 20:28:18 609

原创 POJ 3373 Changing Digits(DP)

题目链接:点击打开链接思路:用d[i][j]表示前i位余数为j的最小修改次数, DP的过程中用path[i][j]表示相同状态下的下一个余数, 目的是记录路径, 用hehe[i][j]表示相同状态下该位最终的值是多少。细节参见代码:#include #include #include #include #include #include #include #inclu

2016-10-17 22:12:02 690

原创 UVA 11261 - Bishops(杂题)

题目链接:点击打开链接思路:象可以沿着对角线走任意距离, 直接枚举保存复杂度n*m*log(nm), 肯定超时, 考虑到数学方法:   同主对角线上y-x的值相同, 同一副对角线上x+y相同, 且连续分布。所以我们考虑枚举主对角线的值, 如果这个值出现过, 那么这一个对角线的所有点都会被攻击, 否则, 我们维护这个区间的副对角线被占有的值的个数。复杂度O(nlogn)细节参见代

2016-10-13 16:41:53 628 2

原创 Ural 1542. Autocompletion(二分)

题目链接:点击打开链接思路:因为单词最长15,  我们把每个单词不同长度的前缀存起来, 排序之后二分即可,  复杂度O(nlogn)细节参见代码:#include #include #include #include #include #include #include #include #include #include #include #include

2016-10-11 16:05:03 500

原创 UVA 1221/HDU 2413/POJ 3343 Against Mammoths(二分+二分图匹配)

题目链接:点击打开链接思路:由于人类星球和外星球是一一对应的, 自然想到二分图匹配,  但是如果匹配, 必须是某人类星球能打赢某外星球才连边。  因为星球上的飞船数量随时间变化, 所以先考虑把时间固定,  然后就可以分类讨论求出在T时间内的最大匹配。   由于在T时间内能胜利, 那么大于T时间也一定能, 二分即可。细节参见代码:#include #include #includ

2016-10-10 12:39:59 876

原创 POJ 3538 Domestic Networks(DP)

题目链接:点击打开链接思路:选一些边, 使得任意两点都可以相互到达且花费最小,  这显然是最小生成树, 将边挑选出来之后, 如果贪心选取的话, 有可能导致无解, 所以我们考虑用动态规划。根据数据量, 用d[i][j]表示前i个边, 第一种颜料用了j单位长度下的最小花费,  因为没条边都选, 那么用总和减去j就是第二种颜料的花费。  用path[i][j]表示改状态下从哪一个状态转移过来

2016-10-03 16:33:09 991 2

原创 UVA 1212 - Duopoly(最小割)

题目链接:点击打开链接思路:看这些限制条件, 我们很容易想到二分图,  两个公司分别建立两列结点, 表示每个订单。  关键是每个资源只能为一个公司所有,而且一旦买了一个订单, 所有资源都要全买。根据最小割, 我们如果在冲突的订单(存在相同资源)间连一条容量INF的边, 那么割掉的边就是受益最小的, 最终求出来的是最小受益,  用总的减去最小受益就行了。细节参见代码:#inclu

2016-10-02 19:27:59 660

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除