| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 42026 人关注过本帖, 47 人收藏
标题:C论坛算法团队 首战 西安电子科技大学OJ
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
以下是引用uushuo在2013-5-3 17:44:17的发言:
这个题之前被解过,我只是试着加快了一下速度,耗时是12。主要还是看了题目的HINT。
不是很理解的是如果n不存在至少一个<50000的质因数,则n必为素数
这个怎么证明?
2^31-1太大了,求出到这个范围的素数。。。呵呵呵
另外很想知道前面的0ms的程序是怎么写的


因为50000的平方已经超出了2^31

至于0ms的程序,我怀疑是测试程序(或作弊类的,直接输出答案之类),或者是在以前的另一种计时方式下提交的结果,不用太在意。

因为连A+B都需要4ms,这种题怎么可能0ms。

重剑无锋,大巧不工
2013-05-03 20:31
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
以下是引用uushuo在2013-5-3 17:44:17的发言:

Pro1026 快速版

这个题之前被解过,我只是试着加快了一下速度,耗时是12。主要还是看了题目的HINT。
不是很理解的是如果n不存在至少一个<50000的质因数,则n必为素数
这个怎么证明?
2^31-1太大了,求出到这个范围的素数。。。呵呵呵
另外很想知道前面的0ms的程序是怎么写的


不用到50000的,(int)sqrt(0x7fffffff) = 46340


[fly]存在即是合理[/fly]
2013-05-03 21:57
uushuo
Rank: 2
等 级:论坛游民
帖 子:13
专家分:31
注 册:2009-1-22
收藏
得分:0 
多谢两位版主解答,发现自己傻的可以啊...
2013-05-04 13:04
BCLTDC
Rank: 2
等 级:论坛游民
帖 子:20
专家分:10
注 册:2013-4-29
收藏
得分:0 
  好东西啊! 可惜要毕业了,怕是没机会了!
2013-05-08 13:19
y1207435881
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:225
专家分:762
注 册:2013-4-30
收藏
得分:0 
顶啊
2013-05-08 14:05
晓毅
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-5-8
收藏
得分:0 
回复 4楼 beyondyf
超时了,果断去学算法,版主推荐本算法书吧!
2013-05-10 16:42
Baoshenglin
Rank: 2
等 级:论坛游民
帖 子:22
专家分:27
注 册:2013-3-2
收藏
得分:0 
哇,还有好多要学的。
2013-05-12 17:35
__sakura
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-1
收藏
得分:0 
我是XDOJ的管理员【笑【来检查一下进度
2013-06-01 20:29
__sakura
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-1
收藏
得分:0 
回复 5楼 beyondyf
这题本意是二分答案+最小生成树……复杂度大约log2(max(舒适度))*M
【这题数据果然够弱
2013-06-06 17:28
han749846857
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-8-11
收藏
得分:0 
1008数星星这题为什么一直WA……真是找不出错误了,求大神解释啊
程序代码:
#include<stdio.h>
#include<math.h>
#define T 0.0000000001
int x[1010],y[1010];
double ans[1010];
int comp(const void *_a,const void *_b)
{
    double *a=(double *)_a;
    double *b=(double *)_b;
    return *a>*b;
}
double xl(int x1,int y1,int x2,int y2)  //算斜率
{
    if(x1==x2) return 10000000.0;
    else return (y1-y2)*1.0/(x1-x2);
}
int main()
{
    int n,i,j,k,k1,k2,sum,max,count;
    while(scanf("%d",&n)!=EOF)
    {
        if(n==0) {printf("0n");continue;}
        if(n==1) {printf("1n");continue;}
        max=0;
        for(i=0;i<n;i++)
            scanf("%d %d",&x[i],&y[i]);
        for(i=0;i<n-max;i++)   //枚举起点
        {
            count=0;
            //if(n-i-1<=max) break;  //如果剩余点数少于max,就直接跳出
            for(j=i+1;j<n;j++)    //枚举终点
            {
              ans[count++]=xl(x[i],y[i],x[j],y[j]);  //ans数组记录以i为起点的斜率
              qsort(ans,count,sizeof(double),comp);
              sum=1;
              for(k=0;k<count-1;k++)
              {
                  if(fabs(ans[k]-ans[k+1])<T)
                  {
                      sum++;
                      if(sum>max) max=sum;    //记录最大值
                  }
                  else sum=1;
              }
            }
        }
        printf("%dn",max+1);    //点数等于线段数+1
    }
    return 0;
}

2013-08-11 10:07
快速回复:C论坛算法团队 首战 西安电子科技大学OJ
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028463 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved