杭电ACM2058--The sum problem
http://acm.hdu.edu.cn/showproblem.php?pid=2058
以为简单的穷举就完了,结果是一直Time Limit Exceeded。。
这是代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a,b;
int i,j,k;
while (scanf("%d%d",&a,&b)!=EOF&&(a!=||b!=))
{
for (i=;i<=a;i++)
{
k = ;
for (j=i;j<=i+(int)sqrt((double)(*b))+;j++)
{
k = k+j;
if (k == b)
printf("[%d,%d]\n",i,j);
}
}
printf("\n");
}
return ;
}
穷举是穷举,还不能任意穷举,要不超时!
设初始值i,个数为j的数列满足要求,则(i+i+j-1)*j/2=m
==>(2*i-1+j)*j=2m
所以j肯定小于等于sqrt(2*m),穷举。
之后才发现数据量之大,然后找到了解决办法。
<span style="font-size:24px;">
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a,b;
int i,j,k;
while (scanf("%d%d",&a,&b)!=EOF&&a&&b)
{
for (j=(int)sqrt((double)(*b));j>=;j--)
{
i = (*b/j+-j)/;
if (b == (*i+j-)*j/)
printf("[%d,%d]\n",i,i+j-);
}
printf("\n");
}
return ;
}
</span>
杭电ACM2058--The sum problem的更多相关文章
- 杭电oj_2058——The sum problem(java实现)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2058 思路:等差数列公式变形:sum = a1 * len + len *(len -1)/2 抽象成 ...
- 杭电oj An easy problem
</pre><h1 style="color: rgb(26, 92, 200);">An easy problem</h1><stron ...
- 杭电 1016 Prime Ring Problem
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 杭电 1003 Max Sum (动态规划)
参考:https://www.cnblogs.com/yexiaozi/p/5749338.html #include <iostream> #include <cstdio> ...
- 杭电 5053 the Sum of Cube(求区间内的立方和)打表法
Description A range is given, the begin and the end are both integers. You should sum the cube of al ...
- 杭电1003 Max Sum 【连续子序列求最大和】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目意思: 即给出一串数据,求连续的子序列的最大和 解题思路: 因为我们很容易想到用一个max ...
- 杭电1003 Max Sum TLE
这一题目是要求连续子序列的最大和,所以在看到题目的一瞬间就想到的是把所有情况列举出来,再两个两个的比较,取最大的(即为更新最大值的意思),这样的思路很简单,但是会超时,时间复杂度为O(n^3),因为有 ...
- 杭电 1002 A + B Problem II【大数相加】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 解题思路:就是把大的数用数组存放起来,像小学的时候用竖式加法来算两个数相加那样算: 反思:思路很 ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- 杭电ACM刷题(1):1002,A + B Problem II 标签: acmc语言 2017-05-07 15:35 139人阅读 评
最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...
随机推荐
- 深入了解android平台的jni---图像灰度化处理
一.涉及到的jni编程知识 Java基本类型的数组,在JNI中都是jArray的类型格式.具体类型如下: typedef jarray jbooleanArray; typedef jarray jb ...
- 关于jsb中js与c++的相互调用
1.js调用c++函数 在c++中声明函数,名为functionCpp,通过spidermonkey中jsapi的JS_DefineFunction绑定一个js函数,名为functionJS,此函数名 ...
- NUMA
- Google 推出全新的两步验证机制
近日 Google 在官方的 Apps Updates 博客公布了全新的两步验证功能--Google 提示,新的功能通过与 Google App 联动,进一步将验证确认工作缩减到仅有两步,同时支持 A ...
- 3.4html学习笔记之表格
<table border=""style="border-collapse:collapse"> <caption>表格</ca ...
- CSS 之 嵌套 margin-top 处理
如下代码: <div style=" width:1000px; height:700px; margin:auto;"> <div style=" w ...
- CSS3实战手册(第3版)(影印版)
<CSS3实战手册(第3版)(影印版)> 基本信息 原书名:CSS3: The Missing Manual, 3E 作者: David Sawyer McFarland 出版社:东南大学 ...
- 【CSS】class和id命名规则
说明,本篇内容为书籍<高流量网站CSS开发技术>的学习总结,文字出自书本 书不错,推荐阅读学习 也可参阅网上的博文 原载:彬Go链接:http://blog.bingo929.com/cs ...
- oneThink 数据库连接失败,总提示密码不对的解决办法
oneThink的数据库配置文件是\Application\Common\Conf\config.php,按理来说,在这里修改数据库配置应该就可以重新连接,可是不管我怎么修改密码总是和我设置的不一致, ...
- 在Mac OS X上安装Ionic
安装xcode(从app store下载,用于编译调试ios平台app) 安装node.js(npm) 安装ionic(sudo npm install -g ionic) 安装cordova(sud ...