Lightoj 1024 - Eid】的更多相关文章

题目链接:http://lightoj.com/volume_showproblem.php?problem=1024 题意:给你n(2<=n<=1000)个数, 然后求n个数的最小公倍数,每个数的大小是1---10000;所以答案会很大,可能达到1000个4位数相乘:所以结果很大,将近4000位; 所以一定会涉及到高精度运算:同时我们也不能直接循环求最小公倍数:我们可以把一个数分解成多个质数相乘,然后找到所有数中,出现的质数最多的那个对应的次方,然后再把结果乘起来即可; 例如样例 4 5 6…
题目链接:https://vjudge.net/contest/28079#problem/T 题目大意:给你n个数求这些数的最小公倍数(约数). 解题思路:还太菜了,看了别人的题解才会写,转自这里,每个数的大小是1~10000,且有2~1000个数,可能达到1000个4位数相乘,所以结果很大,将近4000位.所以要使用高精度计算,而且不能直接按照我们平时计算最小公倍数的算法(循环过来),因为数字太大,所以要改变思路,我们可以把一个数进行素因数分解,然后找到所有分解出来的素数对应的最大次数,然后…
求n个数的最小公倍数. import java.math.*; import java.io.*; import java.util.*; import java.text.*; public class Main{ /** * @param args */ public static BigInteger lcm(BigInteger a,BigInteger b){ return a.divide(a.gcd(b)).multiply(b);//.divide(a.gcd(b)); } pu…
题意:给你一些数,求它们的最小公倍数,结果可能会很大. 统计出每个素因子出现的最大次数,把他们相乘即可,需要高精度. #include<cmath> #include<cstdio> #include<cstring> #include<iostream> using namespace std; const int MAXN = 100010; int ans[MAXN], cnt[MAXN], len; void multiply(int fact){…
题目链接: http://lightoj.com/volume_showproblem.php?problem=1024 In a strange planet there are n races. They are completely different as well as their food habits. Each race has a food-eating period. That means the ith race eats after every xi de-sec (de…
这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章.各种开源软件.各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作为一名老司机觉得还是应该以练带学,1024在程序员界这么流行的网站,当然拿来先练一练. python自称是以自然语言的视角来编程,特点是开发快,语言简洁,没那么多技巧,大名鼎鼎的豆瓣.youtube都是使用python开发的网站,看来python在大规模使用这个方面来讲应该没有啥子问题:python…
注:最近mysql一直提示如下错误 Packet for query is too large (1185 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.... 按网上要求,检查max_allowed_packet show VARIABLES like '%max_allowed_packet%'; 修改max_allowed_packet set glo…
http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.com/ziyi--caolu/p/3236035.html http://blog.csdn.net/hcbbt/article/details/15478095 dp[i][j]为第i天到第j天要穿的最少衣服,考虑第i天,如果后面的[i+1, j]天的衣服不要管,那么dp[i][j] = dp[i…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1298 题意:给你两个数 n, p,表示一个数是由前 k 个素数组成的,共有 n 个素数,然后求这样的所有的数的欧拉和: 例如 n = 3, p=2; 前两个素数是2,3, 然后因为n=3,所以要再选一个素数组成一个数,有两种选择2*3*2=12 和 2*3*3=18 结果就是Φ(12)+Φ(18) = 10; 我们可以用dp[i][j] 表示前 j 个素数中选择 i 个的结果,Φ[n…
http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一个数d去除,有相同的余数.d数学上的称谓为模.如a=6,b=1,d=5,则我们说a和b是模d同余的.因为他们都有相同的余数1. //// 数学上的记法为: a≡ b(mod d) 可以看出当n<d的时候,所有的n都对d同商,比如时钟上的小时数,都小于12,所以小时数都是模12的同商. 对于同余有三种…