Acesrc and Travel】的更多相关文章

Acesrc and Travel 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Acesrc is a famous tourist at Nanjing University second to none. During this summer holiday, he, along with Zhang and Liu, is going to travel to Hong Kong. There are n spots in Hong Kong, and n−1 bidir…
Problem Description Acesrc is a famous tourist at Nanjing University second to none. During this summer holiday, he, along with Zhang and Liu, is going to travel to Hong Kong. There are n spots in Hong Kong, and n−1 bidirectional sightseeing bus rout…
http://acm.hdu.edu.cn/showproblem.php?pid=6662 题意:有两个人在树上博弈,每个点节点有两个分数a[i]和b[i],先手先选择一个点,后手在先手选的点的相邻点中选择一个点,然后先手在后手选的点的相邻点中选择一个两个人都没有走过的点,直到不能走,游戏就结束.一个人走到节点x,那么先手会获得分数a[x],后手就会会获得分数b[x].最后询问先手能获得与后手的差值最大值. 思路:先手固定好位置后,后手走.有两种走法,向下和向上. 向下好办,用down[i][…
题目链接 传送门 题意 两个绝顶聪明的人在树上玩博弈,规则是轮流选择下一个要到达的点,每达到一个点时,先手和后手分别获得\(a_i,b_i\)(到达这个点时两个人都会获得)的权值,已经经过的点无法再次经过,直到无法移动则结束游戏,两人都想最大化自己的权值和减对手权值和,问先手减后手权值和最大是多少. 思路 换根\(DP\),和求树的直径有点类似. \(dp[i][j]\)表示在\(i\)这个结点状态为\(j\)时先手权值和减后手权值和最优是多少,\(j\)为偶数表示当前是先手,为奇数时为后手.…
#include<bits/stdc++.h> typedef long long ll; using namespace std; const int maxn=1e6+50; const ll mod=1e9+7; int a[maxn],b[maxn]; vector<int>G[maxn]; ll dp[maxn][2]; /// 0 zhang 1 liu ll hello[maxn][2]; ll hello2[maxn][2]; int who1[maxn][2];…
http://acm.hdu.edu.cn/showproblem.php?pid=6662 仿照 CC B - TREE 那道题的思路写的,差不多.也是要走路径. 像这两种必须走到叶子的路径感觉是必须从INF出发,使得它强制从子树转移过来.否则假如可以在中间节点中断的话,初始值就是0,转移的时候假如子树更不好就不会更新这个0. 与哪个求每个点去往的最远点的标号(同样远的求最小标号)类似. f[u]表示从u节点向下走向子树的最优值,这样必须dfs到叶子然后初始化叶子再返回. g[u]表示从u节点…
题意:有一棵n个点的树,每个点上有两个值a[i],b[i] A和B在树上行动,A到达i能得到a[i]的偷税值,B能得到b[i],每次行动只能选择相邻的点作为目标 两个人都想最大化自己的偷税值和对方的差,都按最优策略行动,不能走已经走过的点,行动直到没有点可走为止 A可以选择任意出发点,然后B开始走,然后A开始走…… n<=1e5,0<=a[i],b[i]<=1e9 思路: f[u][0]表示从u出发下一步走儿子的min,f[u][1]表示max g[u][0]表示从u出发下一步走父亲的m…
题目大意:给你一棵树,每个节点有一个权值,Alice和Bob进行博弈,起点由Alice确定,确定后交替选择下一个点,Alice目标是最终值尽可能大,Bob目标是尽可能小 题解:很明显是树形DP,那么考虑如何dp 设F[i][0/1]表示第i个点先手选/后手选的答案 那么不难想到 F[i][0]=max(F[j][1])+v[i] F[i][1]=min(F[j][0])+v[i] 一次以1为根进行dfs可以求出选择1为根时的答案,此时考虑换根 换根时将换根前的所有状态保存下来,dfs下去之后求出…
题目链接 大意 给出一颗树,每个点上有一个权值\(A[i]\),有两个绝顶聪明的人甲和乙. 甲乙两人一起在树上轮流走,不能走之前经过的点.(甲乙时刻在一起) 甲先手,并可以确定起点.甲想要走过的点权之和最大,乙想要权值和最小. 求最终权值和. 思路 首先有个很明显的想法就是树形Dp: 设\(F0[u]\)表示以\(u\)为根的子树内,甲先手,以\(u\)为起点的权值和. 设\(F1[u]\)表示以\(u\)为根的子树内,乙先手,以\(u\)为起点的权值和. 那么转移式就为: \(F0[u]=Mi…
Solved Pro.ID Title Ratio(Accepted / Submitted)   1001 Acesrc and Cube Hypernet 7.32%(3/41)   1002 Acesrc and Girlfriend 4.35%(2/46)   1003 Acesrc and Good Numbers 暴力打表 24.80%(213/859)   1004 Acesrc and Hunting 21.74%(90/414)   1005 Acesrc and String…