“玲珑杯”线上赛 Round #17 河南专场 A: Sin your life(和化积公式)
传送门
题意
略
分析
首先将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
代码
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define F(i,a,b) for(int i=a;i<=b;++i)
#define R(i,a,b) for(int i=a;i<b;++i)
#define mem(a,b) memset(a,b,sizeof(a))
//#pragma comment(linker, "/STACK:102400000,102400000")
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();}}
const double pi = acos(-1.0);
//double d[3003000];
int n;
double mxodd;
int main()
{
//d[3]=cos(0.5);
//for(int i=5;i<=3000000;i+=2) d[i]=max(d[i-2],cos((i-2)*1.0/2));
while(scanf("%d",&n)==1)
{
double ans=0,mxodd=-1e9;
for(int i=2;i<=n-1;++i)
{
if(i&1)
{
mxodd=max(mxodd,cos((i-2)/2));
ans=max(ans,2*sin(i*0.5)*mxodd+sin(n-i));
}
else ans=max(ans,2*sin(i*0.5)+sin(n-i));
}
printf("%.9f\n",ans);
}
return 0;
}
“玲珑杯”线上赛 Round #17 河南专场 A: Sin your life(和化积公式)的更多相关文章
- “玲珑杯”线上赛 Round #17 河南专场
闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...
- “玲珑杯”线上赛 Round #17 河南专场 B:震惊,99%+的中国人都会算错的问题(容斥计算)
传送门 题意 略 分析 是一道稍微变形的容斥题目,容斥一般的公式 \[ans=\sum_iAi-\sum_{i<j}{Ai∩Aj}+\sum_{i<j<k}{Ai∩Aj∩Ak}+.. ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup
本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html 未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...
- 2017CUIT校赛-线上赛
2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...
- RCTF 2018线上赛 writeup
苦逼的RCTF,只进行了两天,刚好第二天是5.20,出去xxx了,没法打比赛,难受.比赛结束了,还不准继续提交flag进行正确校验了,更难受. 下面是本次ctf解题思路流程 后面我解出的题会陆续更新上 ...
- 计蒜客 25985.Goldbach-米勒拉宾素数判定(大素数) (2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B)
若干年之前的一道题,当时能写出来还是超级开心的,虽然是个板子题.一直忘记写博客,备忘一下. 米勒拉判大素数,关于米勒拉宾是个什么东西,传送门了解一下:biubiubiu~ B. Goldbach 题目 ...
- ISCC 2018线上赛 writeup
今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...
随机推荐
- python requests接收chunked编码问题-python源码修改
python requests接收chunked编码问题-python源码修改 学习了:https://blog.csdn.net/wangzuxi/article/details/40377467
- Android-studio 连接真机 调试weex项目
1.选择项目 platforms / android 2.创建虚拟机(AVD) (1)点击 AVD Manager (2) 点击 Create Virtual Device 最后发现 CPU 不 ...
- 我的c++server记录----非堵塞下的socket读取操作
server端的主要的一个操作就是从socket的fd上进行数据读取.也就是我们经经常使用到的read函数. 欢迎关注我的server代码:http://code.taobao.org/p/fastS ...
- DW格式与布局
- Intel processor brand names-Xeon,Core,Pentium,Celeron----Quark
http://en.wikipedia.org/wiki/Intel_Quark Intel Quark From Wikipedia, the free encyclopedia Intel ...
- 使用JXL对EXCLE的导入导出
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Da ...
- JSON-RPC 2.0规范 翻译 中文版
JSON-RPC 2.0规范 起源日期: 2010-03-26(基于2009-05-24的版本号) 修正: 2013-01-04 作者: JSON-RPC 工作组 <json-rpc@googl ...
- 王立平--Unity破解
1.下载破解工具.关闭Unity,打开破解工具 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQyNTUyNw==/font/5a6L5L2T/ ...
- JavaScript中label语句的使用
之前在读<javascript高级程序设计>的时候,看到过lable语句,当时看完感觉好像很少用到,但是今天,刚好在项目终于到了合适的场景,合理使用label可以大幅度优化性能. 首先来简 ...
- 甘特图——Excel搞定
1. 甘特图 概念 甘特图就是条形图的一种. 甘特图是基于作业排序的目的,将活动与时间联系起来的最早尝试之中的一个. 这是什么意思呢?也就是说甘特图用来表示什么时间做什么事情,相当于一个计划安排.并且 ...