摘要:
DP(DAG上的DP)题意:给你一个目标金额n,有5种硬币50,25,10,5,1,每种硬币无限个,用这些硬币构成这个目标金额n,有多少种不同的构建方法看做一个有向图处理:好像11能减去5得到6,那么有向边11--->6,同样11减10可以得到1,那么有有向边11--->1其实其他就是问n到0有多少条不同的路径。下面是注意处理的问题好像6,1+5和5+1是一样的只能算为一种情况。没了防止这种情况我们采用减序构建,好像5511是唯一一种它是减序的,5151这些就不是了这样做就不会重复,但是有可能漏掉,所以要记录前驱用的是哪一种硬币这样做不仅能防止重复还能防止遗漏,具体看代码另外一点, 阅读全文
摘要:
水题(不知道归在哪一类)无意间看到的一题…………觉得比较水有比较无聊就AC了,本来想写二分的后来发现没必要,就一个线性扫描过去即可从大到小排序,每次在两堆糖果里面轮流取,其中一堆取完后就取接下来的那一堆,取到最后结束。看最后剩下多少个糖果,<2成功,否则失败从小到大排序是不行的#include <cstdio>#include <cstring>#include <algorithm>#define N 1000010using namespace std;int a[N],n;int cmp(int p ,int q){return p>q?1 阅读全文