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

网站开发模板系统wordpress cname

网站开发模板系统,wordpress cname,ppt设计兼职,成都微信开发小程序登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一个数n&#xff0c;要求构造一个n的排列&#xff0c;满足相邻两个数的差或和是一个奇质数 2<n<1e5 思路&#xff1a;要满足相邻数的差或和是奇质数的话只有三种情况&#xff0c;要么当前数a[i]a[i-1]pr…

登录—专业IT笔试面试备考平台_牛客网

题目大意:给出一个数n,要求构造一个n的排列,满足相邻两个数的差或和是一个奇质数

2<=n<=1e5

思路:要满足相邻数的差或和是奇质数的话只有三种情况,要么当前数a[i]=a[i-1]+prime[j]或a[i]=a[i-1]-prime[j]或a[i]=prime[j]-a[i-1]。

我们先随意设一个初值,不妨令a[1]=1,然后每一个位置都枚举质数也就是枚举j然后从上面三种情况里选一种,范围在1~n的且没有出现过的,构造一下发现大部分的n都能用此法构造出来,只有如n=12这种极少情况没有合法构造。

那么我们换一下a[1],令a[1]=2,发现n=12时有了合法构造,且发现无论是a[1]=1还是a[1]=2,用到的最大的质数就是13,那么我们猜想可以枚举极少的a[1]和质数就能得到合法答案,所以我们从1~n枚举第一个数,然后遍历后面的每一个位置,从小到大遍历质数,找到合法的数字就填进去,最后检验一下所有数字收否都出现过,如果不合法就换下一个a[1]。

赛后验证了a[1]要么等于1可以有合法构造,1如果不行2就能有合法构造,且用到的质数不超过5个也就是不大于13,时间复杂度O(10n)

#include<bits/stdc++.h>
//#include<__msvc_all_public_headers.hpp>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
const ll MOD = 998244353;
const int INF = 0x7fffffff;
ll n;
ll ans[N];
bool vis2[N];
int prime[2*N], tot = 0;
bool  vis[2*N];
void getprime()
{//欧拉线性筛for (int i = 2; i <= 2*N; i++){if (!vis[i]){prime[++tot] = i;}for (int j = 1; j <= tot; j++){if (i * prime[j] >= 2*N)break;vis[i * prime[j]] = 1;if (i % prime[j] == 0)break;}}
}
void init()
{for (int i = 1; i <= n; i++){vis2[i] = 0;}
}
void solve()
{cin >> n;init();for (int ii = 1; ii <= 2; ii++){ans[1] = ii;vis2[ii] = 1;int ma = 0;for (int i = 2; i <= n; i++){for (int j = 2; j <= 6; j++){ma = max(ma, prime[j]);int now1 = ans[i - 1] + prime[j];int now2 = ans[i - 1] - prime[j];int now3 = prime[j] - ans[i - 1];//每个数有三种选择if (now1 <= n && !vis2[now1]){//找一种合法的ans[i] = now1;vis2[ans[i]] = 1;break;}else if (now2 >= 1 && !vis2[now2]){ans[i] = now2;vis2[ans[i]] = 1;break;}else if (now3 <= n && now3 >= 1 && !vis2[now3]){ans[i] = now3;vis2[ans[i]] = 1;break;}}}//cout << ma << endl;//for (int i = 1; i <= n; i++)//{////	if (!vis2[i])//	{//		cout << i << endl;//	}//}bool flag = 1;for (int i = 1; i <= n; i++){//检验有没有没构造出来的数if (!vis2[i]){flag = 0;}vis2[i] = 0;}if (flag)break; 		}for (int i = 1; i <= n; i++){cout << ans[i] << " ";}cout << endl;
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);int t;cin>>t;getprime();while (t--){solve();}return 0;
}

http://www.yayakq.cn/news/802167/

相关文章:

  • 利用第三方做网站永久发布地址电子商务平台内经营者享有公平交易的权利
  • 网站设计与网页制作岗位招聘信息物联网平台软件开发
  • 成都大丰网站建设例表网文化馆互联网站建设方案
  • 网站源码免费下载分享论坛给我一个网站好吗
  • 如何查看一个网站是否备案wordpress外链跳转
  • 招聘网站官网seo外链优化方法
  • vs2010做网站施坦威网站关于我们
  • 四平建设局网站火山视窗软件开发平台
  • wordpress开发复杂网站长沙最新招聘
  • 网站建设技术代码做网站需要的照片
  • 织梦网站更改怎么做网站的
  • 网站制作论文题目网页设计页面设计
  • 不锈钢网站建设哪家好网站开发不用jsp
  • 网站建设公式软件开发工具03173课后题
  • 帝国cms生成网站地图包装设计公司商业模式
  • 天津市建设工程交易中心网站深圳seo网站优化公司
  • 如何建设网站兴田德润怎么联系怎么做天猫内部券网站
  • 河源市seo网站设计宁波网站建设选择荣胜网络
  • 易语言网站批量注册怎么做高档女装品牌前十名
  • 洛阳建设工程信息网站别人做的网站不能用怎么办
  • 网站建设用几级域名合适行业网站建设价格
  • 天水市建设路第二小学网站用php做注册网站的代码
  • 高端企业网站报价wordpress调用最新评论
  • 南通影楼网站建设建筑网校排名前十的品牌
  • 学院评估 网站建设整改做催收的网站
  • 如何用ae做模板下载网站帮别人做数学题赚钱的网站
  • 篡改 网站 支付接口佛山cms建站
  • 网站开发 前台代码做婚姻网站流程
  • 网站面包屑导航代码网站建设-上寻模板
  • 做微信的网站叫什么国内环保行业网站开发