A Problem about Polyline

原创 2016年08月28日 18:46:24
链接:

题目:

There is a polyline going through points (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – ....

We know that the polyline passes through the point (a, b). Find minimum positive value x such that it is true or determine that there is no such x.



题意:一条以x为比例因子渐增的折线,给一个点判断该点能否出现在该折线上,以及如果能,求最小的x

分析:数学题,主要是判断之后,找到点左右的两个折线与x轴相交的点(其实是两种情况,在折线的上升沿和下降沿),然后分别作为最小情况求出x的值,比较后留下最小的。

题解:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <string>
#include <cstring>
#include <functional>
#include <cmath>
#include <cctype>
#include <cfloat>
#include <climits>
#include <complex>
#include <deque>
#include <list>
#include <set>
#include <utility>
#define rt return 0
#define fr freopen("in.txt","r",stdin)
#define fw freopen("out.txt","w",stdin)
using namespace std;



double wr(int a, int b)
{
	int m = a / (2 * b);
	return (double)a / (double)(2 * m);
}

int main()
{
	//fr;
	int a, b;
	cin >> a >> b;
	if (a<b)
	{
		cout << -1 << endl;
		rt;
	}
	int t = a - b;
	int p = a + b;
	double ans = min(wr(p, b), wr(t, b));
	printf("%.10lf\n", ans);
	rt;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline

题目地址 题目大意:给出一个整数点,问该点是否在y=x-2kp或y=-x+2kp上,k0和取整数,求最小正p 解题思路:若y>x,明显不可能; 若y=x,则p就为x;若x%y==0且x/y为奇数,...
  • booyoungxu
  • booyoungxu
  • 2015年09月18日 16:29
  • 236

cf C. A Problem about Polyline (数学题)

There is a polyline going through points(0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, ...
  • h1021456873
  • h1021456873
  • 2015年09月18日 18:04
  • 432

cf 320# A Problem about Polyline (二分)

题目:http://codeforces.com/problemset/problem/578/A 题意:给定一种波形 (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4...
  • w20810
  • w20810
  • 2015年09月17日 22:05
  • 541

[CodeForces 579C]A Problem about Polyline[数学]

题目链接:[CodeForces 579C]A Problem about Polyline[数学] 题意分析: 给出一条过点(0, 0) – (x, x) – (2x, 0) – (3x, x)...
  • CatGlory
  • CatGlory
  • 2015年09月17日 14:28
  • 766

codeforces 320c A Problem about Polyline(数学)

题目连接:http://codeforces.com/contest/579/problem/C 题意:给你一段波浪线,点数变化情况是—— (0,0)->(x,x)->(2x,0)->(3x,x),...
  • li1004133206
  • li1004133206
  • 2015年09月29日 22:02
  • 251

CF 149D Coloring Brackets(区间DP,好题,给配对的括号上色,求上色方案数,限制条件多,dp四维)

1、http://codeforces.com/problemset/problem/149/D 2、题目大意 给一个给定括号序列,给该括号上色,上色有三个要求 1、只有三种上色方案,不上色,上...
  • sdjzping
  • sdjzping
  • 2014年02月13日 14:15
  • 3227

CodeForces 579C A Problem about Polyline[数学]

 题意: 一条过点(0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – ....的折线,...
  • lianweicheng88
  • lianweicheng88
  • 2015年09月22日 09:46
  • 345

【26.09%】【codeforces 579C】A Problem about Polyline

time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard...
  • harlow_cheng
  • harlow_cheng
  • 2016年11月13日 23:17
  • 123

Codeforces 149D Coloring Brackets 【区间dp】

D. Coloring Brackets time limit per test 2 seconds memory limit per test 256 megabytes input s...
  • chenzhenyu123456
  • chenzhenyu123456
  • 2016年01月10日 16:59
  • 509

Drazil and Tiles - CODEFORCES 515D 贪心

Drazil created a following problem about putting 1 × 2 tiles into an n × m grid: "There is a grid w...
  • u012183589
  • u012183589
  • 2015年07月05日 20:08
  • 410
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:A Problem about Polyline
举报原因:
原因补充:

(最多只允许输入30个字)