Description

神犇heheda最近得到了UOJ抱枕,蒟蒻yts1999想要玩。于是heheda给yts1999出了一道题:
一个长度为2n+2的整数数列 按照下式定义:
A0=0
A1=C
Ai+2=(Ai+1+Ai) Mod M (0<=i<=2*N)
现有n个平面向量v1…vn:
V1=(A2,A3),V2=(A4,A5)…Vn=(A2n,A2n+1)
集合S的定义如下:

其中”vi•vj”表示向量vi和vj的数量积。
求S集合中不同元素的个数是多少。答案对M取模。
heheda告诉yts1999,只要他做出了这道题,她就可以把抱枕借给他玩一会。然而yts1999实在是太弱了不会做,于是向你求助。
Input

输入数据包含一行三个整数C,M和n,分别表示a1的值,模数和平面向量的个数,每两个数之间用一个空格隔开。
Output

输出一行一个整数表示答案对M取模后的值。
Sample Input

4 5 3
Sample Output

2
HINT

数列为{0,4,4,3,2,0,2,2},v1=(4,3),v2=(2,0),v3=(2,2)。

v1•v2 mod M=8, v2•v3 mod M=4, v1•v3 mod M=4。

对于100%的数据,1≤C≤10^9,1≤M≤10^9,1≤n≤3*10^5

Source

By yts1999

类Fib数列和Fib数列有个性质,将c看成f1f_1
c×fn+m+1=fn×fm+fn+1×fm+1c\times f_{n+m+1}=f_n\times f_m + f _{n+1} \times f_{m+1}

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 300010
using namespace std;
long long f[MAXN<<2],sta[MAXN<<2];
int c,m,n,cnt;
int main()
{cin>>c>>m>>n;f[0]=0;f[1]=c;if (m==1)   return puts("1"),0;for (int i=2;i<=(n<<2);i++){f[i]=(f[i-1]+f[i-2])%m;if ((i&1)&&i>6) sta[++cnt]=f[i]*c%m;}sort(sta+1,sta+cnt+1);int t=cnt;cnt=0;for (int i=1;i<=t;i++)  if (sta[i]!=sta[i-1]||i==1) sta[++cnt]=sta[i];cnt%=m;cout<<cnt<<endl;
}

【BZOJ4414】数量积相关推荐

  1. matlab求两向量夹角_高中数学《平面向量的数量积》说课稿

    高中数学<平面向量的数量积>说课稿 作为一位无私奉献的人民教师,有必要进行细致的说课稿准备工作,借助说课稿可以让教学工作更科学化.那么写说课稿需要注意哪些问题呢?以下是小编为大家收集的高中 ...

  2. 向量数量积公式_多法 | 向量数量积相关最值问题的常见处理方法

    近日QQ群更新的部分内容如下高中11大类86个易错点全梳理(185页Word)恒成立涉及10大类40小类题型梳理(100页Word)高中数学10大专题100个考点配例题全梳理2020高考真题分类汇编理 ...

  3. Problem D: 编程题B-向量的数量积

    Problem D: 编程题B-向量的数量积 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 164  Solved: 148 Description ...

  4. 乘法/积运算和符号(点乘/内积/数量积,叉乘/向量积,矩阵乘法,Hadamard, Kronecker积,卷积)一网打尽

    之前一直混淆于各种乘法和积运算中,不得其解,所以花了点功夫整理一下. 名称 符号 Latex 运算 应用 意义 点乘/内积/数量积 ⋅\cdot⋅或∙\bullet∙ \cdot或\bullet a⃗ ...

  5. 点乘/内积/数量积;叉乘/向量积;矩阵乘法;哈达马积;克罗内克积;卷积

    # 1. 符号解释 | 名称 |  符号 | Latex | 运算     |  应用 | 意义 | |--|--|--|--|--|--| | 点乘/内积/数量积 | $⋅$ 或 $\bullet$ ...

  6. 【数学计算】点乘/点积/内积/数量积/叉乘/外积/叉积/向量积

    序言 区分一下这几个概念 1. 点乘 点乘 = 点积 = 内积 = 数量积 dot product = inner product = scalar product a ⃗ = ( x 1 , y 1 ...

  7. 8.0.高等数学3-向量的乘法运算(数量积、向量积与混合积)

    向量的乘法运算 问题的引入 数量积(点积) 定义 几何关系的定理1 夹角余弦求法 柯西施瓦茨不等式 三维向量 正交垂直判断 数量积的运算规律 例1 例2 向量的投影 例4 向量积(叉积)(行列式) 性 ...

  8. 电子计算机应用地质地貌,岩土基础整理 一、高数24 1、空间解析几何与向量代数 两点间的距离,向量数量积,向量向量积,平面方程,两平面夹角,点到平面的距离,点... - 雪球...

    来源:雪球App,作者: 超级奶爸xujunhorse,(https://xueqiu.com/3442498082/131579485) 一.高数24 1.空间解析几何与向量代数 两点间的距离,向量 ...

  9. python求数列数量积_python中矩阵运算(乘法和数量积)

    # ============================================================================= python中矩阵运算分为两种形式,一是 ...

  10. matlab求两向量夹角_初学讲义之高中数学十四:向量的数量积

    上篇讲了向量的基本概念和简单的加减运算,这部分的数学运算与几何图形变换之间的联系是非常直观的,理解起来非常容易 本篇讲的内容在数学运算与几何图形变换之间的联系不那么直观,需要花功夫反复琢磨运算的数学意 ...

最新文章

  1. iOS开发-获取设备型号信息
  2. rstudio 修改代码间距_Windows电脑使用Rstudio会有多少错误呢
  3. Linux 常用检测命令
  4. 从php传过来的是字符串吗,PHP 字符串
  5. INamingContainer接口解决多个自定义控件ID冲突
  6. 控件的WM_NOTIFY消息映射
  7. (操作系统题目题型总结)第三章:同步与互斥
  8. matlab向量相减代码,matlab转c++代码实现(主要包含C++ std::vector,std::pair学习,包含数组与常数相乘,数组相加减,将数组拉成一维向量等内容)...
  9. matlab波纹噪声图像的平滑,matlab图像水波纹
  10. Linux下多网卡同网段多IP网络分流设定方法
  11. Pyecharts+高德地图实现3D地图效果
  12. 考研807程序设计C语言教程,中央财经大学
  13. ossec支持mysql数据库_开源入侵检测工具ossec安装配置(HIDS)
  14. 看了知乎,直呼牛逼 !
  15. 解决go语言热部署组件fresh安装问题
  16. 苹果电脑基于Android File Transfer for mac连接Android设备
  17. 分布式共识算法随笔 —— 从 Quorum 到 Paxos
  18. httpclient请求webservice接口
  19. HTML 学习手册(常用的标签)
  20. QML显示摄像头视频的解决方案

热门文章

  1. linux超时设置函数,I/O操作上设置超时之alarm闹钟法
  2. python实现语音机器人聊天
  3. 虚拟机安装麒麟操作系统网络设置
  4. Tomcat 服务器搭建
  5. BootStrap表格鼠标悬停颜色修改
  6. 根据url生成二维码,扫描打开url的两种方法编辑器
  7. Take-Two同意斥资127亿美元收购Zynga,或成史上最大游戏并购交易
  8. 无线渗透(下)—企业级WPA破解
  9. java文件一行一行读取_java一行一行写入或读取文件
  10. 基于opencv的图片文字识别实战