zoukankan      html  css  js  c++  java
  • 我和她的月亮的距离

    题目背景

    一如既往的熙攘的树影,熟悉的嫩绿的街町。周围仿佛是凝固的纯静的时间,不停地流溢着澹澹的温婉的芬芳。一只午睡的小猫,一缕清凉的微风。如果我向往回家的路,那么,我是个引力浪漫主义者吗?

    我把自行车停好。春日的阳光透过枝稍,让我想起她每天恬恬的微笑。但是今天,咦,艾莉欧呢?我知道,她向往遥远的星球,她一定是去了,那可以仰望夜幕的城市的海边。在一片朦胧的夜灯里,我能否辨识出,她,孤独的身影。

    题目描述

    艾莉欧说,她是宇宙人。想必,艾莉欧能够发出特定频率的脉冲吧。

    艾莉欧从出走开始,第i秒就会发送信号强度为sin(i)的电波。我可以想办法检测到,连续N个信号的叠加强度P,那么,艾利欧从我第一次收到信号起,已经离去多长时间了呢。

    输入输出格式

    输入格式:

    第一行一个整数N, 表示收集到N次信号。

    第二行一个实数P,至少精确到小数点后18位,表示正弦信号的累加值。

    输出格式:

    一个不超过67的正整数T,在弧度制下满足sin(T)+sin(T+1)+…+sin(T+N-1)=P。

    输入输出样例

    输入样例#1:
    3
    0.29361493957762066612412557420803
    输出样例#1:
    2
    (样例解释:可知sin(2)+sin(3)+sin(4)满足)

    说明

    『PS:pascal的选手,本题由于洛谷对pascal精度的缺陷,产生无法AC的情况,有可能你的程序能在本地AC。请尽量使用C++,造成的不便实在抱歉。』

    对于10%的数据,n≤160;

    对于30%的数据,n≤2010;

    对于60%的数据,n≤20110414;

    对于100%的数据,1≤n≤2011062220120208,数据保证T有较优解且T∈[1,67]。

    深黑的海风中的一点清蓝。找到了,吗。

    「怎么了?表哥。」艾莉欧直盯着我的双眸,就连眼瞳颜色都像经过外星加工般深邃。她的眼睛泛着雪亮的光泽,透明澄澈,宛如与掺杂溶剂的饮料无法相容的水。

    Thanks for viewing this problem.

    出题人:S_H_Y

    因為題目給出了T∈[1,67],所以只需要用較快的方法求出1~n的sin值和即可。

    那個較快的方法的手模:

      sin1+sin2+sin3+sin4+sin5+sin6+sin7+sin8+sin9+sin10+sin11+sin12+sin13+sin14+sin15

    =2*cos(-0.5)(sin1.5+sin3.5+sin5.5+sin7.5+sin9.5+sin11.5+sin13.5)+sin15   x=15,y=1;

    =2*cos(-0.5)(2*cos(-1)(sin2.5+sin6.5+sin10.5)+sin13.5)+sin15   x=7,y=2;

    =2*cos(-0.5)(2*cos(-1)(2*cos(-2)*sin4.5)+sin10.5)+sin13.5)+sin15 x=3,y=4;

    代碼實現:

     1 #include<cmath>
     2 #include<iostream>
     3 using namespace std;
     4 long long n;
     5 long double a,p,ans,bd;
     6 double fs(long long x,double y){//較快的方法。
     7 if(x==1) return sin(y/2+0.5);
     8 if(x&1) return 2*cos(-y/2)*fs(x/2,2*y)+sin(y*x-y/2+0.5);
     9 else return 2*cos(-y/2)*fs(x/2,2*y);
    10 }
    11 int main(){
    12 cin>>n>>p;
    13 ans=fs(n,1);
    14 for(double i=2;i<=67;i++){
    15 if(float(ans)==float(p)){cout<<i-1<<endl;return 0;}//數據變動比較大,即使捨棄一部分精度也沒關係。
    16 ans+=sin(n+i-1);ans-=sin(i-1);
    17 }
    18 return 0;
    19 }

    這是道給物競大佬做的題。。。

    题目来源:洛谷

  • 相关阅读:
    js 获取asp.net TextBox值
    项目笔记一
    如何取GridView中隐藏列的值
    使用bablepolyfill
    border: 0.5px
    选择查询固定位置的数据
    SQL用户数据库权限设置
    Java.1 HelloWorld的分析
    Java.2 面向对象
    【drupal实践】windows下drupal7.22develop版本安装
  • 原文地址:https://www.cnblogs.com/J-william/p/6054439.html
Copyright © 2011-2022 走看看