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

小城镇建设的网站优化方案英语

小城镇建设的网站,优化方案英语,网站建设盈利模式,怎么做网站文章优化E-阿宁的生成树_2023牛客寒假算法基础集训营6 (nowcoder.com)开始慢慢补牛牛的题题意&#xff1a;最小生成树质数距离思路&#xff1a;最小生成树一共就两种算法&#xff0c;我们考虑Prim的过程初始连通块是1&#xff0c;然后考虑拿1和其他的结点连边当j-i<k时边权是gcd&…

E-阿宁的生成树_2023牛客寒假算法基础集训营6 (nowcoder.com)

开始慢慢补牛牛的题

题意:

最小生成树+质数距离

思路:

最小生成树一共就两种算法,我们考虑Prim的过程

初始连通块是1,然后考虑拿1和其他的结点连边

当j-i<=k时边权是gcd,j-i>k时边权是lcm

考虑j-1>k的点

即j>k+1

即j>=k+2

显然,对于[k+2,n]的结点来说,边权都是gcd(1,i),都为1

对于[2,k+2)的点,如果是和结点1连边,边权就是i,因此对于这些点的边权最多就是i

但是如果区间[2,k+2]的点和附近区间k的点连gcd的边,边权可能会变小

这里考虑暴力,用已经松弛的[k+2,n]的结点去松弛区间[2,k+2)的点

如果遍历到的已经松弛的结点是质数,那么边权一定为1,所以可以break

小trick:1e8以内的质数距离最多200,因此时间复杂度是O(n*200),不会超时

#include <bits/stdc++.h>
#define int long long
const int mxn=2e5+10;
const int mxe=2e5+10;
using namespace std;int n,k,len=0;
int d[mxn],prime[mxn],vis[mxn];
void p_init(int n){for(int i=2;i<=n;i++){if(!vis[i]) prime[++len]=i;for(int j=1;i<=n/prime[j];j++){vis[i*prime[j]]=1;if(i%prime[j]==0) break;}}
}
void solve(){cin>>n>>k;for(int i=2;i<=n;i++) d[i]=i;for(int i=1+k+1;i<=n;i++) d[i]=1;for(int i=2;i<1+k+1;i++){for(int j=i+k+1;j<=n;j++){d[i]=min(d[i],__gcd(i,j));if(!vis[j]) break;}}int ans=0;for(int i=2;i<=n;i++) ans+=d[i];cout<<ans<<'\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;//cin>>__;p_init(2e5);while(__--)solve();return 0;
}
http://www.zhongyajixie.com/news/35720.html

相关文章:

  • 淮北百度seo新网站seo
  • 深圳网站建设 龙华信科咨询免费推广网站推荐
  • 澄迈网站建设自媒体怎么赚钱
  • 金坛网站建设公司网店代运营诈骗
  • 大连网站建设哪个公司好网络营销策略案例
  • wordpress邮件验证码确认西安seo报价
  • 做神马网站优化crm管理系统
  • 网站建设提成买友情链接有用吗
  • 长沙3合1网站建设价格网络推广教程
  • 做dj网站能赚钱吗湖南长沙seo教育
  • 政府网站手机版模板持啊传媒企业推广
  • 繁昌网站建设百度下载老版本
  • 织梦网站采集侠怎么做上海网络seo优化公司
  • wordpress 跑马灯插件兰州网站优化
  • 做网站怎么买断源码成都新闻今日最新消息
  • wordpress练习关键词seo排名
  • 网站如何做地推某网站搜索引擎优化
  • java做网站都要学哪些最有创意的广告语30条
  • 网站被降权了怎么办企业宣传推广
  • 网站建设湖南网络平台建设及运营方案
  • 广州网站建设-信科分公司网上销售培训课程
  • 两人做性视频网站内部优化
  • 如何做盗版网站百度seo排名
  • 竭诚网络网站建设开发怎么做业务推广技巧
  • 手机网站建设书籍宣传软文是什么意思
  • 做网站会后期维护吗自媒体平台收益排行榜
  • 怎么做代刷网站教程安卓优化大师下载
  • nodejs做静态网站代做网页设计平台
  • 网站页面设计费用外贸网
  • 接帮人家做网站的网站宣传软文