BZOJ 1811 IOI 2005 mea 乱搞

题目大意:给出一个序列中相邻两个的平均值,问有多少个序列可以满足这个性质。

思路:不难看出,只要确定了任意一个数字,整个序列就是确定的。我们设第一个值为k,那么后面的值都可以用表达式表示。然后做一下差分,保证每一项>0,就可以确定k的范围,每一个k值对应一个序列。

CODE:

#define _CRT_SECURE_NO_DEPRECATE

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define MAX 5000010
#define INF 0x3f3f3f3f
using namespace std;
#define min(a,b) ((a) < (b) ? (a):(b))
#define max(a,b) ((a) > (b) ? (a):(b))

int cnt;
int a[MAX],src[MAX];

int _min = -INF,_max = INF;

int main()
{
	cin >> cnt;
	for(int i = 1; i <= cnt; ++i) {
		scanf("%d",&a[i]);
		a[i] = a[i] * 2 - a[i - 1];
	}
	for(int i = 1; i <= cnt; ++i)
		src[i] = a[i] - a[i - 1];
	for(int i = 1; i <= cnt; ++i) {
		if(i&1) _max = min(_max,ceil((double)src[i] / 2));
		else	_min = max(_min,floor(-(double)src[i] / 2));
	}
	cout << ((_max - _min) < 0 ? 0:(_max - _min + 1)) << endl;
	return 0;
}

时间: 2024-10-21 06:35:58

BZOJ 1811 IOI 2005 mea 乱搞的相关文章

【BZOJ1811】[Ioi2005]mea 乱搞

[BZOJ1811][Ioi2005]mea Description 考虑一个非递减的整数序列 S1,....Sn+1(Si<=Si+1 1<=i<=n). 序列M1...Mn是定义在序列S的基础上,关系式为 Mi=( Si + S(i+1) )/2, 1<=i<=n, 序列M叫做序列S的平均数序列.例如序列1,2,2,4的平均数序列为 1.5,2,3.注意到平均数序列中的元素可能为小数.但是本题的任务只是处理平均数序列都为整数的情况. 给出一个n个数字的非递减的整数序列M1

BZOJ 4032 trie树+各种乱搞

思路 : 先对b 的所有后缀建立trie树 第一问 暴力枚举a串的起点 在trie树上跑 找到最短的 第二问 也是暴力枚举a串的起点 a和b顺着暴力匹配就好 第三问 求出来a在第i个位置 加一个字母j 能够到的最近的位置 f[i][j] 到最后就是inf 从f[0][j]DFS 在trie上跟着跑找到最小的deep更新答案 第四问 先按照求f一样同理求出b串 的  g dp[i][j]表示a的前i个位置 b不得不匹配到b的第j个位置             dp[i+1][j]=min(dp[i

bzoj 4900 [CTSC2017]密钥 模拟+乱搞

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4900 1 #include<cstring> 2 #include<cmath> 3 #include<iostream> 4 #include<algorithm> 5 #include<cstdio> 6 #include<vector> 7 8 #define N 40000007 9 #define FOR(a,b,c)

【BZOJ 4148】 4148: [AMPPZ2014]Pillars (乱搞)

4148: [AMPPZ2014]Pillars Time Limit: 5 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 100  Solved: 49 Description 给定一个n*m的矩形,其中有f个2*2的障碍物,其中任意两个障碍物中心之间的欧几里得距离至少为6, 且每个障碍物的中心到边缘的距离至少为3.请找到一条从左下角(1,1)出发经过所有没有障碍物的点各 一次的且最后回到左下角的回路. Input 第一行包含三个整数n,

【乱搞】【HNOI 2008】【bzoj 1011】遥远的行星

1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec Memory Limit: 162 MBSec Special Judge Submit: 2640 Solved: 954 Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用.请计算每颗行星的受力,只要结果的相对误差不超过5%即可.

【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 159[Submit][Status][Discuss] Description GTY召唤了n个人来做实验,GTY家的房子很大,有m个房间一开始所有人都在1号房间里,GTY会命令某人去某个房间等待做实验,或者命令一段区间的房间开始实验,实验会获得一些实验信息点数,点数为房间里的人数,如果一个房间里的一群人已经做过实验了那么这些人将不会增

UVA 11853 [dfs乱搞]

/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边的入口和出口的坐标. 思路: dfs乱搞题.把炮弹辐射范围连在一起的炮弹看作一个整体,记录下它围起来的边界区域. 然后找到最北边的输出. */ #include<bits/stdc++.h> using namespace std; double x[1005],y[1005],r[1005];

Codeforces 732e [贪心][stl乱搞]

/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变压器供应. 问最多能使得多少个插座与电脑匹配,使得电压一致. 如果有多种方案,输出需要变压器总数最小的那种. 输出匹配数量 输出每个插座需要接多少个变压器.输出每台电脑匹配哪个插座. 思路: 贪心 乱搞 先从小到大将插座排序,然后从地第一个插座开始,不断除以2上取整.不断找是否可以匹配.找到匹配就停

学渣乱搞系列之dp斜率优化

学渣乱搞系列之dp斜率优化 By 狂徒归来 貌似dp的斜率优化一直很难搞啊,尤其是像我这种数学很挫的学渣,压根不懂什么凸包,什么上凸下凸的,哎...说多了都是泪,跟wdd讨论了下,得出一些结论.本文很大部分参考了大神Accept的文章,不过此神貌似早已绝迹江湖,这篇文章写得好,也写得很差,前半部分叙述得很好,可是关键,关键部分说得很乱,有些许错误,很多大神都进行了评论指出,但是大神Accept貌似没有修改的意思,故重新总结下,以便自己以后查阅和复习啊. 下面看一个例题Print Article.