摘要: 题目链接题意:你现在分数为a,对方分数为b,你比赛还有n分钟,每次进攻需要15分钟,现在你先进攻,每次进攻可以得1或2或3,对方每次进攻得一分,问超过对方分数有多少种打法思路:因为情况太多要用__int64,很简单的dp,dp[n][m],n为第几次进攻,m为得分#include #include#includeusing namespace std; int dir[]={1,2,3};__int64 dp[40][120];int main(int argc, char** argv) { int a,b,t,n,m,i,j,k,s; while(scanf("%d%d%d&qu 阅读全文
posted @ 2014-04-13 22:20 Teemo的技术blog 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意:给你一棵树(必须从根节点出发),每个节点上都有bug和value,你有m个骑士,每个骑士能消灭20个bug,你必须消灭该节点的全部bug才能拿到该节点的value,问最多能拿到value是多少.思路:典型的背包dp , dp[n][m]=max(dp[n][m-x]+value,dp[n][m])#include#includeusing namespace std;#define N 110#define INF 999999999struct node{ int v,next;}edge[Nb?a:b;}void AddEdge(int u,int v){ edge[edge 阅读全文
posted @ 2014-04-13 11:26 Teemo的技术blog 阅读(132) 评论(0) 推荐(0) 编辑