切换到宽版
  • 8533阅读
  • 9回复

Noip2007标程 [复制链接]

上一主题 下一主题
离线steven
 
只看楼主 倒序阅读 0 发表于: 2007-11-21
注:此程序为本人自己所编,可能存在漏洞,望大家海涵,并向我指出错误
附件: NoipP2007.rar (150 K) 下载次数:172
离线steven
只看该作者 1 发表于: 2007-11-21
补:
第一题:选择PX
第二题:PX后,从最大的起,取它能加的最大的数,合为一组
第三题:贪心,怎么贪的自己研究一下
第四题:f(n)=f(n-1)*2+2
            f(1)=2
            只不过要用高精度
离线ahbbwxc
只看该作者 2 发表于: 2007-11-22
占个沙发!很好的东西
离线steven
只看该作者 3 发表于: 2007-11-22
大家有没有试过啊?
试了有问题说一声,我好修改
没有问题,也说一声,我好放心
............................................
离线ooiifan
只看该作者 4 发表于: 2007-11-23
????????????????????
离线独孤幽梦
只看该作者 5 发表于: 2007-11-23
难道第二道题块牌也能过
离线独孤幽梦
只看该作者 6 发表于: 2007-11-23
我的算法是把每个数存在一个数组中。
坐标表示值,数组的值表示这个术的出现次数(规模=200,存放在a中)
随后再从大往小搜一遍,算法如下:
  for i:=n downto 1 do
      begin
          for j:=w-n downto 1 do
          begin
              if  a[j]>a[i] then f:=a[i] else f:=a[j];
              if j=i then f:=a[i] div 2;
              a[j]:=a[j]-f;
              a[i]:=a[i]-f;
              s:=s+f;{s表示最少分组数}
            end;
        s:=s+a[i];
    end; 
此程序可以优化,但一优化就有点乱(考试时是优化的),就算如此时间最大复杂度仅为200*200=40000,很小。优化后,平均最大复杂度<10000,极快

本人很菜,望各位大牛指教。
离线syc_pascal
只看该作者 7 发表于: 2007-11-24
回 5楼(独孤幽梦) 的帖子
是啊///
I KNOW I CAN!
你行,我也行!
你傻,我不傻!
全面落实社会主义骗分观,学习三个代表的成功骗分精神!
离线steven
只看该作者 8 发表于: 2007-11-24
最后一题不是用了高精度吗?
第二题是听了我老师的算法,不过没有验证
离线langlixuanya
只看该作者 9 发表于: 2007-12-03
我咋发现好像不是07年复试的题目哦?
快速回复
限100 字节
 
上一个 下一个