当前位置: 首页 > news >正文

无锡seo网站推广/seo权威入门教程

无锡seo网站推广,seo权威入门教程,专注扬中网站建设,网站搭建服务器需要多少钱PAT甲级刷题记录-(AcWing)-Day11(并查集 3题) 课程来源AcWing 其中AcWing中的题目为翻译好的中文题目 刷题列表PAT甲级刷题记录-(AcWing)-Day11(并查集 3题)1013 Battle Over Cities1114 Family Property1118 Birds in Forest模板1013 Battle Over Cities AcWing链接 PAT链接 #…

PAT甲级刷题记录-(AcWing)-Day11(并查集 3题)

课程来源AcWing
其中AcWing中的题目为翻译好的中文题目

刷题列表

  • PAT甲级刷题记录-(AcWing)-Day11(并查集 3题)
    • 1013 Battle Over Cities
    • 1114 Family Property
    • 1118 Birds in Forest
    • 模板

1013 Battle Over Cities

AcWing链接
PAT链接

#include <iostream>const int N = 1010;
using namespace std;
int p[N], n, m, k;
struct Edge {int a, b;
} edge[N * N];int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main() {scanf("%d %d %d", &n, &m, &k);for (int i = 0; i < m; ++i)scanf("%d %d", &edge[i].a, &edge[i].b);while (k--) {int x;scanf("%d", &x);// 初始化并查集for (int i = 0; i < n; ++i) {p[i] = i;}int cnt = n - 1; // 除去x城市外,其他的城市最多有21个连通量// 遍历每条边,将除了x外的边能合并的合并for (int i = 0; i < m; ++i) {int a = edge[i].a, b = edge[i].b;if (a != x && b != x) {int pa = find(a), pb = find(b); // 找a,和b的祖先是什么if (pa != pb) {//合并pa和pb两个并查集p[pa] = pb;cnt--; // 连通分量减一}}}printf("%d\n", cnt - 1);}return 0;
}

1114 Family Property

AcWing链接
PAT链接

解析
使用边来存储各个节点之间的关系
用并查集来合并同一个家庭
在合并的过程中让id最小的节点作为根,并将其他家庭成员的值累加到根上,方便最后输出

#include <iostream>
#include <vector>
#include <algorithm>const int N = 10100;
using namespace std;
int n;
int cnt[N], estate[N], area[N], idx;
bool visit[N];
struct Edge {int a, b;
} e[N];
int p[N];struct Family {int id;int number, estate, area;bool operator<(const Family &t) const {if (area * t.number != t.area * number) return area * t.number > t.area * number;return id < t.id;}
};int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main() {cin >> n;int tmp = n;while (tmp--) {int id, father, mother, k;cin >> id >> father >> mother >> k;visit[id] = true;if (father != -1) e[idx++] = {id, father};if (mother != -1) e[idx++] = {id, mother};while (k--) {int son;cin >> son;e[idx++] = {id, son};}cin >> estate[id] >> area[id];}for (int i = 0; i < N; ++i) {p[i] = i;cnt[i] = 1;}for (int i = 0; i < idx; ++i) {int a = e[i].a, b = e[i].b;visit[a] = visit[b] = true;int pa = find(a), pb = find(b);if (pa != pb) {if (pa > pb) swap(pa, pb);estate[pa] += estate[pb];area[pa] += area[pb];cnt[pa] += cnt[pb];p[pb] = pa;}}vector<Family> res;for (int i = 0; i < N; ++i) {if (visit[i] && p[i] == i) {res.push_back({i, cnt[i], estate[i], area[i]});}}sort(res.begin(), res.end());cout << res.size() << endl;for (auto &item:res) {int length = item.number;printf("%04d %d %.3lf %.3lf\n", item.id, item.number, item.estate * 1.0 / length, item.area * 1.0 / length);}return 0;
}

1118 Birds in Forest

AcWing链接
PAT链接

解析
在每幅图片的输入过程中,让所有的鸟都和第一只鸟的并查集合并,记录合并的次数
因为鸟的编号是递增的,所以用一个变量记录最大的编号就是鸟的总数
鸟的总数减去合并的次数(一次合并让两只鸟加入一个并查集中),就是树的个数(不同并查集的个数)

注意点

#include <iostream>using namespace std;
const int N = 10010;
int n, idx = 0, k;
int p[N], birds[N];int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main() {cin >> n;for (int i = 0; i < N; ++i) {p[i] = i;}int max_id = 1, cnt = 0;while (n--) {cin >> k;for (int i = 0; i < k; ++i) {cin >> birds[i];if (max_id < birds[i]) max_id = birds[i];}int pa = find(birds[0]);for (int i = 1; i < k; ++i) {int pb = find(birds[i]);if (pa != pb) {p[pb] = pa;cnt++;}}}cout << max_id - cnt << " " << max_id << endl;cin >> k;while (k--) {int a, b;cin >> a >> b;if (find(a) == find(b)) puts("Yes");else puts("No");}return 0;
}

模板

AcWing链接
PAT链接

英语单词

解析

注意点


http://www.lbrq.cn/news/1116415.html

相关文章:

  • 深圳微商城网站制作/西安网站建设哪家好
  • 网站建设流程总结/服装品牌策划方案
  • 找生意做去哪个网站/佛山seo教程
  • 个人中心页面/推广排名seo
  • 如何设置网站图标favicon.ico/镇江网站制作公司
  • 商业地产网站建设/石家庄网站优化
  • 日本产品和韩国产品哪个好/沈阳seo代理计费
  • 自建的电子网站如何做推广/百度百科优化
  • 秦皇岛做网站/广告投放怎么做
  • zz手表网站/seo排名优化收费
  • 青岛企业如何建网站/seo搜索是什么
  • 专做户外装备测评视频网站/seo sem是什么意思
  • 网站建设技术经费预算/全网网络营销
  • 做自动发货网站/长沙网络推广只选智投未来
  • 集团公司网站建设策划/google下载安卓版
  • 河南建设银行处理违章网站/搜索引擎推广与优化
  • 成品网站w灬源码1688网页版/阿里云建站费用
  • 广东广州电脑个人建站/看网站搜什么关键词
  • 清远专业网站建设/怎么在百度做宣传广告
  • 国内最大网站制作公司/百度seo 站长工具
  • 空间注册网站/百度关键词排名查询接口
  • 北京 个人网站 备案/品牌运营管理公司
  • 留住用户网站/什么是软文营销?
  • 天涯武汉论坛/网站seo教材
  • 邯郸小学网站建设/抖音搜索优化
  • 重庆网站设计定制/国外域名注册
  • 自己的网站是什么样子的/营销网站的宣传、推广与运作
  • 电子商务网站建设阶段/十大骗子教育培训机构
  • 青岛家乐福网上商城/seo在线教学
  • 做网站需要多少/网站seo百度百科
  • 《图解技术体系》Four Implementation Methods of Distributed Transactions
  • VUEX 基础语法
  • 壹脉销客AI电子名片源码核心架构
  • 深入核心:理解Spring Boot的三大基石:起步依赖、自动配置与内嵌容器
  • 如何卸载SQLServer
  • 22.计算指定范围内数字的幂次和