摘要: 有n个关系,他们之间某些人相互认识。这样的人有m对。你需要把人分成2组,使得每组人内部之间是相互不认识的。如果可以,就可以安排他们住宿了。安排住宿时,住在一个房间的两个人应该相互认识。最多的能有多少个房间住宿的两个相互认识。 先是要判断是否为二部图,然后求最大匹配。 学习一下模板~ #include 阅读全文
posted @ 2020-02-17 19:59 zlc0405 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 有N个人排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。 倒序插入,线段树单点更新,从头到尾输出线段树的状态 #include<cstdio> #include<algorithm> #include<cstring> using nam 阅读全文
posted @ 2020-02-17 18:42 zlc0405 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 线段树单点更新~ 建立线段树存储区间内的最大剩余宽度,优先询问左子树~ #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e6+14; struct node { i 阅读全文
posted @ 2020-02-17 18:19 zlc0405 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 高难度dfs,解析看subway map那篇博客 #include<cstdio> #include<algorithm> #include<cstring> #include<map> #include<vector> using namespace std; const int maxn=100 阅读全文
posted @ 2020-02-17 12:09 zlc0405 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 大模拟题 #include<bits/stdc++.h> using namespace std; const int maxn=1014; struct node { int data; node * left; node * right; }; void insert (node * &root 阅读全文
posted @ 2020-02-17 12:06 zlc0405 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 根据后序和先序,判断树是否唯一并生成中序 #include<bits/stdc++.h> using namespace std; vector<int> in,pre,post; bool unique1=true; void getIn (int preL,int preR,int postL, 阅读全文
posted @ 2020-02-17 12:04 zlc0405 阅读(109) 评论(0) 推荐(0) 编辑
摘要: PAT A1123 建立一颗平衡二叉树并判断其是否是完全二叉树~ #include<cstdio> #include<algorithm> #include<queue> #include<vector> using namespace std; struct node { int v; int h 阅读全文
posted @ 2020-02-17 12:02 zlc0405 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 建立一颗avl树并输出根节点~ #include<cstdio> #include<algorithm> using namespace std; struct node { int v; int height; node * left; node * right; }; node * newNod 阅读全文
posted @ 2020-02-17 12:01 zlc0405 阅读(91) 评论(0) 推荐(0) 编辑