hdu5334(2015多校4)--Virtual Participation(构造)
题目链接:点击打开链接
题目大意:给出一个数字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(构造)相关推荐
- HDU 多校 6400 Parentheses Matrix(构造)
HDU 多校 6400 Parentheses Matrix(构造) // Problem: D. Parentheses Matrix // Contest: Codeforces - 2018 C ...
- hdu 5411 2015多校十1006 ~矩阵快速幂
题意: 给定n个碎片的转移关系,问最多使用m个碎片组成的不同的序列个数是多少. 思路: 容易想到dp的方法,以dp[i][j]表示长度为i以j号碎片结尾的不同序列的数量.那么dp[i + 1][k] ...
- 2015多校10 1006.CRB and Puzzle HDU5411(邻接矩阵求k长路条数,矩阵快速幂
题意:有若干字符,现在要把它们连成一个字符串,每种字符后面只能接特定种类的字符,现在询问能连接出的长度小于等于m的字符串有多少种. 思路:我们可以把这个转移关系看成一个图,如果字符a后面可以接b,那么 ...
- 2021HDU多校6 - 7028 Decomposition(构造)
题目链接:点击查看 题目大意:给出一个 nnn 个点的无向完全图,现在要求找到 kkk 条简单路径,每条简单路径的长度符合相应的要求,且每条边只能经过一次 题目保证 ∑i=1kli=n(n−1)2\s ...
- 2015 多校第三场
1002 求max(f(a),f(b)), f为不重复的素因子个数, 在数据要求以内 , 每个数最多有7个,可以打表. 1 /*Author :usedrose */ 2 /*Created Time ...
- 2015弱校连萌寒假套题一 题解
比赛地址 弱校连萌寒假套题一 A. The Big Dance 题意: 有n头牛,初始情况下都在一起,编号1~n.每次将一群牛按照编号均等分为前后两部分,后面部分的牛不能多于前面部分的.如果分出了两头 ...
- 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 ...
- 2015 多校赛 第三场 1002 (hdu 5317)
Description Mr. Hdu is interested in Greatest Common Divisor (GCD). He wants to find more and more i ...
- 2015 多校联赛 ——HDU5344(水)
Problem Description MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to ...
最新文章
- 轻量级嵌入式数据库H2的愉快玩耍之旅
- python元组和列表都支持的方法是_python_列表和元组
- “中国式招标”的一些趣闻
- 力扣: 268. 丢失的数字
- Sitecore安全性第1部分:自定义角色和权限
- ansible暂停模块
- python conf配置文件
- jdbc mysql 存储过程查询数据_jdbc调用mysql存储过程实现代码
- java 什么是类的继承_Java基础,类的继承,粗略的理解希望对大家有所帮助!
- jupyter notebook 多行输出
- poj1691 Painting A Board
- linux修改挂载文件系统权限,Linux配置启动挂载:fstab文件详解
- 烤地瓜(PYTHON 学习类和对象)
- 第十篇 -- Windows 下免费的GIF录制工具
- C# Monitor.TryEnter 源码跟踪
- 地球系统模式(CESM)
- 《致盛夏的七封情书》 ------------ 第一篇《晨曦》
- 国际短信平台短信路由搭建后台软件定制-移讯云短信系统
- android中contains的用法
- 什么是cat.1和cat.4
热门文章
- 链队列出入队列c语言程序,链队列简单操作(c语言)
- java输出string变量名_java – 从String获取名称变量
- C语言野指针产生的情况
- python 函数可以作为容器对象的元素_python基础(十四):函数对象与闭包
- mysql 5.5 升级_Windows下MySQL5.5升级MySQL5.7
- 华为android强刷系统下载地址,华为P6S官方rom固件刷机包下载_华为P6S原版系统强刷升级包...
- axios async/await
- python multiprocessing.Semaphore应用
- py2neo 数据类型
- Eclipse字符集环境配置