51nod-1785:数据流中的算法
第一行是整数n与k,代表有n次操作,时间窗口大小为k。 (1 <= n <= 10^6, 1 <= k <= 100)接下来的n行,每行代表一次操作。操作有“用户访问”、“查询均值”、“查询方差”、“查询中位数”四种。每行的第一个数代表操作类型。操作数1:用户访问 输入格式:<1, v> 用户的满意度v为闭区间[0, 100]中的任意整数。用户每访问一次,数据更新,移动统计窗口。操作数2:查询均值 输入格式:<2> 统计窗口内的用户满意度的均值。操作数3:查询方差 输入格式:<3> 统计窗口内用户满意度的方差操作数4:查询中位数 输入格式:<4> 统计窗口内用户满意度的中位数p.s. 在有查询请求时,窗口保证不为空 p.s.s. 有查询请求时,窗口可能不满
对于“查询均值”、“查询方差”、“查询中位数”操作的结果,输出保留两位小数。
12 3 1 1 1 2 1 3 2 3 4 1 4 1 5 1 6 2 3 4
2.00 0.67 2.00 5.00 0.67 5.00
这道题平均数要保留整数,不要保留小数,题目中居然木有说..
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main(void)
{int n, i, k, t, c, a[105], b[105], now;double ave, ans, sum, all;memset(a, -1, sizeof(a));scanf("%d%d", &n, &k);now = 1;sum = all = 0;while(n--){scanf("%d", &t);if(t==1){scanf("%d", &c);sum += c-max(a[now], 0);if(a[now]==-1)all += 1;a[now++] = c;if(now>k)now = 1;}if(t==2)printf("%d.00\n", (int)(sum/all));if(t==3){ans = 0;ave = sum/all;for(i=1;i<=k;i++){if(a[i]==-1)continue;ans += (a[i]-ave)*(a[i]-ave);}ans /= all;printf("%.2f\n", ans);}if(t==4){c = 0;for(i=1;i<=k;i++){if(a[i]>-1)b[++c] = a[i];}sort(b+1, b+c+1);ans = (b[(c+1)/2]+b[c/2+1])/2.0;printf("%.2f\n", ans);}}return 0;
}
51nod-1785:数据流中的算法相关推荐
- 51nod 1785 数据流中的算法 (方差计算公式)
1785 数据流中的算法 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 51nod近日上线了用户满意度检测工具,使用高级人工智能算法,通过用户访问时间.鼠标轨 ...
- 1785 数据流中的算法(模拟,乱搞)
1785 数据流中的算法 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20
- AC日记——数据流中的算法 51nod 1785
数据流中的算法 思路: 线段树模拟: 时间刚刚卡在边界上,有时超时一个点,有时能过: 来,上代码: #include <cstdio> #include <cstring> # ...
- 数据结构与算法之字符凭拼接最低字典序和数据流中取中位数
数据结构与算法之字符凭拼接最低字典序和数据流中取中位数 目录 字符凭拼接最低字典序 数据流中取中位数 1. 字符凭拼接最低字典序 题目描述 思路: 创建一个比较器,比较的内容是(o1+o2).comp ...
- ⭐算法入门⭐《堆》中等02 —— LeetCode 703. 数据流中的第 K 大元素
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 设计一个找到数据流中第 ...
- 算法:数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 例如, [2 ...
- Leetcode295 数据流中的中位数-最小堆和最大堆
题目 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如,[2,3,4] 的中位数是 3:[2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两 ...
- leetcode 703. 数据流中的第K大元素 最小堆解法 c语言
如题: 设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含 ...
- 从C语言的角度重构数据结构系列(七)-数据结构堆知识求解数据流中的第K大元素
前言 在这里给自己打个广告,需要的小伙伴请自行订阅. python快速学习实战应用系列课程 https://blog.csdn.net/wenyusuran/category_2239261.html ...
最新文章
- Java对多线程的支持
- 阿里云二面:你对限流了解多少?
- 如何更新 Exchange2003 SP2 中的智能邮件筛选器版本
- php扩展包启动,Composer 扩展开发:本地运行扩展包
- Vue3 的学习教程汇总、源码解释项目、支持的 UI 组件库、优质实战项目
- 我的工作日报 - 2020-9-15 星期二
- 主线程 唤醒_python线程之九:生产者消费者3种方式,2个线程1个协程
- 接收上传的multi-file的文件(四)
- python字符串是什么_python字符串表示什么
- linux ubuntu安装 mono,在 Ubuntu Server 上安装配置 Mono 生产环境
- 基于JAVA+Servlet+JSP+MYSQL的超市管理系统
- python零基础好学吗-Python零基础好学吗?零基础如何学习Python?
- Helm 3 完整教程(十七):Helm 流控制结构(1)if / else 语句
- 课时13—横屏竖屏事件
- 收集java精确截取字符串
- mysql索引的数据结构
- c语言mac图形化界面编写,「分享」C语言如何编写图形界面
- 2022,程序员的出路在哪里?
- 服务器IP变更后如果更新openfire 服务IP
- PMP项目管理适用于哪些行业?
热门文章
- python怎么读写文件-python3 excle(python怎么读写excel文件)
- 学python可以做什么职业-python学完之后比较适合哪些职业工作呢?
- python能做什么工作-谁适合学Python?学了Python可以做什么工作?
- python和java选择哪个-python和java哪个学起来更简单
- 四川首例 “自贡话智能语音识别系统”在检察院投用
- Hashmap存储大小
- c语言gettext的头文件,C语言中用GNU gettext实现本地化
- 计算机域名DNS设置,电脑的IP地址和DNS域名服务器如何设置
- element el-upload上传图片完成后隐藏上传
- 【MySQL快速入门】牛客网:条件查询(1)基础排序