传送门

题意

分析

首先将sin(x)+sin(y)+sin(z)h转化成\(2*sin(\frac{x+y}2)*cos(\frac{x-y}2)+sin(z)\),而cos(z)=cos(-z)

1.x+y为偶数,那么x-y为偶数,且如果x+y=i,那么x-y可取的值为0,2...,i-2

2.x+y为奇数,那么x-y为奇数,切如果x+y=i,那么x-y可取的值为1,3...,i-2

那么在x+y为偶数的时候,直接取x-y为0;在x+y为奇数的时候,设一个mxodd记录从1到i-2的cos的最大值。

从0到n-1扫一遍,遇到奇数更新,并计算max值,遇到偶数直接计算max值,复杂度\(O(n)\)

trick

代码

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define F(i,a,b) for(int i=a;i<=b;++i)
  5. #define R(i,a,b) for(int i=a;i<b;++i)
  6. #define mem(a,b) memset(a,b,sizeof(a))
  7. //#pragma comment(linker, "/STACK:102400000,102400000")
  8. inline void read(int &x){x=0; char ch=getchar();while(ch<'0') ch=getchar();while(ch>='0'){x=x*10+ch-48; ch=getchar();}}
  9. const double pi = acos(-1.0);
  10. //double d[3003000];
  11. int n;
  12. double mxodd;
  13. int main()
  14. {
  15. //d[3]=cos(0.5);
  16. //for(int i=5;i<=3000000;i+=2) d[i]=max(d[i-2],cos((i-2)*1.0/2));
  17. while(scanf("%d",&n)==1)
  18. {
  19. double ans=0,mxodd=-1e9;
  20. for(int i=2;i<=n-1;++i)
  21. {
  22. if(i&1)
  23. {
  24. mxodd=max(mxodd,cos((i-2)/2));
  25. ans=max(ans,2*sin(i*0.5)*mxodd+sin(n-i));
  26. }
  27. else ans=max(ans,2*sin(i*0.5)+sin(n-i));
  28. }
  29. printf("%.9f\n",ans);
  30. }
  31. return 0;
  32. }

“玲珑杯”线上赛 Round #17 河南专场 A: Sin your life(和化积公式)的更多相关文章

  1. “玲珑杯”线上赛 Round #17 河南专场

    闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...

  2. “玲珑杯”线上赛 Round #17 河南专场 B:震惊,99%+的中国人都会算错的问题(容斥计算)

    传送门 题意 略 分析 是一道稍微变形的容斥题目,容斥一般的公式 \[ans=\sum_iAi-\sum_{i<j}{Ai∩Aj}+\sum_{i<j<k}{Ai∩Aj∩Ak}+.. ...

  3. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  4. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  5. 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup

    本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html  未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...

  6. 2017CUIT校赛-线上赛

    2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...

  7. RCTF 2018线上赛 writeup

    苦逼的RCTF,只进行了两天,刚好第二天是5.20,出去xxx了,没法打比赛,难受.比赛结束了,还不准继续提交flag进行正确校验了,更难受. 下面是本次ctf解题思路流程 后面我解出的题会陆续更新上 ...

  8. 计蒜客 25985.Goldbach-米勒拉宾素数判定(大素数) (2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B)

    若干年之前的一道题,当时能写出来还是超级开心的,虽然是个板子题.一直忘记写博客,备忘一下. 米勒拉判大素数,关于米勒拉宾是个什么东西,传送门了解一下:biubiubiu~ B. Goldbach 题目 ...

  9. ISCC 2018线上赛 writeup

    今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...

随机推荐

  1. tcp三次握手和syn 洪水攻击

    1. 连接后,所有的 ack 为1才有效(连接后,ack 也一般都是1) 2. 建立连接3次握手, 如何确认对方收到了你发的包, seq 是自己发出去的,自己知道seq的值.所以怎么确认对方收到了自己 ...

  2. 前端编程提高之旅(十)----表单验证插件与cookie插件

        实际项目开发中与用户交互的常见手法就是採用表单的形式.取得用户注冊.登录等信息.而当用户注冊或登录后又须要记住用户的登录状态.这就涉及到经常使用的两个操作:表单验证与cookie增删查找.   ...

  3. weexapp 开发流程(三)其他页面创建

    1.首页 (1)轮播图 步骤一:创建 轮播图 组件(Slider.vue) src / assets / components / Slider.vue <!-- 轮播图 组件 --> & ...

  4. poj 3169 Layout(差分约束)

    Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6549   Accepted: 3168 Descriptio ...

  5. max-points-on-a-line——穷举

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  6. Arcgis Engine(ae)接口详解(7):地图(map)操作

    IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeVi ...

  7. Spring Batch(4): Job具体解释

    第四章 配置作业Job 4.1 基本配置 Job的配置有3个必须的属性.name,jobRepository,steps.一个简单的Job配置例如以下: <job id="footba ...

  8. Spring Base

    1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书<Expert one-on-one J2EE Design and Deve ...

  9. Dom解析XMl文档

    XMl文档 <?xml version = "1.0" encoding = "UTF-8"?> <books> <book bo ...

  10. Http常用状态码及含义

    HTTP 400 – 请求无效 HTTP 404- 无法找到文件或目录 HTTP 500 – 内部服务器错误 HTTP 502 – 网关错误 HTTP 400 – 请求无效 HTTP 401.1 – ...