假设在当前状态我们第i堆糖果分别取了cnt[i]个,那么篮子里以及口袋里糖果的个数都是可以确定下来的。所以就可以使用记忆化搜索。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 45; ...
分类:
其他好文 时间:
2015-09-02 00:17:51
阅读次数:
180
题目传送门题意:n个人发糖果,B 比 A 多 C的糖果,问最后第n个人比第一个人多多少的糖果分析:最短路,Dijkstra 优先队列优化可过,SPFA竟然要用栈,队列超时!代码:/************************************************* Author ...
分类:
其他好文 时间:
2015-09-01 21:14:26
阅读次数:
168
题目链接: Hdu 4465 Candy题目描述: 有两个箱子,每个箱子有n颗糖果,抽中第一个箱子的概率为p,抽中另一个箱子的概率为1-p。每次选择一个箱子,有糖果就拿走一颗,没有就换另外一个箱子。问换箱子的时候,另外一个箱子中剩下糖果的期望值。解题思路: 注意题目描述,其中任意一个箱子没有糖...
分类:
其他好文 时间:
2015-08-28 23:06:33
阅读次数:
163
叉子\分岔\岔口\复刻,西方人吃饭用的东西,经常用作刀和叉。 计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。 fork函数将运行着的程...
分类:
其他好文 时间:
2015-08-28 11:17:18
阅读次数:
153
模拟,,,每个人有一些糖果,每两个人之间只能给一个糖果,问最后是否能让所有人的糖果数量相同,只要确定一个糖果的流向其他的就能够确定。马虎了,卡了好几天,心塞塞的。。。#include#include#includeusing namespace std;const int maxa = 100005...
分类:
其他好文 时间:
2015-08-26 22:00:03
阅读次数:
117
本题其实是经典(完全)背包问题的一个变种,只不过需要处理一下B[i]。设dp[i]为花费i所得糖果最大值。根据题目,共有n堆礼物,买k个第i堆礼物获得糖果A[i] * k + B[i] (k > 0),每堆礼物数不限。我们可以把每一堆礼物中的每一个礼物单独看成一堆。那么一共有无穷堆共k组礼物。bel...
分类:
其他好文 时间:
2015-08-21 23:07:24
阅读次数:
226
题目地址:HDU 5410
题意:有M元钱,N种礼物,若第i种礼物买x件的话,会有Ai*x+Bi颗糖果,现给出每种礼物的单价、Ai值与Bi值,问最多能拿到多少颗糖果。
思路:完全背包问题。
dp[j][1]在当前物品时花钱为j的并且买过当前物品的最大值。
dp[j][0]不买当前这件物品此前花钱为j的的最大值。
每种物品的价值随Ai线性变化,但是不随B[i]线性变化,B[i]仅是在第一次挑...
分类:
其他好文 时间:
2015-08-21 17:11:39
阅读次数:
158
大致题意:有一些商店和一些居民在一排上,某人要从起点开始对所有居民发放1kg糖果,每个商店可以可以且仅可以买一次1kg糖果,每向前或向后走以单位需要1时间单位,求在t时间内发完所以的居民最少需要自身带多少kg糖果
思路:这种题,明显就是二分,二分答案,然后从边界开始判可行,这题的可行还是有点难判,首先糖果手中充足,遇到一个居民就发放1kg,当糖果不充足的时候,只能有两种决策,直接跑到尽头...
分类:
其他好文 时间:
2015-08-21 13:42:07
阅读次数:
207
题目大意:CRB生日,妈妈要给他买礼物,妈妈有M元钱,这家店有N种礼物,因为店长和妈妈是熟人,所以若第i种礼物买x件的话,店长会给妈妈Ai*x+Bi颗糖果,现给出每种礼物的单价、Ai值与Bi值,问妈妈最多能拿到多少颗糖果。解题思路:01背包 + 完全背包#include
#include
using namespace std;int main() {...
分类:
其他好文 时间:
2015-08-21 11:27:05
阅读次数:
138
题目大意:一个人要去买礼物,有M元。有N种礼物,每件礼物的价值是Wi, 你第i件礼物买k个 是可以得到 Ai * k + Bi 个糖果的。问怎么才能使得你得到的糖果数目最多。其实就是完全背包了。物品的个数是有多个的。dp[第n件物品][已经花费了m元]DP式子: dp[n][m] = max(dp....
分类:
其他好文 时间:
2015-08-21 11:00:56
阅读次数:
142