上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 41 下一页

zoj 1967 Fiber Network/poj 2570

摘要: 题意就是 给你 n个点 m条边 每条边有些公司支持 问 a点到b点的路径有哪些公司可以支持 这里是一条路径中要每段路上都要有该公司支持 才算合格的一个公司// floyd 加 位运算// 将每个字符当成二进制中的一位就好#include #include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 210int dp[maxn][maxn];int main(){ int n; int A,B; c... 阅读全文
posted @ 2013-07-17 19:44 江财小子 阅读(198) 评论(0) 推荐(0) 编辑

zoj 2027 Travelling Fee

摘要: // 题意 : 一个人要去旅行 给你起点和终点 求最少花费 其中花费为经过路径的总费用减去该路径的中的最大花费段// 直接搜索 稍微加了个剪枝 主要是数据规模小#include #include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxnmap mp;vector V[110];bool visit[110];int rc[110][110];char str1[20],str2[20];char ss[20],ts[2. 阅读全文
posted @ 2013-07-17 19:20 江财小子 阅读(377) 评论(0) 推荐(0) 编辑

poj 1742 Coins

摘要: // v给出N种硬币和个数,问可以取到1->M中的多少个值。// 背包 完全背包 或多 重背包(二进制优化)都可以做// #include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 100010int dp[maxn],use[maxn];int val[110],num[110];int main(){ int n,m; dp[0]=1; while(scanf("%d %d",&n, 阅读全文
posted @ 2013-07-17 08:42 江财小子 阅读(224) 评论(0) 推荐(0) 编辑

hdu 2196 Computer

摘要: 题意: N 个点 N-1条边 每条边有权值 求每个点所能达的最长距离// 树形dp 2次dfs 一次转成有根树、并求出每个子树(以i为根)到叶子节点的最大距离 还有就是从与i相连的个子节点j遍历下去的最大距离 // 其实 每个子树(以i为根)到叶子节点的最大距离 就是 max(child[i][j]);#include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 10010vector E[maxn],V[maxn],c. 阅读全文
posted @ 2013-07-16 17:50 江财小子 阅读(253) 评论(0) 推荐(0) 编辑

poj 2955 Brackets

摘要: http://poj.org/problem?id=2955// 求最长合法子序列// 区间 dp// dp[i][j] 表示区间 i,j 的最长合法子序列#include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 110int dp[maxn][maxn];char a[110];bool cmp(char c1 ,char c2){ if(c1=='('&&c2==')') return 阅读全文
posted @ 2013-07-16 10:20 江财小子 阅读(177) 评论(0) 推荐(0) 编辑

poj 3260 The Fewest Coins

摘要: // 转载自http://blog.163.com/benz_/blog/static/18684203020115721917109/算法不难看出,就是一个无限背包+多重背包。问题在于背包的范围。设John出了X元,则需要找零X-T元。证明X不超过T+v_max^2:假设超过了,则找零超过v_max^2,则找零的货币数定超过v_max,根据抽屉原理,必然有若干个货币组合起来是v_max的倍数,那么这些货币肯定可以在给钱的时候少给一些,从而推出这样的方案肯定不是最优方案。复杂度:O(n*(T+vmax^2))// 我自己做时 是把所有 v[i]相加 得到的 复杂度为 O(n*(T+sum{v[ 阅读全文
posted @ 2013-07-15 17:06 江财小子 阅读(314) 评论(0) 推荐(0) 编辑

poj 2184 Cow Exhibition

摘要: // 给定n头牛,每头有属性智商和幽默感,这两个属性值有正有负,现在要从这n头牛中选出若干头使得他们的智商和与幽默感和不为负数,// 并且两者两家和最大,如果无解输出0,n#include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 200010int dp[maxn];int S[110],F[110];int main(){ int N; while(scanf("%d",&N)!=EOF){ int i,j,k; ... 阅读全文
posted @ 2013-07-15 15:37 江财小子 阅读(180) 评论(0) 推荐(0) 编辑

poj 3181 Dollar Dayz

摘要: 题意:给定一个数p,要求用K种币值分别为1,2,3...K的硬币组成p,问方案数,1,2,2和2,2,1算一种方案即与顺序无关,n #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 1010int dp[maxn][40];void Add(int n,int m){ int i; for(i=0;i=10) dp[n][i]%=10,dp[n][i+1]++; }}int main(){ int N,K; whi... 阅读全文
posted @ 2013-07-15 13:15 江财小子 阅读(200) 评论(0) 推荐(0) 编辑

poj 1787 Charlie's Change

摘要: // 题意 给定一个数p,要求用四种币值为1,5,10,25的硬币拼成p,并且硬币数要最多,如果无解输出"Charlie cannot buy coffee.",1dp[j]&&dp[j-mon[i]]&&used[j-mon[i]]+1#include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 10010int dp[maxn];struct node{ int from; int kind; int 阅读全文
posted @ 2013-07-15 12:51 江财小子 阅读(210) 评论(0) 推荐(0) 编辑

poj 2392 Space Elevator

摘要: 题意 :给定n种积木,每种积木都有一个高度hi,一个数量ci,还有一个限制条件,这个积木所在的位置不能高于ai,问能叠起的最大高度// 这里有个问题需要注意 就是ai小的要先进行背包 不然 在 ai高度下 L1L2 和 L2L1是不一样的 // 然后就是简单的0-1背包了#include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 40010int dp[maxn];struct node{ int h; int a; int... 阅读全文
posted @ 2013-07-15 10:45 江财小子 阅读(363) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 41 下一页