摘要:
好久没更了。前段时间去ec-final,实力水一波,混了个铜,虽然很弱,但是可以算是对之前一段时间的回报吧。 现在每天忙着复习,逃课太多,啥都不会。。。不想挂科啊!!Orz... 题意(简化):警察想抓捕黑手党老大。现在警察们认为黑手党内部是树形结构,每个人看做节点。删除一个节点,这棵树就分为几个连 阅读全文
摘要:
#include #include #include #include using namespace std; const int MAXN = 110; vectora[MAXN]; int n,m,v[MAXN],vis[MAXN],dp[MAXN][MAXN]; void dfs(int root) { dp[root][1] = v[root]; vis[root] =... 阅读全文
摘要:
#include #include #include #define INF 999999999 using namespace std; const int MAXN = 210; struct node { int to; int v; int next; }edge[MAXN*3]; int pre[MAXN],n,index,vis[MAXN],m,num[MAX... 阅读全文
摘要:
想法:对于一棵树,对于任意一个节点,它的最大值可以来自以它为根的子树,也可以来自它的父亲。所以需要考虑二个方向的情况。所以必须考虑2个方向。解法:dp[i][0]保存子树的值,dp[i][1]保存父亲结点方向+dis[i,root];可以先一遍dfs,保存任意点子树的最大值,同时保存任意点取最大值的 阅读全文
摘要:
树形dp入门,在树上进行dp。 状态转移方程: dp[i][0] = max(dp[j][0], dp[j][1]);//i为j的上司 并且i不来 dp[i][1] = dp[j][0];//i来了 用vector实现 rt表示树。 阅读全文
摘要:
一想到xor还要求最大类似的题,字典树效率高。 此代码c++ TLE。 阅读全文
摘要:
用字典树思想来做。对于一个数,给出他的二进制,然后更具二进制建立字典树,然后每次询问的时候的数也给出二进制,如果当前为1,那就向0走,为0,向1走。 阅读全文
摘要:
prim方法:先求过一遍prim,同时标记使用过得边。然后同时记录任意2点间的最大值。 每次加入一条新的边,会产生环,删去环中的最大值即可。 阅读全文