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

建设统计网站进不去南昌网站制作代理商

建设统计网站进不去,南昌网站制作代理商,做酒的网站名字大全,软件研发工程师J.Permutation and Primes 构造 题目大意 给定一个正整数 n n n ,构造一个 n n n 的排列,使得每对相邻元素的和或差的绝对值为一奇素数 解题思路 两个数的和或差是奇数,那么它们的奇偶性一定是不同的,因此所求排列中&#…

J.Permutation and Primes

构造

题目大意

给定一个正整数 n n n ,构造一个 n n n 的排列,使得每对相邻元素的和或差的绝对值为一奇素数

解题思路

两个数的和或差是奇数,那么它们的奇偶性一定是不同的,因此所求排列中,奇数和偶数是交错分布的

对于排列的构造,首先考虑能不能通过自然排列转化而成//

赛时首先想到奇偶分开后,将全体偶数向左或向右循环移动 2 2 2 ~ 3 3 3 位,这样可以保证绝大部分位置和左右两边之差为 3 3 3 5 5 5 //当时以为要切了,结果剩余的数字考虑了两年半还是没有找到符合题意而不失一般性的构造方法

然后考虑分段调整。在上面思想的基础上,发现如果元素个数为 8 8 8 个,那么全体偶数左移 2 2 2 位和右移 2 2 2 位的结果都为: 1 , 6 , 3 , 8 , 5 , 2 , 7 , 4 1,6,3,8,5,2,7,4 1,6,3,8,5,2,7,4 。并且如果下一段长度为 8 8 8 的序列也按照这种规则变换顺序,那么 4 4 4 和下一段长度为 8 8 8 的序列的开头 9 9 9 之差为 5 5 5 ,符合题意,从而解决了边界问题

n n n 8 8 8 取余,记 n = 8 k + r n=8k+r n=8k+r 。解决前 r r r 个数的排列后,之后每 8 8 8 个数按 1 , 6 , 3 , 8 , 5 , 2 , 7 , 4 1,6,3,8,5,2,7,4 1,6,3,8,5,2,7,4 的顺序变换即可

时间复杂度

O ( n ) O(n) O(n)

参考代码

参考代码为已AC代码主干,其中部分功能需读者自行实现

ll rem[8][8]={{},{1},{1,2},{1,2,3},{1,4,3,2},{5,2,1,4,3},{5,2,1,4,3,6},{7,2,5,6,3,4,1}};
ll pl[9]={0,1,6,3,8,5,2,7,4};
void solve(){ll n;cin >> n;ll r=n%8,d=n/8;vector<ll> v;FORLL(i,0,r-1) v.emplace_back(rem[r][i]);FORLL(i,0,d-1){FORLL(j,1,8){v.emplace_back(8*i+pl[j]+r);}}FORLL(i,0,n-1) cout << v[i] << Presentation(i,n-1);
}
http://www.yayakq.cn/news/862170/

相关文章:

  • 做网站页面需要的资料住房和城乡建设部的网站首页
  • 云南网站备案查询wordpress展现备案号
  • 济南建站方案机票网站建设
  • 做网站有哪些平台网站做百度推广为什么没人咨询
  • 六安服装网站建设地址asp源码网站
  • 无锡网站建设收费wordpress远程代码执行
  • wordpress外贸站加快公司网站建设
  • 网站开发设计流程图wordpress建影视网站
  • 如何查询网站备案信息深圳外贸公司多的区
  • 网站名查询给你一个网站如何做推广
  • 如何做一个与博物馆相关网站哈尔滨的网站设计
  • 搭建网站需要程序网站设计广州
  • 杭州制作手机网站18上海简约网站建设公司
  • 网站搜索引擎引流常州谷歌推广
  • 网站建设能干什么网页制作成品下载免费
  • 南京手机网站设计深圳建设工程信息网站
  • 2016广州网站设计公司自学网站建设工资
  • 泉州住房城乡建设局网站合肥 做网站的公司
  • 重庆自助建站软件学做网站必须php吗
  • 游戏开发网站建设佛山做网站永网
  • 简洁公司网站源码劳务公司网站建设
  • 电影院做羞羞的网站企业公众号如何开通
  • 长沙建网站设计创建网页
  • 手机网站建设图连接wordpress
  • 网站首页ico怎么做产品推广的目的和意义
  • 海南七星彩网站开发小生互联免费主机
  • 国土局网站建设经验如何做淘宝客个人网站
  • 网站开发需要的技术人才网站不用备案
  • 《教师网站建设与应用管理制度》济南行知网站建设有限公司怎么样
  • 哪个网站是做韩国化妆品正品专业网吧装修设计公司