把a[i], b[i]分开来排序

对应位置上的点连边

感性理解这是最小的

会连出若干个环

要使得若干个环连成大环

令a[i]向b[i - 1] 连边

易证一定能使图联通

感性理解这也是最小的

#include<cstdio>
#include<algorithm>
using namespace std;
const int P = 32767;
int n, x, y, z, F[1000005];
struct node
{
int val, id;
}a[1000005], b[1000005], e[1000005];
bool cmp(node a, node b)
{
return a.val < b.val;
}
int find(int x)
{
if (F[x] != x) F[x] = find(F[x]);
return F[x];
}
int main()
{
scanf("%d", &n);
scanf("%d%d%d%d%d", &a[1].val, &a[2].val, &x, &y, &z);
for (int i = 3; i <= n; i++) a[i].val = (1ll * x * a[i - 1].val + 1ll * y * a[i - 2].val + z) % P;
scanf("%d%d%d%d%d", &b[1].val, &b[2].val, &x, &y, &z);
for (int i = 3; i <= n; i++) b[i].val = (1ll * x * b[i - 1].val + 1ll * y * b[i - 2].val + z) % P;
for (int i = 1; i <= n; i++) a[i].id = b[i].id = i;
sort(a + 1, a + n + 1, cmp);
sort(b + 1, b + n + 1, cmp);
for (int i = 1; i <= n; i++) F[i] = i;
int ans = 0;
for (int i = 1; i <= n; i++)
{
int x = a[i].id, y = b[i].id;
int fx = find(x), fy = find(y);
F[fy] = fx;
ans = max(ans, a[i].val * a[i].val - b[i].val * b[i].val);
}
for (int i = 2; i <= n; i++) e[i - 1] = (node){a[i].val * a[i].val - b[i - 1].val * b[i - 1].val, i};
sort(e + 1, e + n, cmp);
for (int i = 1; i < n; i++)
{
int x = a[e[i].id].id, y = b[e[i].id - 1].id;
int fx = find(x), fy = find(y);
if (fx != fy)
{
F[fy] = fx;
ans = max(ans, e[i].val);
}
}
printf("%d\n", ans);
return 0;
}

  

最新文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)
  2. 【GIT】使用Git命令窗口将本地工程提交至远程GitHub
  3. java socket编程开发简单例子 与 nio非阻塞通道
  4. 解决Failed to allocate memory: 8转
  5. display:inline-block兼容ie6/7的写法
  6. [STL]set/multiset用法详解[自从VS2010开始,set的iterator类型自动就是const的引用类型]
  7. Makefile 快速入门
  8. WPF 简介
  9. 信息学院第九届ACM程序设计竞赛题解
  10. BZOJ 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐( dfs )
  11. 三个API:开启、关闭、关闭线程重定向
  12. POJ 1915 Knight Moves(BFS+STL)
  13. java的overload与override
  14. 小程序应用的Python服务器部署高配,依然是腾讯云秒杀阿里云!
  15. pip 使用
  16. python练习题-day10
  17. word 2016 加载 mathtype
  18. [bug]解决chrome浏览器不支持所有媒体音乐不自动播放问题
  19. lua的模块加载require
  20. Find 和 Findstr

热门文章

  1. 最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)
  2. Jerry Wang诚邀广大SAP同仁免费加入我的知识星球,共同探讨SAP技术问题
  3. *5. Longest Palindromic Substring (dp) previous blogs are helpful
  4. mysql全部基本数据类型
  5. php一个类引用另一个类的方法的写法
  6. 网格中的BFS,逆向(POJ2049)
  7. Android Support v4,v7,v13的区别和应用场景
  8. 【转】Android BroadcastReceiver介绍
  9. SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法
  10. SQL之Case when 语句