题目中给出的函数具有周期性,总可以移动到第一个周期内,当然,a<b则无解。

假设移动后在上升的那段,则有a-2*x*n=b,注意限制条件x≥b,n是整数,则n≤(a-b)/(2*b)。满足条件的x≥(a-b)/(2*n)

假设在下降的那段,2*x-(a-2*x*n)=b,n+1≤(a+b)/(2*b),x≥(a+b)/(2*(n+1))

两者取最小值

#include<bits/stdc++.h>
using namespace std;int main()
{int a,b; scanf("%d%d",&a,&b);if(a<b) puts("-1");else {int t1 = a+b, t2 = a-b;int n1 = t1/(2*b)*2, n2 = t2/(2*b)*2;double a1 = t1*1./n1, a2 = t2*1./n2;printf("%.10lf\n",min(a1,a2));}return 0;
}

转载于:https://www.cnblogs.com/jerryRey/p/4815392.html

Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A A Problem about Polyline(数学)相关推荐

  1. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B. Or Game

    题目链接:http://codeforces.com/contest/578/problem/B 题目大意:现在有n个数,你可以对其进行k此操作,每次操作可以选择其中的任意一个数对其进行乘以x的操作. ...

  2. Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]

    数学 A - Raising Bacteria 分析:如果1 << k == x,那么放1个就可以了:否则还要加上差值的二进制的1的个数. /*********************** ...

  3. [Codeforces] Round #320 (Div.2)

    1.前言 虽然这次我依旧没有参加正式比赛,但是事后还是看了看题目的...一般不怎么刷Codeforces. A.Raising Bacteria You are a lover of bacteria ...

  4. codeforces Round #320 (Div. 2) C. A Problem about Polyline(数学) D. Or Game(暴力,数学)

    解题思路:就是求数 n 对应的二进制数中有多少个 1 #include <iostream> #include<cstdio> using namespace std; int ...

  5. Codeforces Round 261 Div.2 D Pashmak and Parmida's problem --树状数组

    题意:给出数组A,定义f(l,r,x)为A[]的下标l到r之间,等于x的元素数.i和j符合f(1,i,a[i])>f(j,n,a[j]),求有多少对这样的(i,j). 解法:分别从左到右,由右到 ...

  6. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  7. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  8. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  9. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

最新文章

  1. WINCE基于PWM实现的背光驱动
  2. DPOS共识算法—缺失的白皮书
  3. Boost:bind绑定visit测试程序
  4. innoDB 存储引擎
  5. 5.5.2 最小的N个和
  6. 数据思维,让决策更精准
  7. Node.js「四」—— 路由 / EJS 模板引擎 / GET 和 POST
  8. C++传入任意的函数类型作为参数
  9. 前台传递过来的参数遍历
  10. 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
  11. 我的webpack学习笔记(一)
  12. 423.从英文中重建数字
  13. BJUI--data-rule规则及自定义
  14. 洛谷 P1097 统计数字
  15. mysql etimedout_Node.js MySQL ETIMEDOUT error
  16. 卤煮花生米的制作过程(高压锅版)
  17. 书中第十章货币实验Currencies App在openexchangerates.org上的开发者密钥
  18. 西瓜测试软件,西瓜视频v2.0.0
  19. “500 - 内部服务器错误。”解决办法
  20. 局域网与城域网 - 以太网标准(百兆 100Base、千兆 1000Base、万兆 10GBase)

热门文章

  1. windows命令行安装python3_Python3---windows安装与运行
  2. 【Spring 数据访问终篇】Spring + Hibernate + Mysql
  3. 问题 | 解决Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll 问题(pycharm+Tensorflow)
  4. 旅游系统_旅游景区安全标识系统设计原则
  5. 香帅的北大金融学课笔记12 -- 资产估值
  6. Java基础day9
  7. erlang精要(3)-变量、原子与布尔代数
  8. 【CV】基于OpenCV的手掌检测和手指计数
  9. 【学术相关】毕业论文速成指南来了!
  10. 《深度学习》课程视频(含30份资料)