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

深圳住房和建设局网站预约营销培训总结

深圳住房和建设局网站预约,营销培训总结,新闻聚合网站开发,1000倍爆率传奇https://vjudge.net/problem/Gym-103118B/origin 在猫的国度里,有n个城市。猫国国王想要修n -1条路来连接所有的城市。第i市有一家ai经验价值的建筑公司。要在第i市和第j市之间修建公路,两个城市的建筑公司需要相互合作。但是,在修路的过程中…

https://vjudge.net/problem/Gym-103118B/origin

 在猫的国度里,有n个城市。猫国国王想要修n -1条路来连接所有的城市。第i市有一家ai经验价值的建筑公司。要在第i市和第j市之间修建公路,两个城市的建筑公司需要相互合作。但是,在修路的过程中,两家施工公司可能会因为沟通不畅而发生冲突,会造成建筑材料的浪费。从形式上讲,在第i个城市和第j个城市之间修建公路将浪费ged(ai, aj)建筑材料。你能帮助猫国国王选择建造n - 1条连接所有城市的道路,并最大限度地减少建筑材料的浪费吗?为了减少输入大小,猫国的国王给你一个随机整数生成器和3个参数L, R,种子。下面的C语言代码展示了如何生成n个整数a1, a2,…, an, a[i]存储第i个城市建筑公司的经验值。您可以在提交的文件中直接使用代码。

题解:
这道题本身并不是一道难题,

本身就一个最小生成树求出最小距离即可

但是边数n^2,正常求边肯定会t

关键是能否想到n > 某一个之后,答案只会是n - 1

正常来想的话是很难想到这一点的,由于我本身也不太明白,所以无法证明这一点

但是我么可以通过打表发现,当n > 5后,答案就都是n - 1了

(打表是一种很重要的思想,并且这题只用输入四个数即可,是和容易打表的,遇到一些难以解决的问题时,打表不失为一种好的选择)

此外通过他给我们的函数发现

如果R = L那么所有a[i]均为L那么答案就是(n-1)*L 

#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<vector>
#include<map>
#include<queue>
using namespace std;
#define int long long
const int N = 4e6 + 10;
typedef pair<int, int> PII;
unsigned long long seed;
int R,L;
unsigned long long xorshift64()
{unsigned long long x=seed;x^=x<<13;x^=x>>7;x^=x<<17;return seed=x;
}
int f[N];
int gen(){return xorshift64()%(R-L+1)+L;
}
int n;
int a[N];
struct node
{int l,r,x;friend operator <(const node &a,const node &b){return a.x < b.x;}
}p[N];
int find(int x)
{if(f[x] == x)return x;return f[x] = find(f[x]);
}
void solve() 
{cin >> n >> L >> R >> seed;for(int i = 1;i <= n;i++)a[i] = gen();if( L == R){cout <<(n - 1)*L;return ;}if(n > 5){cout << n - 1<<"\n";return ;}int cnt = 0;for(int i = 1;i <= n;i++){for(int j = i + 1;j <= n;j++){p[++cnt].l = i;p[cnt].r = j;p[cnt].x = __gcd(a[i],a[j]);}}for(int i = 1;i <= n;i++){f[i] = i;}sort(p+1,p+1+cnt);int ans = 0;int w = 0;for(int i = 1;i <= cnt;i++){int x = find(p[i].l);int y = find(p[i].r);if(x != y){f[y] = x;ans += p[i].x;w ++;}if(w == n-1)break;}cout << ans;
}signed main() 
{
//	ios::sync_with_stdio(0);
//	cin.tie(0);cout.tie(0);int t = 1;
//	cin >> t;
//scanf("%lld",&t);while (t--) {solve();}
}
//3 F
//5 B
//6 F
//9 F
//10 B
//12 F
//15 FB
//18 FB

http://www.khdw.cn/news/4659.html

相关文章:

  • 郑州做网站琴推广引流图片
  • 延安网站建设网络公司品牌营销策划机构
  • 网站开发工程师职业定位重庆seo培训
  • 建设通网站vip7月新闻大事件30条
  • div使用太多影响网站收录抖音关键词排名查询工具
  • 网站如何做更新免费职业技能培训网站
  • 制作网页的常用软件seo是指什么
  • 网站建设 天猫 保证金seo高级优化技巧
  • 畅言 WordPress优化大师最新版下载
  • 香港服务器做网站商丘seo公司
  • 展示照片的网站模板广告关键词有哪些
  • 微网站 建设沈阳seo关键字优化
  • 二建证从住房建设厅网站调出流程安徽网络推广
  • 全国学校网站建设百度网盘搜索引擎入口
  • 网站链接怎么做网站模板设计
  • wordpress自助广告专业北京seo公司
  • 做线上网站需要钱吗重庆网站设计
  • 做搜狗手机网站快百度收录关键词查询
  • 怎样做网站平台赚钱吗扬州百度推广公司
  • 夏津网站建设费用网络广告营销典型案例
  • 成都装修网站制作企业查询信息平台
  • 做外链一般都用网站首页吗学seo如何入门
  • 为拟建设的网站申请一个域名自动引流推广app
  • 网站服务端做处理跨域如何推广网址链接
  • 海尔官网 网站建设的目标如何快速推广一个app
  • 定制网站建设广告新冠病毒最新消息
  • 可以做微信游戏的网站如何刷关键词指数
  • 怎么判断一个网站做的好公司广告推广方案
  • 如何提高一个网站企业seo网站推广
  • wordpress里的robotsseo是什么服务