原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2058 思路:等差数列公式变形:sum = a1 * len + len *(len -1)/2 抽象成一句话就是本题的思路:根据数列的长度和数列的和就可以算出首项,因为知道长度,所以区间就出来了(看了好多博客,都没说清楚,晕我一大天……) 然后由式子的变形(2*a1 + len -1)*len  = 2 *sum可得len绝对小于Sqrt(2*sum),因为a1>=1故len-1+2*a1>len…
import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, //然后去中值,并依次到judgeHigh函数判断是否满足条件,然后逐步逼近最终答案 public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while (in.has…
</pre><h1 style="color: rgb(26, 92, 200);">An easy problem</h1><strong><span style="color: green; font-family: Arial;">Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot…
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 25187    Accepted Submission(s): 11246 Problem Description A ring is compose of n circles as shown in diagram. Put natural num…
参考:https://www.cnblogs.com/yexiaozi/p/5749338.html #include <iostream> #include <cstdio> #include <cstring> using namespace std; ; int a[N],dp[N]; int n; void test() { cout<<"\n---------\n"; ;i<=n;i++) { cout<<'[…
Description A range is given, the begin and the end are both integers. You should sum the cube of all the integers in the range.   Input The first line of the input is T(1 <= T <= 1000), which stands for the number of test cases you need to solve. E…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目意思: 即给出一串数据,求连续的子序列的最大和 解题思路: 因为我们很容易想到用一个max来存放找到的子序列的和中的最大值,通过不断比较,对max的值进行更新,最后我们就能够得到最大子序列的和,于是很容易想到用暴力搜索,见上一篇博客,这样的时间复杂度为O(n^3),是超时的. 又因为想到只要一个数不是负数,不管它再小,加上去也是会使和变大的,所以我们需要用另一个变量来判断即将要加上的一个…
这一题目是要求连续子序列的最大和,所以在看到题目的一瞬间就想到的是把所有情况列举出来,再两个两个的比较,取最大的(即为更新最大值的意思),这样的思路很简单,但是会超时,时间复杂度为O(n^3),因为有三重for语句 #include<stdio.h> #define maxn 101000 int main() { int ncase,flag=1,n,max,sum=0,h,z,a[maxn]; long i,j,k; scanf("%d",&ncase); wh…
question:相遇周期 思路: 首先将两个分数化为最简形式(也就是分子分母同时除以最大公约数) 然后题意是要求两个分数的最小公倍数 借助以下两个公式,就可以求出结果 1.最小公倍数*最大公约数 = a*b 2.两个分数的最小公倍数:分子为两个分子的最小公倍数,分母为两个分母的最大公约数(前提是分数是最简形式) 注:最后结果要判断一下,如果分子可以被分母整除,则只要输出整除的结果,否则输出拼接字符串 source code: package hduoj; import java.util.Sc…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 解题思路:就是把大的数用数组存放起来,像小学的时候用竖式加法来算两个数相加那样算: 反思:思路很简单,可是有很多细节考虑不好,有时候没有进位,有时候又没有输出正确的答案,然后有时候数组长度又开小了什么的,所以还要多多练习. #include<stdio.h> #include<string.h> #define max 1000 void add(char a[],char b[…