Teleportation(tel)

题目描述

Zy大帝拥有n个星球,因为距离非常遥远,所以Zy在他所居住的1号星球和他的军事基地霸中所在的2号星球建造了两个传送门,这样从1号星球到2号星球就只需要250分钟,回去也一样(双向)。由于科技的发展,各个星球陆陆续续建造了和自己居民最经常去的星球之间的传送门,并且他们的传送门只需要1个小时(真快啊!),他们发现和别的星球建设传送门对促进经济发展有很大的帮助,于是向和其他所有星球建设传送门发展,Zy突然发现两两星球的传送门的建设会威胁到他的安全,可是他又想促进自己帝国的发展,于是他请到了他精心培养的你,希望你能帮他解决这个难题。

输入

第1行为两个整数n(2<=n<=40000)和m(0<=m<=1000000),n表示星球数,m 表示其他星球已经建造的传送门的对数(传送门都是两两建造的)(不包括Zy在1号和2号的)。

接下来m行每行两个由空格隔开的整数想x,y(2<=x,y<=40000),表示这两个星球建造了传送门连接。

输出

还能让多少对传送门建造,但又不会比Zy从1号星球到2号星球快(就是说增加传送门后,从1号星球到2号星球还是Zy的传送门最快)。

样例输入

10 10
1 3
3 5
5 7
7 9
2 9
1 4
4 6
6 8
8 10
2 10

样例输出

10

提示

实线连接的是已经造好传送门的两星球,虚线连接表示可以增加建造的传送门两星球。可以看出,建造了10对以后,从1号到2号星球还是Zy的250分钟最快。

来源

Poi2010


solution

分层图。

当时考场傻了,没考虑周全。

设1为S,2为T

题目要求S~T的最短路长度<=5,同时最大化总边数。

设与S一步的点有a个,T一步的点有b个。

S两步的有x个,T有y个。

剩下点数fr。

显然a,b,x,y,fr内部可以随便连边。

a与x,b与y两两连边。

fr与x和y连,和a与b其中之一连。

ansl=a+1LL*a*(a-1)/2+1LL*a*x+1LL*x*(x-1)/2;
ansr=b+1LL*b*(b-1)/2+1LL*b*y+1LL*y*(y-1)/2;
ansmid=1LL*x*y+1LL*fr*(fr-1)/2+1LL*fr*(x+y)+1LL*fr*max(a,b);
ans=ansl+ansr+ansmid-m;

挣神表示怀疑fr的连边,讲些什么ab还是xy为空的特殊情况。

然而没有这种数据。

#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define maxn 40005
using namespace std;
int n,m,a,b,x,y,S[maxn],T[maxn],X[maxn],Y[maxn];
long long ansl,ansr,ansmid,ans;
struct node{int u,v;
}e[1000005];
int main()
{cin>>n>>m;for(int i=1;i<=m;i++){scanf("%d%d",&e[i].u,&e[i].v);if(e[i].v<e[i].u)swap(e[i].u,e[i].v);if(e[i].u==1)S[e[i].v]=1,a++;if(e[i].u==2)T[e[i].v]=1,b++;}for(int i=1;i<=m;i++){if(e[i].u==1||e[i].u==2)continue;if(S[e[i].u]==1&&S[e[i].v]==1)continue;if(T[e[i].u]==1&&T[e[i].v]==1)continue;if(S[e[i].u]==1&&!X[e[i].v])X[e[i].v]=1,x++;if(S[e[i].v]==1&&!X[e[i].u])X[e[i].u]=1,x++;if(T[e[i].u]==1&&!Y[e[i].v])Y[e[i].v]=1,y++;if(T[e[i].v]==1&&!Y[e[i].u])Y[e[i].u]=1,y++;}int fr=n-a-b-x-y-2;ansl=a+1LL*a*(a-1)/2+1LL*a*x+1LL*x*(x-1)/2;ansr=b+1LL*b*(b-1)/2+1LL*b*y+1LL*y*(y-1)/2;ansmid=1LL*x*y+1LL*fr*(fr-1)/2+1LL*fr*(x+y)+1LL*fr*max(a,b);ans=ansl+ansr+ansmid-m;cout<<ans<<endl;return 0;
}

Teleportation(tel)相关推荐

  1. 用xlg.tel来管理自己

    最近因为朋友推荐,我用上了一个全新的域名,tel域名,在互联网上,只要你输入xlg.tel这样一个域名,你就可以找到我,不仅找到,而有更多的应用也被整合在这个域名中.通过这个域名的管理功能,我们可以对 ...

  2. “tel.xls.exe病毒”解决方法

    手动删除"tel.xls.exe病毒"方法:[病毒名字类似,症状如下: 无法显示隐藏文件.系统变慢.CPU经常100%.打开硬盘分区时提示用什么程序打开.硬盘分区右键有Auto字样 ...

  3. android webview tel:,Android WebView“tel:”和“mailto:”链接显示未找到网页

    我想打开电话:& mailto:从webview链接,并收到以下消息: Web Page Not Found tel:0000000000 有效的唯一链接是"http:"和 ...

  4. android webview tel:,Android WebView“tel:”链接显示未找到网页

    我试图让我的android webview应用程序打开电话:链接到手机.每次我打开一个电话链接它工作伟大和打开电话.但是一旦我完成了我的电话,回到应用程序,它在一个页面,"找不到网页电话:0 ...

  5. u盘病毒之tel.xls.exe

    系统症状每次双击盘符出现一个新窗口 windows任务管理器出现了一个Excel的程序 鼠标右键点盘符出现"Auto"字样 无法显示隐藏文件 无法 取消或者钩选 隐藏已知文件类型的 ...

  6. HTML5 tel make a phone call

    HTML5 & tel & make a phone call 咋呼叫呀,网页怎么打电话? {key: "exploreCorpPhone",title: &quo ...

  7. 在HTML中标记tel是什么意思,'tel'属性在AEM 6.1的经典UI中富文本编辑器中的锚标记的href中不起作用...

    我正在使用AEM 6.1 SP2,我试图在定位标记的href中启用'tel'属性以使点击调用功能性工作.我已经添加了'htmlRules'节点 ,并将htmlRules节点下的节点与'protocol ...

  8. 在vue.js中实现a标签href tel的打电话功能

    在vue.js中实现a标签href tel的打电话功能 div v-for="p in persons"> <p> name: {{ p.name }} < ...

  9. js 使用tel标签实现拨打电话

    tel标签使用方式: 赋值固定的电话号: <a href="tel:010-123451"> <img src="img/icon/phone.png& ...

最新文章

  1. 实战:OpenVINO+OpenCV 文本检测与识别
  2. TensorFlow2-神经网络训练
  3. Spark创建DataFrame的三种方法
  4. SAP Cloud Platform上的WebIDE fullstack在哪里打开
  5. TCP/IP原理 (四) IP编址
  6. 远程GPU 使用指南(新)
  7. linux moxa 多串口卡_MOXA多串口卡C32030TCPU模块双RISC-based处理器架构大幅提升I/O数据传输的效能达到8口或以上...
  8. 用户名登陆时如何在后面加一个小红*_最后一个登陆框引起的血案
  9. poj 3256 Cow Picnic 优化深搜
  10. 四六级成绩还可以这样查?Python助你装B一步到位!!!
  11. UNIX 与 WINDOWS 文本换行的差异
  12. ehcache 缓存丢失_解决Ehcache缓存警告问题
  13. linux vi 替换
  14. php 事件驱动,详述PHP事件驱动问题的理解
  15. 谷歌不准备推出 ChatGPT 类聊天产品;Bugzilla 宣布未来计划|极客头条
  16. 为什么转置一个512x512的矩阵,会比513x513的矩阵慢很多?
  17. 黑盒测试、白盒测试与灰盒测试方法
  18. 微信小程序周报(第十三期)-极乐商店(store.dreawer.com)出品
  19. 渗透测试-微信刷票漏洞(IP伪造)
  20. ubuntu 调 2K 分辨率

热门文章

  1. CAS入门 安装及测试
  2. [转载]velocity模板加载
  3. 三菱M80系统服务器,三菱CNC最新M80网络设置方法
  4. 利用Img构建容器镜像
  5. 写给大家看的设计书总结
  6. Font 设置字体大小
  7. 编程题 gps数据处理c语言,第八周指针与字符串编程练习/课堂作业 单词长度+GPS数据处理《程序设计入门——C语言》第七期 浙江大学 翁恺...
  8. 小红书-竞品分析报告
  9. PCI_PCIe_miniPCIe规格说明
  10. dw整理css_使用CSS3整理表