HDU 2015 (水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2015
题目大意:给你个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,让你按顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值
解题思路:
记录 n = 100 的数列的 100 个 前 n(n为1 ~ 100) 项和,一个长度为 n 的 “滑动窗口”, 从头滑动到尾,过程中每次停滞都做一次除以 n 的操作并输出,注意格式,最后判断有没有剩下的了,有就输出来
PS:感觉自己代码写的好丑,思路好挫,因为既然是偶数应该有办法不去计算,直接输出某个数,或者某两个数的平均数,先上AC代码吧,其他的学会了一会来更新
(代码和题目 m, n的意思反了,代码 m 表示长度为 m 的数列,n 表示每 n 个求平均值)
代码:
- #include<iostream>
- #include<cmath>
- #include<iomanip>
- #include<algorithm>
- using namespace std;
- int num;
- int s[];
- int main()
- {
- for(int i = ; i <= ; i ++)
- s[i] = s[i - ] + * i;
- int m, n;
- while(cin >> m >> n)
- {
- for(int i = ; i <= m / n; i ++)
- {
- if(i == )
- cout << (s[n * i] - s[n * i - n]) / n;
- else
- cout << " " << (s[n * i] - s[n * i - n]) / n;
- }
- if(m % n != )
- cout << " " << (s[m] - s[m / n * n]) / (m - m / n * n);
- cout << endl;
- }
- }
- //2 4 6 8 10//更好的办法
**********更新*********
学会了方法二:http://www.cnblogs.com/ibosong/archive/2012/02/16/2353499.html
思路挺好的,不需开数组,一次遍历,途中有能整除 n 的,就输出一次,数列结束了就判断是否有剩下的数
发现规律 hdoj P11 这前几道题就是可以优化,少去开数组,只用一个变量就可以解决的
**********第二次更新*********
超级开心,网上没找到这种方法
思路就是我发现所有输出的数字都是 n + 1,(n + 1) + n * 2,((n + 1) + n * 2)+ n * 2 ,(((n + 1) + n * 2)+ n * 2)+ n * 2....,所以用一下前 n 项和公式再搞搞就出来了啦
但感觉挺开心挺好的思路,拿到现场塞上去写好疼啊,又耗时间(思考时间),又不好搞,还是方法一正常一些吧,感觉思路好但显现效果不大
1A代码:
- #include<iostream>
- #include<cmath>
- #include<iomanip>
- #include<algorithm>
- using namespace std;
- int num;
- int s[];
- int main()
- {
- int m, n;
- while(cin >> m >> n)
- {
- for(int i = ; i <= m / n; i ++)
- {
- if(i == )
- cout << n + ;
- else
- cout << " " << n + + * n * (i - );
- }
- if(m % n != )
- cout << " " << (m + m * m - (m / n * n + pow(m / n * n, ))) / (m - m / n * n);
- cout << endl;
- }
- }
附上自己的CSDN:https://blog.csdn.net/zxc13936130136
唉,静下心来想想,我都大三了,打算考研,却都没脸说自己打过acm,一无是处穷途末路,什么都没有...
还想考去bupt,前阵子在被知乎大佬们教会了认清现实 https://www.zhihu.com/question/268311128/answers/created ,还有每天看到acm群他们的日常生活啊,讨论的东西啊,这就是我渴望到窒息都想要的生活啊,可是感觉自己差的好远好远菜的没话说,还有考研,保研群里真觉得自己好菜好菜啊,给他们提鞋的提鞋都不配,每天看不到希望的灯塔,感觉离梦想渐行渐远......
可是,这条路只有自己才能克服,别人不能代劳。努力吧,欲得早成,戒心自律!
因果,代价,弥补。
自强不息!
HDU 2015 (水)的更多相关文章
- HDU-1042-N!(Java大法好 && HDU大数水题)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- hdu 4464 水
http://acm.hdu.edu.cn/showproblem.php?pid=4464 现场赛总会有水题,这就是最水的一道,预计也就是能当高校的上机题,保研用,呵呵~~~ #include &l ...
- HDU 2015 偶数求和
http://acm.hdu.edu.cn/showproblem.php?pid=2015 Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的 ...
- HDU 5391 水题。
E - 5 Time Limit:1500MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- hdu 1544 水题
水题 /* * Author : ben */ #include <cstdio> #include <cstdlib> #include <cstring> #i ...
- hdu 3357 水题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3357 #include <cstdio> #include <cmath> # ...
- hdu 5007 水 弦
http://acm.hdu.edu.cn/showproblem.php?pid=5007 纯粹的联系String的substr 什么时候substr拦截比写短话 string te; int n; ...
- Tickets HDU - 1260 水DP
HDU - 1260 现在有n个人要买电影票,如果知道每个人单独买票花费的时间, 还有和前一个人一起买花费的时间,问最少花多长时间可以全部买完票. 直接dp就行,注意下输出和初始化 每次从dp[i-1 ...
- HDU排序水题
1040水题; These days, I am thinking about a question, how can I get a problem as easy as A+B? It is fa ...
随机推荐
- Mybatis源码详解系列(四)--你不知道的Mybatis用法和细节
简介 这是 Mybatis 系列博客的第四篇,我本来打算详细讲解 mybatis 的配置.映射器.动态 sql 等,但Mybatis官方中文文档对这部分内容的介绍已经足够详细了,有需要的可以直接参考. ...
- react: nextJs koa project basic structure
1.init nextJs project npm init npm install react react-dom next config script in package.json " ...
- python 携程asyncio 实现高并发示例2
https://www.bilibili.com/video/BV1g7411k7MD?from=search&seid=13649975876676293013 import asyncio ...
- 进阶 Linux基本命令-1
vmware三种网络模式1,桥接虚拟机直接连接外网,局域网.宿主机电脑不提供路由. 2,NAT网络地址转换,家庭网 3,host only 只能和宿主电脑打交道 Linux命令形式 命令 +[参数]+ ...
- scrapy爬虫实例(1)
爬虫实例 对象 阳光问政平台 目标 : 主题,时间,内容 爬取思路 预先设置好items import scrapy class SuperspiderItem(scrapy.Item): title ...
- 2019-2020-1 20199310《Linux内核原理与分析》第一周作业
1.问题描述 1.1 问题一 Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,探究根目录下主要文件用途. 1.2 问题二 有一个非常重要的文件(passw ...
- VRRP概念、工作原理
VRRP是一种路由容错协议,也可以叫做备份路由协议,可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台. 控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器, 它负责转发 ...
- C++多线程队列实现
C++多线程队列实现 C++多线程队列学习 介绍 在项目中,进行多线程队列实现是一个比较麻烦的事, 找到了一个实现比较好的多线程队列实现, 自己做了一点修改更加适应自己的项目, 记录下来, 有需要的自 ...
- Shell中的here文档
1.名词解释: 以下是维基百科解释: here文档[1],又称作heredoc.hereis.here-字串或here-脚本,是一种在命令行shell(如sh.csh.ksh.bash.PowerSh ...
- 【Linux常见命令】vi,vim命令
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...