当前位置: 首页 > news >正文

202309-2

http://118.190.20.162/view.page?gpid=T174

题目分析:

这道题读完题后感觉像是考察前缀和,这里回顾下什么是前缀和:https://blog.csdn.net/weixin_45629285/article/details/111146240
在这里插入图片描述

我们利用前缀和算法,就可以在O(n+m)的时间内完成。

具体分析一下怎么套前缀和模板;
我们只要画个图,就可以发现
在这里插入图片描述
每次旋转的角度和扩大的倍数这两个操作,是彼此独立的,因此我们可以用两个前缀和数组,sum1sum2,分别记录拉伸k倍和旋转。

代码如下:

#include <iostream>
#include <cmath>using namespace std;const int MAXN = 1e6+5;double k[MAXN] = {1};
double theta[MAXN] = {0.0};
double sumk[MAXN];
double sumTheta[MAXN] = {0};int main() {for (int i = 0;i < MAXN;i++)k[i] = 1,sumk[i] = 1;
//    std::cout << "Hello, World!" << std::endl;int n, m;scanf("%d%d",&n,&m);for(int i = 1; i <= n; i++){int op;scanf("%d",&op);if(op == 1){scanf("%lf", &k[i]);}else{scanf("%lf",&theta[i]);}sumk[i] = sumk[i-1]*k[i];
//        printf("%f",sumk[i]);sumTheta[i] = sumTheta[i - 1] + theta[i];}for(int i = 1; i <= m; ++i){int l, r, x, y;scanf("%d%d%d%d",&l,&r,&x,&y);double tx, ty;double tk = sumk[r] / sumk[l - 1];double ttheta = sumTheta[r] - sumTheta[l - 1];tx = tk * x;ty = tk * y;double ansx, ansy;ansx = tx * cos(ttheta) - ty * sin(ttheta);ansy = tx * sin(ttheta) + ty * cos(ttheta);printf("%f %f\n", ansx, ansy);}return 0;}

结果:

在这里插入图片描述

http://www.lryc.cn/news/257391.html

相关文章:

  • 数字图像处理(实践篇)二十 人脸特征提取
  • Python自动化:selenium常用方法总结
  • 『开源资讯』JimuReport积木报表 v1.6.6 版本发布—免费报表工具
  • 每天五分钟计算机视觉:使用1*1卷积层来改变输入层的通道数量
  • Java (JDK 21) 调用 OpenCV (4.8.0)
  • git 常用的使用方法
  • 使用Caliper对Fabric地basic链码进行性能测试
  • 一台是阿里云,一台是腾讯云,一台是华为云,一台是百度云等多种公有云混合安装K8S集群
  • 期末速成数据库极简版【查询】(3)
  • 人工智能_机器学习061_KKT条件公式理解_原理深度解析_松弛变量_不等式约束---人工智能工作笔记0101
  • 有关光伏电站绝缘阻抗异常排查分析-安科瑞 蒋静
  • 抓取真实浏览器设备指纹fingerprint写入cookie方案
  • 【华为OD题库-074】VLAN资源池-Java
  • 成都工业学院Web技术基础(WEB)实验一:HTML5排版标签使用
  • OpenAI承认ChatGPT变懒惰,正在修复该问题
  • 归并排序与自然归并排序
  • 22款奔驰GLS450升级HUD抬头显示 告别低头
  • 关于kotlin的属性委托,报错的,实际原因剖析
  • HarmonyOS4.0从零开始的开发教程11给您的应用添加弹窗
  • js 同步任务和异步任务
  • 【小白专用】Sql Server 连接Mysql 更新23.12.09
  • DIP——边缘提取与分割
  • 低代码开发:现实挑战与发展前景
  • 大数据技术7:基于StarRocks统一OALP实时数仓
  • C# WPF上位机开发(网络程序界面开发)
  • 卡码网语言基础课 | 20. 排队取奶茶
  • Angular 进阶之四:SSR 应用场景与局限
  • vue2 cron表达式组件
  • git-vscode
  • 【C++11(三)】智能指针详解--RAII思想循环引用问题