题目链接:http://codeforces.com/contest/1009/problem/C

解题心得:

  • 题意就是一个初始全为0长度为n的数列,m此操作,每次给你两个数x、d,你需要在数列中选一个位置pos,然后对于每一个位置i的数num[i]-x+d*dis(i,pos)。最后要求这个数列平均值最大。
  • 其实不需要记录这个数列中的每个数是多少,只需要记录总和就行了。如果d为正数pos选在数列越中间的位置最后的总和越大。所以需要分类讨论d的正负和数列长度的奇偶,然后用等差通项求和公式就行了。
#include "bits/stdc++.h"
using namespace std;
typedef long long ll; ll sum = ;
ll n,m; void init() {
scanf("%lld%lld",&n,&m);
} ll sum_x = ; void odd(ll x){
ll cut = n/;
if(x > ){
double t;
t = (double)n/2.0;
sum += t*(double)(n-)*(double)x;
} else {
sum += (+cut)*cut*x;
}
} void even(ll x){
ll cut = n/-;
if(x>) {
double t;
t = (double)n/2.0;
sum += t*(double)(n-)*(double)x;
} else {
sum += ( + cut) * cut * x;
sum += n / * x;
}
} void solve(){
while(m--){
ll x,d;
scanf("%lld%lld",&x,&d);
sum_x += x*n;
if(n%){
odd(d);
} else {
even(d);
}
}
sum += sum_x;
double ans = (double)sum/(double)n;
printf("%.12f",ans);
} int main() {
init();
solve();
return ;
}

Educational Codeforces Round 47 (Rated for Div. 2) :C. Annoying Present(等差求和)的更多相关文章

  1. Educational Codeforces Round 47 (Rated for Div. 2) 题解

    题目链接:http://codeforces.com/contest/1009 A. Game Shopping 题目: 题意:有n件物品,你又m个钱包,每件物品的价格为ai,每个钱包里的前为bi.你 ...

  2. Educational Codeforces Round 47 (Rated for Div. 2) :E. Intercity Travelling

    题目链接:http://codeforces.com/contest/1009/problem/E 解题心得: 一个比较简单的组合数学,还需要找一些规律,自己把方向想得差不多了但是硬是找不到规律,还是 ...

  3. Educational Codeforces Round 47 (Rated for Div. 2) :D. Relatively Prime Graph

    题目链接:http://codeforces.com/contest/1009/problem/D 解题心得: 题意就是给你n个点编号1-n,要你建立m条无向边在两个互质的点之间,最后所有点形成一个连 ...

  4. Educational Codeforces Round 47 (Rated for Div. 2) :B. Minimum Ternary String

    题目链接:http://codeforces.com/contest/1009/problem/B 解题心得: 题意就是给你一个只包含012三个字符的字符串,位置并且逻辑相邻的字符可以相互交换位置,就 ...

  5. Educational Codeforces Round 47 (Rated for Div. 2) :A. Game Shopping

    题目链接:http://codeforces.com/contest/1009/problem/A 解题心得: 题意就是给你两个数列c,a,你需要从c中选择一个子串从a头开始匹配,要求子串中的连续的前 ...

  6. Educational Codeforces Round 47 (Rated for Div. 2)E.Intercity Travelling

    题目链接 大意:一段旅途长度N,中间可能存在N-1个休息站,连续走k长度时,疲劳值为a1+a2+...+aka_1+a_2+...+a_ka1​+a2​+...+ak​,休息后a1a_1a1​开始计, ...

  7. Educational Codeforces Round 47 (Rated for Div. 2)F. Dominant Indices 线段树合并

    题意:有一棵树,对于每个点求子树中离他深度最多的深度是多少, 题解:线段树合并快如闪电,每个节点开一个权值线段树,递归时合并即可,然后维护区间最多的是哪个权值,到x的深度就是到根的深度减去x到根的深度 ...

  8. Educational Codeforces Round 47 (Rated for Div. 2)G. Allowed Letters 网络流

    题意:给你一个字符串,和每个位置可能的字符(没有就可以放任意字符)要求一个排列使得每个位置的字符在可能的字符中,求字典序最小的那个 题解:很容易判断有没有解,建6个点表示从a-f,和源点连边,容量为原 ...

  9. Educational Codeforces Round 47 (Rated for Div. 2) G. Allowed Letters

    把原字符看成 $X$,每个位置看成 $Y$,每种字符向每个能去的位置连边,就成了一个二分图完美匹配的问题.现要得到字典序最小,那么就枚举每一位要放什么,然后看放完这种字符,剩下的字符的个数和后面能不能 ...

随机推荐

  1. 一对多sql

    <!-- 分页查询派货成本 --> <select id="queryCostRegionPriceBycondtion" parameterMap=" ...

  2. Orchard Core 文档翻译 (三) Orchard Core Modules

    原文连接:https://www.cnblogs.com/Qbit/p/9746442.html 转载请注明出处 介绍 Orchard Core Modules库提供了一种机制,可以拥有一个独立的模块 ...

  3. NO.009-2018.02.14《临江仙·送钱穆父》宋代:苏轼

    临江仙·送钱穆父_古诗文网 临江仙·送钱穆父 宋代:苏轼 一别都门三改火,天涯踏尽红尘.依然一笑作春温.无波真古井,有节是秋筠.自从我们在京城分别一晃又三年,远涉天涯你奔走辗转在人间.相逢一笑时依然像 ...

  4. unity的默认文件目录及脚本之间的执行顺序

    在unity中,有几个默认的文件目录,这些目录对于开发者来说是非常重要的,今天记录一下这些目录的功能和一些相关的知识 大神雨松给出的帖子我个人觉得还是很有价值的,附上链接 http://www.xua ...

  5. 发送请求获取响应内容(c#)

    C#请求url,获取响应的脚本 public string ResultOfApi(string url) { //发送请求 HttpWebRequest request = null; HttpWe ...

  6. 转载:em(倍)与px的区别

    转载出处:http://www.cnblogs.com/showker/archive/2010/05/24/1742821.html 在国内网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理 ...

  7. android-ndk-r7b编译环境Cygwin工具搭建及配置(转)

    开发android ndk 的时候需要一个编译工具编译c程序,ndk需要linux下编译,所以win环境下提供Cygwin模拟linux编译C android-ndk 较低版本的这个工具的配置网上很多 ...

  8. spring 四种数据源配置方式

    1.spring自带的数据源 DriverManagerDataSource XML代码: <bean id="dataSource" class="org.spr ...

  9. vue.js--基础 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中,键盘事件

    <template> <div id="app"> <h1>{{ msg }}</h1> <input type=" ...

  10. 【洛谷5309】[Ynoi2012] D1T1(分块)

    点此看题面 大致题意: 两种操作,区间求和,将形如\(ax+y\)的位置的元素值加\(z\). 分块 这种题目显然就是按照\(x\)与\(\sqrt n\)的大小关系来分块. 对于\(x>\sq ...