随笔分类 - OJ_HDU
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 题意: 有一个n个点的图,会给你m个集合,每个集合内的点,距离都是t[i] 然后A在点1,B在点n,然后让你找到一个点,使得max(disA[i],disB[i])最小 如果有多个答案,按照字典序
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 题意: 给你一个有向图,问你1到n的最大流。 dinic模版 (n*n*m) 貌似一般比dinic更优一点
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3534 题意: 给你一棵树,问你有多少对点的距离等于树的直径。 思路: dp[i][0]表示在i的子树中 离i最远的距离,dp[i][1]是次远距离。 cnt[i][0]则是最远的点的数量,cnt[i][
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561 题意不讲了,中文。 树形背包,可以以0为总root,m++。dp[i][j] 表示以i节点为root 攻克j个城堡的价值最大是多少。 dp[i][j] = max(dp[i][j] , dp[i.
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011 题意: 题目大意是有n个房间组成一棵树,你有m个士兵,从1号房间开始让士兵向相邻的房间出发,每个房间里有一个代价,代价是值/20个士兵, 同时有一个价值,问你花费这m个士兵可以得到的最大价值是多少
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意: 给你度为1 ~ n - 1节点的权值,让你构造一棵树,使其权值和最大。 思路: 一棵树上每个节点的度至少为1,且度的和为2*n - 2。那么我们先给这些节点的度都-1,剩下的节点度为n -
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5927 题意: 给你一棵树,其中有一些’不重要‘的点,要是这些’不重要‘的点的子树中有两个重要的点的LCA是这个点,那么这个点就是重要的点。每次询问 问你重要的点有多少? 思路: 用不重要的点建图,要是这
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333 题意就是询问区间不同数字的和。 比较经典的树状数组应用。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586 给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 有n门课,和m天时间。每门课上不同的天数有不同的价值,但是上过这门课后不能再上了,求m天里的最大价值。 分组背包模版题。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5884 nn个有序序列的归并排序.每次可以选择不超过kk个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过TT, 问kk最小是多少 用一个队列维护合并的数,二分一下判断合理性。注意一点的是要
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5489 给你n个数,要删去其中连续的L个,问你删去之后的LIS最大是多少? 我们先预处理出以i下标为开头的LIS,存到数组中。 然后可以枚举长为L的区间,每次移动,左边增加一个,右边删除一个。 最长上升子
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5492 每个数字只能走下或者走右,问你方差最小多少? 方差 = (n + m - 1) * sum(a[i]^2) + sum(a[i]) 我们可以定义dp[i][j][k]为(i, j)点和为k的最小平
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5869 问你l~r之间的连续序列的gcd种类。 首先固定右端点,预处理gcd不同尽量靠右的位置(此时gcd种类不超过loga[i]种)。 预处理gcd如下代码,感觉真的有点巧妙... 然后用树状数组维护右
阅读全文
摘要:题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2196 给你n个点,n-1条边,然后给你每条边的权值。输出每个点能对应其他点的最远距离是多少。 树形dp,2次dfs。 第一次 dfs1自低向上回溯更新:dp[i][0]表示从底部到i点的最远
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 给你一个n*n的矩阵,问你最大的对称度是多少(左下右上为对称线) dp[i][j]表示i行j列元素的最大对称度 每到一个元素的时候,往上边和右边扩展看字符最优的对称长度 与dp[i - 1][j
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 给你一些老鼠的体重和速度,问你最多需要几只可以证明体重越重速度越慢,并输出任意一组答案。 结构体按照体重从小到大排序,然后根据速度就是最长下降子序列。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458 给你n个点,m条边,q个操作,操作1是删边,操作2是问u到v之间的割边有多少条。 这题要倒着做才容易,倒着加边。 因为这题最后保证所有的点一定连通,所以可以构建一棵树,树链剖分一下。要是u到v之间
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5839 在一个三维坐标,给你n个点,问你有多少个四面体(4个点,6条边) 且满足至少四边相等 其余两边不相邻。 暴力4重循环,但是在第3重循环的时候需要判断是否是等腰三角形,这便是一个剪枝。在第4重循环的
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5821 有n个盒子,每个盒子最多装一个球。 现在进行m次操作,每次操作可以将l到r之间盒子的球任意交换。 问进行上述操作后,是否能变成指定的状态。 将颜色相同的球,尽量靠最终状态近的分配。对于每次操作 按
阅读全文