| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1640 人关注过本帖
标题:求AC代码
只看楼主 加入收藏
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:15 
求AC代码
提示: 该帖被管理员或版主屏蔽
搜索更多相关主题的帖子: 代码 
2010-07-20 11:40
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
请把原题复制过来,谢谢.
2010-07-20 12:25
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
百分英雄帖怎么是这种状态……
2010-07-20 12:31
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
广告系统
时间限制:1000 ms  |  内存限制:65536 KB
描述
某广告频道,采用了一种新的广告系统。对于每个广告都有一个给定的价值,该系统总是会从现有的广告中选择价值最高的广告播出。该系统从运行开始每秒钟都会接到一条新广告,只有当新的广告的价值严格大于原来的广告时才会更换广告。


现在按时间顺序给出系统开始的n 秒内接到的广告的价值。要求计算出该广告频道在这段时间内实际播放的广告数量和播放广告数量的期望。

输入
第一行一个整数 T ,表示有T组数据:
对于每组数据有两行:第一行为一个正整数 n (n ≤ 1,000,000) 表示系统运行时间,第二行有 n 个整数,第 i个数表示第 i 秒接到广告的价值。

输出
对于每组测试数据,输出两行: 第一行为一个整数表示实际播放的广告数量,第二行为一个实数表示播放广告数量的期望(期望保留3位小数)。

样例输入
2
1
105448456
2
746865872 354878401
样例输出
1
1.000
1
1.500
2010-07-20 15:05
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
http://www.
额,在这个网址提交
2010-07-20 15:08
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
这题连我都要好好想想。

我估计这里没有人能搞定了。

感觉像是马尔科夫模型。贴了好几次都error,估计是算期望的时候错了。

fuck
2010-07-20 19:06
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
回复 6楼 Devil_W
那谢谢你啦O(∩_∩)O
2010-07-20 19:41
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
连那个样例我都没看明白……

那个样例1怎么会只播了个广告呢?它第一秒只有一个,虽然价值是1,应该也会播呀。第二秒又接了一个高价,它才应该换吧?

还是那个期望是算什么呀?每秒接的广告价值是已知的,没有什么随机因素干扰呀。
2010-07-21 00:22
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:90 
数学问题。。
#include <stdio.h>
int main(void)
{
    int n, nn, j, val, tp, AdNu;
    double q;
   
    scanf("%d", &n);
   
    while(n--)
    {
        scanf("%d", &nn);
        for(q = 1, j = 2; j <= nn; ++j)    //q = 1+1/2+1/3+1/4....1/n;
            q += 1.0/j;
        for(AdNu = 0, val = 0, j = 0; j < nn; ++j)
        {
            scanf("%d", &tp);
            if(tp > val) val = tp, ++AdNu;
        }
        printf("%d\n%.3lf\n", AdNu, q);   
    }
    return 0;
}
关于q谁有好的不用for的通项公式,请告诉我。

无聊创造奇迹。
2010-07-21 07:41
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
回复 8楼 pangding
我就是不懂期望╮(╯_╰)╭
2010-07-21 09:27
快速回复:求AC代码
数据加载中...
 
   



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

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