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

如何做网站的需求分析东莞做网页

如何做网站的需求分析,东莞做网页,网站栏目 添加 管理,服务器部署wordpress题意 在一个有N#xff08;1 ≤ N ≤ 1,000#xff09;个点环形图上有P#xff08;1 ≤ P ≤ 10,000#xff09;对点需要连接。连接只能连接环上相邻的点。问至少需要连接几条边。 思路 突破点在于最后的结果一定不是一个环#xff01;所以我们枚举断边#xff0c;则对于…题意 在一个有N1 ≤ N ≤ 1,000个点环形图上有P1 ≤ P ≤ 10,000对点需要连接。连接只能连接环上相邻的点。问至少需要连接几条边。 思路 突破点在于最后的结果一定不是一个环所以我们枚举断边则对于P个连接要求都只有唯一的方法如果一个pair的两个端点在断点两侧就分成[0,left],[right,N];否则就是[left, right]。这里区间以0开头是要考虑left1、rightN的情况至少得有个边[0, 1]表示N连向1的情况不是么。 处理一个区间内相连情况通常可以用线段树。不过我在这里用了下并查集也挺有意思的每个并查集的父节点是它连接着的最右端的节点并且维护一个数量集。然后连接[x, y]的时候直接找x的父节点最右点再挨个向右缩点直到y即可。 代码   [cpp] #include iostream #include cstdio #include cmath #include algorithm #include string #include cstring #include vector #include set #include stack #include queue #define MID(x,y) ((xy)/2) #define MEM(a,b) memset(a,b,sizeof(a)) #define REP(i, begin, end) for (int i begin; i end; i ) using namespace std; struct P{ int a, b; }p[10005]; const int MAXN 1005; struct Disjoint_Sets{ struct Sets{ int father, num; }S[MAXN]; void Init(int n){ for (int i 0; i n; i ){ S[i].father i; S[i].num 1; } } int Father(int x){ if (S[x].father x){ return x; } else{ S[x].father Father(S[x].father); //Path compression return S[x].father; } } void Union(int x, int y){ int fx Father(x), fy Father(y); S[fy].num S[fx].num; S[fx].father fy; } }DS; void uni(int x, int y){ int xx DS.Father(x); while(DS.Father(xx) ! DS.Father(y)){ DS.Union(xx, xx1); xx DS.Father(xx); } } int main(){ //freopen(test.in, r, stdin); //freopen(test.out, w, stdout); int n, m; scanf(%d %d, n, m); for (int i 0; i m; i ){ scanf(%d %d, p[i].a, p[i].b); if (p[i].b p[i].a) swap(p[i].b, p[i].a); } int res 0x3fffffff; for (int l 1; l n; l ){ DS.Init(n); for (int i 0; i m; i ){ if (p[i].a l p[i].b (l1)%n){ uni(0, p[i].a); uni(p[i].b, n); } else uni(p[i].a, p[i].b); } int sum 0; bool vis[1005] {0}; for (int i 1; i n; i ){ if (!vis[DS.Father(i)] DS.S[DS.Father(i)].num 1){ sum DS.S[DS.Father(i)].num - 1; vis[DS.Father(i)] 1; } } res min(res, sum); } printf(%d\n, res); return 0; } [/cpp]转载于:https://www.cnblogs.com/AbandonZHANG/p/4114139.html
http://www.huolong8.cn/news/13374/

相关文章:

  • 织梦wap网站模版网站建设商家公司
  • 网站开发技术架构万站群cms
  • 做的好点的外贸网站上海公司网页设计
  • 深圳宝安大型网站建设一诺互联 网站建设
  • 怎么做提取微信62的网站网页源代码是什么
  • 网站类别标签文本赣州行业网站建设
  • 做网站接口多少钱扬州恒通建设网站
  • 做网站图片多大网站建设要学
  • 佛山网站设计建设做设计及免费素材网站有哪些
  • 河北省和城乡建设厅网站首页手机百度如何发布广告
  • 网站创建的基本流程创业项目的网站
  • 怎么建立一个网站当站长更新wordpress需要ftp
  • 软件学校网站模板下载vr成品网站源码
  • 站长之家最新网站google adsense wordpress 插件
  • 一个考试网站怎么做鸟人高端网站建设
  • 在线网站你们会回来感谢我的平面设计网上接单
  • 做正版电子书下载网站成都网站设计排名的公司价格
  • 企业网站建设需要许可证吗高水平的网站建设
  • 网站后台不能审核删除天津seo培训哪家好
  • 网站广东省备案系统手机端网站做app
  • 无锡企业网站制作公司有哪些appstore下载免费软件
  • wordpress会务网站模版做购物网站如何推广
  • 音乐网站的设计与开发提升学历正规渠道
  • php网站开发cms网站建设成本包括什么
  • 网站开发 项目章程视频软件下载大全免费
  • 莆田网站格在哪里做建筑八大员报名网站
  • 网站建设怎么改首页的标题上海网站备案公司
  • 做视频网站为什么费钱设计公司起名字寓意好的字
  • 成都网站快照优化公司深圳全网营销网站
  • 阿里 设计网站建设wordpress注册相关