Codeforces 803C. Maximal GCD
题目链接:http://codeforces.com/contest/803/problem/C
中了若干trick之后才过...
k个数的严格递增序列最小权值和就是${n*(n+1)/2}$,枚举这些数字增加的倍数x,使得序列变成${x,2x,3x...kx}$,然后再使最后一个数字变大满足要求就可以了,枚举的复杂度是根号$n$的。
要注意枚举倍数$x$的时候还要顺便枚举了$n/x$,然后${n*(n+1)/2}$这个东西是会爆long long的。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
#define maxn 10010
#define llg long long
#define LDB long double
#define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
llg n,m,cha,k; inline int getint()
{
int w=,q=; char c=getchar();
while((c<'' || c>'') && c!='-') c=getchar(); if(c=='-') q=,c=getchar();
while (c>='' && c<='') w=w*+c-'', c=getchar(); return q ? -w : w;
} llg find(llg x)
{
llg up=sqrt(x),Ans=-;
for (llg i=;i<=up;i++)
if (x%i==)
{
if ((LDB)x*/(LDB)i/(LDB)k>=(LDB)(k+) && i>Ans) {Ans=i; cha=x/i-(k*(k+))/;}
if ((LDB)i*/(LDB)k>=(LDB)(k+) && x/i>Ans) {Ans=x/i; cha=i-(k*(k+))/;}
}
return Ans;
} int main()
{
yyj("C");
cin>>n>>k;
llg val=find(n);
if (val==-) {cout<<-; return ;}
for (llg i=;i<k;i++) printf("%lld ",i*val);
printf("%lld",(k+cha)*val);
return ;
}
Codeforces 803C. Maximal GCD的更多相关文章
- codeforces 803C Maximal GCD(GCD数学)
		Maximal GCD 题目链接:http://codeforces.com/contest/803/problem/C 题目大意: 给你n,k(1<=n,k<=1e10). 要你输出k个 ... 
- Codeforces 803C. Maximal GCD 二分
		C. Maximal GCD time limit per test: 1 second memory limit per test: 256 megabytes input: standard in ... 
- CodeForces - 803C Maximal GCD 【构造】
		You are given positive integer number n. You should create such strictly increasing sequence of k po ... 
- Codeforces H. Maximal GCD(贪心)
		题目描述: H. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard ... 
- CodeFoorces 803C Maximal GCD
		枚举. 枚举$gcd$,然后计算剩下的那个数能不能分成$k$个递增的数. #include <iostream> #include <cstdio> #include < ... 
- 【数学】codeforces C. Maximal GCD
		http://codeforces.com/contest/803/problem/C [题意] 给定两个数n,k(1 ≤ n, k ≤ 10^10) 要你输出k个数,满足以下条件: ①这k个数之和等 ... 
- AC日记——Maximal GCD codeforces 803c
		803C - Maximal GCD 思路: 最大的公约数是n的因数: 然后看范围k<=10^10; 单是答案都会超时: 但是,仔细读题会发现,n必须不小于k*(k+1)/2: 所以,当k不小于 ... 
- Maximal GCD CodeForces - 803C (数论+思维优化)
		C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ... 
- Educational Codeforces Round 20  C. Maximal GCD
		C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ... 
随机推荐
- spy-debugger 安装以及使用
			参考链接:https://github.com/wuchangming/spy-debugger 
- GIT回滚master分支到指定tag版本
			master版本上线以后一般要打一个tag备份,以防事态有变,这是一个好习惯,如果以后有问题也可以放心的回滚版本,那么怎么用tag版本覆盖mastaer呢,其实只有几个命令 1.查看分支 git br ... 
- 外贸建站之图片预加载JS代码分享
			外贸建站之图片预加载JS代码分享 function preloadimg() { setTimeout(function() { new Image().src = "images/2017 ... 
- jquery datetimepicker 日期时间控件的使用及参数说明
			首先下载 jquery.datetimepicker.css jquery.datetimepicker.main.js 1. 引入css和js (注:该控件要依赖于jquery) <link ... 
- springboot引入AOP
			AOP是Aspect Oriented Programming的缩写,意为面向切面编程.通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是spring框架的一个重要内容,她通过对 ... 
- 跨站访问如何保证session的正常使用
			1.最近公司开发了一个网站项目,一切顺利.由于网页没有兼容手机浏览器,后来添加了一个webapp端,独立于另一个站点,用于解决兼容手机浏览器的问题.其中webapp端的数据全部通过ajax进行请求另一 ... 
- Tengine 安装和说明
			使用tengine要安装nginx.架构为:LTNMT或LTNMP 1. 官网下载源码包 [root@qc_centos7_5 src]# wget http://tengine.taobao.org ... 
- 关于Win10安装vs2013简体中文语言包无法安装的问题
			Win10下安装VS2013后无法安装VS2013中文简体语言包,提示Windows程序兼容模式已打开. 解决方案: 1,随便找个文件夹将简体中文语言包放入其中,发送快捷方式到桌面,右击快捷方式 选择 ... 
- python数据科学  学习之路
			week1 - Python基础1 介绍.基本语法.流程控制 week1- Python基础2 列表.字典.集合 week1- Python基础3 函数.递归.内置函数 week1- Pyt ... 
- Tensorflow object detection API ——环境搭建与测试
			1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ... 
