【构造】【贪心】hdu6090 Rikka with Graph
给你n个点,让你连m条边,使得任意两两点对之间的最短路的和最小(两点若不可达,最短路记作n)。
初始时ans=n*n*(n-1)。
先尽量连成菊花图,每连一次让答案减小2*((n-2)*(i-1)+(n-1)),i为当前菊花图中的点数。
连完后剩下的边,每连一次让答案减小2。
如果已经用了n*(n-1)/2条边,剩下的边没有意义。
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
ll ans,m;
int T,n;
int main(){
scanf("%d",&T);
for(;T;--T){
scanf("%d%lld",&n,&m);
ans=(ll)n*(ll)(n-1)*(ll)n;
if(m<(ll)n){
for(int i=1;i<=(int)m;++i){
ans-=(ll)(i-1)*(ll)(n-2)*2ll;
ans-=(ll)(n-1)*2ll;
}
}
else{
for(int i=1;i<n;++i){
ans-=(ll)(i-1)*(ll)(n-2)*2ll;
ans-=(ll)(n-1)*2ll;
}
ll lim=min((ll)n*(ll)(n-1)/2ll,m);
ans-=(lim-(ll)n+1ll)*2ll;
}
printf("%lld\n",ans);
}
return 0;
}
【构造】【贪心】hdu6090 Rikka with Graph的更多相关文章
- HDU 6090 Rikka with Graph —— 2017 Multi-University Training 5
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- HDU 5422 Rikka with Graph
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- Rikka with Graph(联通图取边,暴力)
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- HDU 6090 Rikka with Graph
Rikka with Graph 思路: 官方题解: 代码: #include<bits/stdc++.h> using namespace std; #define ll long lo ...
- HDU 5631 Rikka with Graph 暴力 并查集
Rikka with Graph 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5631 Description As we know, Rikka ...
- HDU 5424——Rikka with Graph II——————【哈密顿路径】
Rikka with Graph II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- Rikka with Graph(hdu5631)
Rikka with Graph Accepts: 123 Submissions: 525 Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- ACM学习历程—HDU5422 Rikka with Graph(贪心)
Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...
- hdu 5424 Rikka with Graph II(dfs+哈密顿路径)
Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so h ...
随机推荐
- 微信小程序滑动选择器
实现微信小程序滑动选择效果 在wxml文件中,用一个picker标签代表选择器,bindchange是用户点击确定后触发的函数,index是picker自带的参数,用户点击确定后,bindchange ...
- docker 环境
1.docker 升级 步骤: docker -v service docker stop yum -y update docker.io
- https 多路复用的理解~转载
https://segmentfault.com/q/1010000005167289 这里面的http/2连接是指tcp/ip层的连接还是http应用层(也就是我们平常在chrome F12 net ...
- pdf文件添加到word中
今天遇到了一个问题,如何把pdf文件添加到word中,而不是只添加图标,下面是解决方案: 1.用word 打开pdf文件: 2.打开word文件: 3.把1中的pdf文件复制粘贴 到2中的word文件 ...
- MFC不同工程(解决方案)之间对话框资源的复制与重用方法(转)
原文转自 https://blog.csdn.net/lihui126/article/details/45556687
- linux 设备树【转】
转自:http://blog.csdn.net/chenqianleo/article/details/77779439 [-] linux 设备树 为什么要使用设备树Device Tree 设备树的 ...
- 【bzoj3682】Phorni
后缀平衡树裸题. 后缀平衡树呢,实际上是一个很naive的东西.就是用平衡树维护后缀数组. 这样的话就可以支持在最前端插入一个字符(相当于插入新的后缀) 每次比较节点的tag是O(1)的,所以可以快速 ...
- FISCO-BCOS平台共识
FISCO-BCOS 应用于区块链的多节点并行拜占庭容错共识算法 看了下微众平台的wiki共识知识 学习下 ()内是自己的思考 参考: https://github.com/FISCO-BCOS/W ...
- HTML5API
H5新API 一.地理位置API 1.navigator.geolocation对象 getCurrentPosition(callback,errCallback,options)获取当前位置 wa ...
- 修改centos地址连接为自动连接
1.进入目录/etc/sysconfig/network-scripts/ 2.修改ifcfg-etn0 文件 (即你的网卡标识命名的配置文件) 3.将ONBOOT=no改成yes 4.保存后重启 ...