题目链接:点击打开链接

题目大意:给出一个数字k,要求做出一个长度小于等于10^5的序列。该序列中不同样的连续子序列有k个。

构造啊,。,,,,一点辙都没有

使用连续的数字做成序列,能够省事的计算出不同样的子序列有多少个。

使用n个1,那么不同样子序列有n种。

使用n个1和m个2,那么不同样的子序列有n+m+n*m种。

使用n个1,m个2和l个3,那么不同样的子序列有n+m+l+n*m+n*l+m*l种。

当k小于等于10^5时。直接输出k个1。

当k大于10^5时。对于使用1,2,3的情况能够做出满足各种k的子序列。

那么我们要求的就是求出n。m。l的值,

令a = n+l+1 , b = m+l+1 , c = l ; 得到a,b是为了凑出n+m+l+n*m+n*l+m*l,终于a*b = k + c*c + c + 1

枚举c。求k+c*c+c+1的全部约数。看是否有a和b满足a = n+l+1 , b = m+l+1 , c = l 而且n+m+l <= 10^5

假设存在了就输出连续的n个1,m个2,l个3.

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std ;
#define LL __int64
int main() {LL k , a , b , c ;LL i , j , l , flag ;while( scanf("%I64d", &k) != EOF ) {if( k <= 100000 ) {printf("%I64d\n", k) ;for(i = 1 ; i < k ; i++)printf("1 ") ;printf("1\n") ;continue ;}l = flag = 0 ;while( 1 ) {c = k+l*l+l+1 ;for(j = l+1 ; j*j <= c ; j++) {a = j ;if( c%a ) continue ;b = c/a ;if( b < l+1 ) continue ;if( a-l-1+b-l-1+l <= 100000 ) {flag = 1 ;break ;}}if( flag ) break ;l++ ;}printf("%I64d\n", a+b-l-2) ;for(i = 0 ; i < a+b-l-2 ; i++) {if( i < a-l-1 )printf("1") ;else if( i < a+b-2*l-2 )printf("2") ;elseprintf("3") ;if( i == a+b-l-3 ) printf("\n") ;else printf(" ") ;}}return  0 ;
}

hdu5334(2015多校4)--Virtual Participation(构造)相关推荐

  1. HDU 多校 6400 Parentheses Matrix(构造)

    HDU 多校 6400 Parentheses Matrix(构造) // Problem: D. Parentheses Matrix // Contest: Codeforces - 2018 C ...

  2. hdu 5411 2015多校十1006 ~矩阵快速幂

    题意: 给定n个碎片的转移关系,问最多使用m个碎片组成的不同的序列个数是多少. 思路: 容易想到dp的方法,以dp[i][j]表示长度为i以j号碎片结尾的不同序列的数量.那么dp[i + 1][k] ...

  3. 2015多校10 1006.CRB and Puzzle HDU5411(邻接矩阵求k长路条数,矩阵快速幂

    题意:有若干字符,现在要把它们连成一个字符串,每种字符后面只能接特定种类的字符,现在询问能连接出的长度小于等于m的字符串有多少种. 思路:我们可以把这个转移关系看成一个图,如果字符a后面可以接b,那么 ...

  4. 2021HDU多校6 - 7028 Decomposition(构造)

    题目链接:点击查看 题目大意:给出一个 nnn 个点的无向完全图,现在要求找到 kkk 条简单路径,每条简单路径的长度符合相应的要求,且每条边只能经过一次 题目保证 ∑i=1kli=n(n−1)2\s ...

  5. 2015 多校第三场

    1002 求max(f(a),f(b)), f为不重复的素因子个数, 在数据要求以内 , 每个数最多有7个,可以打表. 1 /*Author :usedrose */ 2 /*Created Time ...

  6. 2015弱校连萌寒假套题一 题解

    比赛地址 弱校连萌寒假套题一 A. The Big Dance 题意: 有n头牛,初始情况下都在一起,编号1~n.每次将一群牛按照编号均等分为前后两部分,后面部分的牛不能多于前面部分的.如果分出了两头 ...

  7. hdu 5317 RGCDQ (2015多校第三场第2题)素数打表+前缀和相减求后缀(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5317 题意:F(x) 表示x的不同质因子的个数结果是求L,R区间中最大的gcd( F(i) , F(j ...

  8. 2015 多校赛 第三场 1002 (hdu 5317)

    Description Mr. Hdu is interested in Greatest Common Divisor (GCD). He wants to find more and more i ...

  9. 2015 多校联赛 ——HDU5344(水)

    Problem Description MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to ...

最新文章

  1. 轻量级嵌入式数据库H2的愉快玩耍之旅
  2. python元组和列表都支持的方法是_python_列表和元组
  3. “中国式招标”的一些趣闻
  4. 力扣: 268. 丢失的数字
  5. Sitecore安全性第1部分:自定义角色和权限
  6. ansible暂停模块
  7. python conf配置文件
  8. jdbc mysql 存储过程查询数据_jdbc调用mysql存储过程实现代码
  9. java 什么是类的继承_Java基础,类的继承,粗略的理解希望对大家有所帮助!
  10. jupyter notebook 多行输出
  11. poj1691 Painting A Board
  12. linux修改挂载文件系统权限,Linux配置启动挂载:fstab文件详解
  13. 烤地瓜(PYTHON 学习类和对象)
  14. 第十篇 -- Windows 下免费的GIF录制工具
  15. C# Monitor.TryEnter 源码跟踪
  16. 地球系统模式(CESM)
  17. 《致盛夏的七封情书》 ------------ 第一篇《晨曦》
  18. 国际短信平台短信路由搭建后台软件定制-移讯云短信系统
  19. android中contains的用法
  20. 什么是cat.1和cat.4

热门文章

  1. 链队列出入队列c语言程序,链队列简单操作(c语言)
  2. java输出string变量名_java – 从String获取名称变量
  3. C语言野指针产生的情况
  4. python 函数可以作为容器对象的元素_python基础(十四):函数对象与闭包
  5. mysql 5.5 升级_Windows下MySQL5.5升级MySQL5.7
  6. 华为android强刷系统下载地址,华为P6S官方rom固件刷机包下载_华为P6S原版系统强刷升级包...
  7. axios async/await
  8. python multiprocessing.Semaphore应用
  9. py2neo 数据类型
  10. Eclipse字符集环境配置