The more, The Better依赖背包+树形dpf[x][j+1]=max(f[x][j+1],f[x][j+1-k]+f[i->n][k]);我的一个疑问就是这k个节点会不会选重复,答案是不会的,因为从一开始就不会重复,根据dp原理回溯的时候过程是一样的,也是不会重复的 1 #inclu
转载 2019-02-16 10:10:00
150阅读
2评论
More is betterTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 17320 Accepted Submission(s): 6368Problem DescriptionMr Wang wants
原创 2023-05-05 18:23:49
68阅读
题目大意:给出n对朋友关系,朋友的朋友就是朋友,问最大的朋友圈有多少人。解题思路:并查集,多一个计数的数组
原创 2021-12-01 14:41:39
62阅读
题目: 链接:点击打开链接 题意: 给出n个直接认识的朋友。最大的直接或间接认识的朋友。 思路: 算法: 并查集。,, 代码: #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAX
转载 2019-03-07 08:25:00
24阅读
2评论
The more, The BetterTime Limit: 6000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2850Accepted Submission(s): 1684Problem DescriptionACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多
原创 2021-07-29 16:23:54
117阅读
http://acm.hdu.edu.cn/showproblem.php?pid=1856这道题就是求一个集合里面最大的个数。 基本的并查集加一个步骤,将合并后的元素的个数保存在新的树根中。 1 #include 2 #include 3 #include 4 #define maxn 10...
转载 2014-05-06 20:57:00
45阅读
2评论
More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 22337 Accepted Submission(s): 8
转载 2016-05-14 11:19:00
59阅读
2评论
The more, The BetterTime Limit: 2000msMemory Limit: 32768KBThis problem will be judged onHDU. Original ID:156164-bit integer IO format:%I64d Java clas...
转载 2014-11-19 13:56:00
66阅读
More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 8214Accepted Submission(s): 3069 Problem DescriptionMr Wang wants some boys to help him with a project. Because the project is rather complex,the more boys come, the better it will be
转载 2013-03-18 16:10:00
71阅读
2评论
http://acm.hdu.edu.cn/showproblem.php?pid=1856 题意: 王先生想要一些男孩帮助他做一个项目。因为项目相当复杂,男孩越多,越好。当然有一定的要求。王先生选择了一个足够大的房间来容纳男孩。没有被选中的男孩必须立即离开房间。有10000000的男孩在房间号从1
转载 2017-02-10 16:12:00
28阅读
Problem Description
原创 2022-11-09 18:33:25
40阅读
More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 5725Accepted Submission(s):
原创 2021-07-29 16:20:06
76阅读
题解:用并查集将所有的朋友合并,最后记录最大的连通块即可:#include int f[10000010],max,sum[10000010],cnt;int sf(int x){ if(f[x]!=x)f[x]=sf(f[x]); return f[x];}int main(){ int n,x,y; while(scanf("%d",&n)!=EOF){ if(n==0){puts("1");continue;} for(int i=1;iy?x:y; cnt=x>cnt?x:cnt; } ...
转载 2014-02-15 12:45:00
34阅读
2评论
More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 14656 Accepted Submission(s): 5390 Problem Description Mr Wang want...
转载 2014-08-12 09:50:00
64阅读
2评论
并查集裸题,注意$0$的特判,此时没有朋友关系,房间里只能留下一个人,其余$10000000-1$都要移出去。 const int N=1e7+10; int p[N]; int cnt[N]; int n,m; int find(int x) { if(x != p[x]) p[x]=find(p
转载 2021-02-25 13:11:00
31阅读
【题目链接】 点击打开链接 【算法】 树形背包 注意是一棵森林 【代码】
转载 2018-05-17 22:25:00
86阅读
2评论
参考链接:传送门 题解: 我们读完题目之后发现题目求最优解,那么这个最优解肯定要在众多可能中找最优的。我们从题目上发现某些密室在进去之前必须已经进入了其他密室。所以这里我们就可以用dfs来限制这一点。 首先先建树,之后就先求这个树的叶节点的各个最优解,然后再一步一步靠近树的根的节点。因为根节点的最优
转载 2019-10-03 21:28:00
82阅读
2评论
http://acm.hdu.edu.cn/showproblem.php?pid=1561同hdu1011只是这里做的小处理是将0点加入,将原来的森林变成了树,这样就可以按照树形dp展开来做了。。dp[i][j]表示从i点往后占领j个城市所获得的总的最多宝物dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son[i]][k])View Code #include <cstdio>#include <iostream>#include <algorithm>#include <vector>#include <cst
转载 2012-02-08 16:13:00
56阅读
2评论
http://acm.hdu.edu.cn/showproblem.php?pid=1561先正向拓扑去掉无法到达的点 然后用剩下的点建一正一反两个图然后逆向拓扑 当某点因度数为0而入队列时 说明正向图中他的所有后继节点(即从该点进行BFS能到达的所有点)都已遍历 这和树型DP的思想一样 只不过这里需要考虑的拓扑序稍复杂一些这时可以想到利用01分组背包的思想 dp[i][j]代表从第i...
原创 2022-06-15 20:41:53
28阅读
问题 D: More is better时间限制: 1 Sec  内存限制: 128 MB提交: 130  解决: 42 题目描述Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it wi...
原创 2022-09-15 10:53:27
30阅读
  • 1
  • 2
  • 3
  • 4
  • 5