题意:
维护一个数列,支持两种操作
1.给一个区间所有数加v
2.询问一个区间内所有余弦的和

维护一个余弦和,一个正弦和即可,cosv sinv提出,然后打标记即可~

#include<set>
#include<ctime>
#include<cmath>
#include<cstdio>
#include<vector>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define RAND() (rand())
using namespace std;
double dc[800005],ds[800005],dcos[800005],dsin[800005];
void Maketree(int k,int l,int r)
{dc[k]=1;ds[k]=0;if(l==r){double x;scanf("%lf",&x);dsin[k]=sin(x);dcos[k]=cos(x);return ;}int m=(l+r)>>1;Maketree(k*2,l,m);Maketree(k*2+1,m+1,r);dsin[k]=dsin[k*2]+dsin[k*2+1];dcos[k]=dcos[k*2]+dcos[k*2+1];
}
inline void Add(int k,double sD,double cD)
{double Dc=dc[k],Ds=ds[k];ds[k]=Dc*sD+Ds*cD;dc[k]=Dc*cD-Ds*sD;Dc=dcos[k],Ds=dsin[k];dsin[k]=Dc*sD+Ds*cD;dcos[k]=Dc*cD-Ds*sD;
}
inline void push_down(int k)
{Add(k*2,ds[k],dc[k]);Add(k*2+1,ds[k],dc[k]);dc[k]=1;ds[k]=0;
}
void Update(int k)
{dsin[k]=dsin[k*2]+dsin[k*2+1];dcos[k]=dcos[k*2]+dcos[k*2+1];
}
void Change(int k,int l,int r,int x,int y,double sD,double cD)
{if(x<=l&&y>=r){Add(k,sD,cD);return ;}push_down(k);int m=(l+r)>>1;if (x <= m)Change(k*2,l,m,x,y,sD,cD);if( y>m)Change(k*2+1,m+1,r,x,y,sD,cD);/*if(x>m)Change(k*2+1,m+1,r,x,y,D);elseif(y<=m)Change(k*2,l,m,x,y,D);else{Change(k*2,l,m,x,m,D);Change(k*2+1,m+1,r,m+1,y,D);}*/Update(k);
}
double Query(int k,int l,int r,int x,int y)
{if(x<=l&&y>=r)return dcos[k];push_down(k);int m=(l+r)>>1;double ans=0;if (x <= m)ans+=Query(k*2,l,m,x,y);if( y>m)ans+=Query(k*2+1,m+1,r,x,y);/*if(x>m)ans=Query(k*2+1,m+1,r,x,y);elseif(y<=m)ans=Query(k*2,l,m,x,y);elseans=Query(k*2,l,m,x,m)+Query(k*2+1,m+1,r,m+1,y);*/Update(k);return ans;
}
int main()
{
#ifndef ONLINE_JUDGEfreopen("input.txt","r",stdin);freopen("output.txt","w",stdout);
#endifint T;scanf("%d",&T);for(int testcase=1;testcase<=T;testcase++){printf("Case #%d:\n",testcase);int n,m;scanf("%d%d",&n,&m);Maketree(1,1,n);for(int i=1,ch,l,r;i<=m;i++){double c;scanf("%d",&ch);if(ch==1){scanf("%d%d%lf",&l,&r,&c);Change(1,1,n,l,r,sin(c),cos(c));}else{scanf("%d%d",&l,&r);printf("%lf\n",Query(1,1,n,l,r));}}}
}

qinghua大乱斗C相关推荐

  1. 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处

    新闻上的文本分类:机器学习大乱斗 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处理过程与结果差 ...

  2. 计算机社团嘉年华的游戏,社团嘉年华,游戏大乱斗!

    原标题:社团嘉年华,游戏大乱斗! 一年一度倍受期待的社团嘉年华在周二圆满结束 大家肯定还对那些有趣的游戏念念不忘吧! 如果你没能及时参加,没关系 喇叭会带着你去回顾社团嘉年华那些精彩的活动! 立夏的五 ...

  3. cos大乱斗服务器维护,《COS大乱斗》服务器数据互通公告

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 各位亲爱的COSer: 为了给大家提供更加优质的游戏环境,增加游戏乐趣,提高游戏互动性,我们将会在2016年11月7日对COS大乱斗混服[S4-261]区 ...

  4. 微信游戏脑力大乱斗92一个计算机,微信脑力大乱斗答案大全_全关卡图文攻略_软吧...

    脑力大乱斗是一款非常益智的小程序游戏,大家通过微信就可以直接打开无需下载.这里小编为大家提供的是所有关卡的过关技巧帮助小伙伴们了解这个游戏的脑洞,在碰上难题的时候协助大家顺利过关! [游戏入口] 在微 ...

  5. ★「C++游戏」BattleOfPhantom:大乱斗游戏升级版

    (原创) 目前正在不断更新! ★ 一款超级有趣的大乱斗游戏,包含多种游戏模式,支持双人联机. 离线情况下也可以与多个(或一群)机器玩家进行疯狂的对战. 直接上图 使用C++ with EGE图形库编写 ...

  6. jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...

    Jump大乱斗常见问题解决方法分享,本作是一款经典漫画人物乱斗游戏,一些玩家进游戏遇到的各种问题,接下来52z飞翔下载小编给大家带来Jump大乱斗常见问题及按键设置方法. 进入游戏可能碰到的问题 点确 ...

  7. ps4jump大乱斗服务器维护,Jump大乱斗新人实用技巧分享 新手注意事项介绍

    Jump大乱斗新人实用技巧分享 新手注意事项介绍 2019-02-15 11:30:23来源:jumpforce吧/媚鬼丶编辑:云曼衍评论(0) <Jump大乱斗>已经于今天正式和玩家们见 ...

  8. Java初始化大乱斗

    1.先了解static 归类所有,只初始化一次,并且当类加载的时候才开始初始化 修饰变量 所有该类的对象共享一个静态变量 修饰方法 直接用类名调用即可 能不能在main方法内写static int a ...

  9. 怪兽大乱斗:进入苹果推荐的Creator独立游戏

    吃豆人是80.90后一款记忆深刻的游戏,躲避怪兽,吃掉金币!紧张.刺激.节奏明快,快乐了多少童年.向经典致敬,基于Cocos Creator制作.接入原生SDK.手动绑定jsb的吃豆玩法,全面升级的像 ...

最新文章

  1. angularJs 之deferred
  2. 图解完整模式安装windows server 2008企业版[为企业部署Windows Server 2008系列四]
  3. Linux 分割、合并文件
  4. Delphi调用外部程序的集中方法
  5. java 获取bean 属性_获取javaBean的属性名属性值属性类型
  6. html快闪软件制作,教你如何用PPT轻松完成快闪视频制作?
  7. 三线表(带有行横标目)的绘制方法
  8. 用计算机按45乘5CE再按,2015年4月全国自学考试计算机应用基础真题
  9. c语言智能车跑道检测程序,基于金属检测的智能循迹小车设计
  10. 大数据可视化的价值意义
  11. Unity 改变下载资源商店中资源默认路径的方法
  12. Django创建超级管理员用户
  13. 威纶通触摸屏如何隐藏系统设置箭头图标及通过参数进入系统设置?
  14. PMP®项目管理|项目干系人如何管理?
  15. 华为怎么显示返回按键_苹果手机为何一直没有“返回键”?其实乔布斯生前就说出了答案!...
  16. GD32F303的PWM实现LED呼吸灯的方法
  17. 计算机开始处无法搜索内容,win10系统电脑搜索功能无法找到内容的解决方法
  18. Chart.js插件使用的笔记
  19. css中创建主轴方向,flex-direction
  20. 二值图填充原理 matlab,图像Ostu二值化原理及matlab实现代码

热门文章

  1. 介电常数常用测量方法综述
  2. Sentinel-限流 冷启动
  3. 树(二)——二叉树遍历
  4. 网络安全选择试题及答案
  5. 微信开放平台unionID 的利用(app推广转化率的解决方案)
  6. stata代码乱码、转码问题的语句
  7. Java面试题之常见十五种异常有哪些?
  8. Visio 使用常用快捷键总结
  9. Android 下实现APK加密功能
  10. 第十三届蓝桥杯省赛python(B组)赛后总结