- 博客(4)
- 收藏
- 关注
原创 POJ3468题解
做这道题的时候,大家可以体会到爆切的快乐 这其实就是一道线段树模板题 注意事项:(1)板子别敲错(敲错我也是无语了) (2)记得开long long(十年OI一场空,不开long long见祖宗) 最后,放一下我淼(水的不行)的题解: #include<iostream> #define int long long using namespace std; const int N=1e5+5; int n,m; int a[N],sum[N<<...
2021-10-19 09:15:38
168
原创 并查集讲解
给你一道题目:(可以看洛谷P3367) 给你编号为1~n的n个点,有m次操作: 操作有两种: 1 x y 将x所在的集合和y所在的集合合并 2 x y 如果x和y在同一个集合里,输出Y,否则输出N 给一个样例:(就是洛谷上的,我懒得造样例了) 4 7 2 1 2 1 1 2 2 1 2 1 3 4 2 1 4 1 2 3 2 1 4 这就要用并查集求解了 首先:什么是并查集? 字面上的意思(相信看题也看得出来):并集和查集 因为集合是无序的,所以我们可以将它看成一棵树 很容.
2021-10-18 16:20:23
291
原创 POJ3268题解
题目翻译: N个农场各一头奶牛(1头≤ N≤ 1000)方便编号的1..N将参加在农场#X(1≤ X≤ N)举行的大型奶牛派对 。共M(1),≤ M≤ 100000)单向道路连接两个农场;道路i需要Ti(1≤ Ti≤ 100)穿越的时间单位。 每头母牛都必须步行到聚会地点,聚会结束后返回农场。每头母牛都很懒,因此选择了一条时间最短的最佳路线。由于道路是单向的,因此母牛返回聚会地点的路线可能与原来的路线不同。 在所有的奶牛中,一头奶牛往返于派对的最长时间是多少? 输入 第1行:三个空格分隔的整数,分
2021-10-18 15:22:31
261
原创 POJ2236题解
这道题可以说是并查集板子题了 我们做一个初始化: 我们把每一台电脑看做一个点,我们将每一个点与它能通信的点连一条边 就是代码里的这一段 for(register int i=1;i<n;i++){ for(register int j=i+1;j<=n;j++){ double x1=x[i],x2=x[j],y1=y[i],y2=y[j]; if(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))<=d){ e[i].push_back(
2021-10-17 22:21:54
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅