【OpenJ_POJ C16D】Extracurricular Sports(构造,找规律)
题目
求n个互不相同的数,满足其和为其lcm。
我们把lcm看成一个线段,分割成长度不同的n份。
当然分法有很多,我们只需要构造一个好想好写的。
先分成两个二分之一,取其中一个二分之一再分成1/3和2/3,接下来每次取1/3的分成1/3和2/3。
1
1/2 1/2
1/2 2/6 1/6
1/2 2/6 2/18 1/18
最短的是1/18的这份,我们让它为1。则可算出其它的长度:9 6 2 1。
所以1,2为最短的两个,接下来每个数就是前面的数的和的两倍,最后一个数是前面所有的数之和。
再长一点:1 2 6 18 54 81
可以发现,前面两个数是1,2,接下来是前面一个数的3倍,最后一个数是3的n-2次方。
令$a[0]=1,a[i]=2*3^{i-1}$,答案就是a[0]到a[n-2],a[n-1]/2。
用java的大整数类写起来比较精简。
import java.io.*;
import java.math.*;
import java.util.*;
public class Main{
//a[i]=1 2 6 18 54 162
static BigInteger a[]=new BigInteger[250];
public static void main(String[] args){
Scanner cin= new Scanner(System.in);
a[0]=BigInteger.valueOf(1);
a[1]=BigInteger.valueOf(2);
for(int i=2;i<=200;i++)
a[i]=a[i-1].multiply(BigInteger.valueOf(3));
int t=cin.nextInt();
for(int i=1;i<=t;i++){
int n=cin.nextInt();
if(n==2)System.out.println(-1);
else{
for(int j=0;j<n-1;j++)
System.out.println(a[j]);
System.out.println(a[n-1].divide(BigInteger.valueOf(2)));
}
}
}
}
【OpenJ_POJ C16D】Extracurricular Sports(构造,找规律)的更多相关文章
- OpenJ_POJ C16D Extracurricular Sports 打表找规律
Extracurricular Sports 题目连接: http://acm.hust.edu.cn/vjudge/contest/122701#problem/D Description As w ...
- CF 1003B Binary String Constructing 【构造/找规律/分类讨论】
You are given three integers a, b and x. Your task is to construct a binary string s of length n=a+b ...
- Ural 2037. Richness of binary words 打表找规律 构造
2037. Richness of binary words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2037 Descripti ...
- OpenJ_POJ C16B Robot Game 打表找规律
Robot Game 题目连接: http://acm.hust.edu.cn/vjudge/contest/122701#problem/B Description Sgeoghy has addi ...
- HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- URAL 1780 G - Gray Code 找规律
G - Gray CodeTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view ...
- 2015北京网络赛 H题 Fractal 找规律
Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...
- Ural 2045. Richness of words 打表找规律
2045. Richness of words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2045 Description For ...
- HDU 4731 Minimum palindrome 打表找规律
http://acm.hdu.edu.cn/showproblem.php?pid=4731 就做了两道...也就这题还能发博客了...虽然也是水题 先暴力DFS打表找规律...发现4个一组循环节.. ...
- Nowcoder 练习赛 17 C 操作数 ( k次前缀和、矩阵快速幂打表找规律、组合数 )
题目链接 题意 : 给定长度为n的数组a,定义一次操作为: 1. 算出长度为n的数组s,使得si= (a[1] + a[2] + ... + a[i]) mod 1,000,000,007: 2. ...
随机推荐
- 用802.11n 加速,将android手机屏幕投影到win7电脑上
在做Android应用开发的时候,经常需要将已经完成的应用展示给一同开发的小伙伴,然而一直感觉没有找到一种十分方便的办法.特别是看到了开发IOS的小伙伴在做展示的时候的方便.因为Apple既做PC,也 ...
- Xcode 快捷键
1.commmand +shift +k ,隐藏模拟器键盘,用户可以在真实键盘输入到模拟屏幕上.
- js,onblur后下一个控件获取焦点判断、html当前活跃控件、jquery版本查看、jquery查看浏览器版本、setTimeout&setInterval
需求: input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误.但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显 ...
- Post model至Web Api创建或是保存数据
前一篇<Post model至Web Api>http://www.cnblogs.com/insus/p/4343538.html中,使用Post来从Web Api获取数据.由于Post ...
- 如何让jboss eap 6.2+ 的多个war应用共享 jar 包?
weblogic有一个很贴心的功能,允许把多个war应用共同依赖的jar包,打包一个单独的war,以libary方式部署,然后各应用在weblogic.xml里声明引用该libary即可,这样可大大减 ...
- JavaScript:关于事件处理程序何时可以直接访问元素的属性
指定在元素的的事件处理程序中指定 <input type="button" value="click me" onclick="alert(th ...
- Java 基础【07】线程同步锁的选择
在需要线程同步的时候如何选择合适的线程锁? 例:选择可以存入到常量池当中的对象,String对象等 public class SyncTest { private String name = &quo ...
- 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止.开发一个完整的Andro ...
- .NET Core VS Code 环境配置
VSCode .NET环境配置 在此之前我一直是使用notepad++配置的C/C#环境来写代码,比起打开"笨重"的VS要方便很多.VSCode出来之后,本来也想折腾了一下 ...
- ASP.NET 系列:单元测试之SmtpClient
使用SmtpClient发送Email时,我们可以创建ISmtpClient接口和SmtpClientWrapper适配类,在单元测试中对ISmtpClient进行Mock或自定义FackeSmtpC ...