当前位置: 首页 > 编程日记 > 正文

HDU 1757 A Simple Math Problem

Problem Description

Lele now is thinking about a simple function f(x).
If x < 10 f(x) = x.
If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10);
And ai(0<=i<=9) can only be 0 or 1 .
Now, I will give a0 ~ a9 and two positive integers k and m ,and could you help Lele to caculate f(k)%m.

Input

The problem contains mutiple test cases.Please process to the end of file.
In each case, there will be two lines.
In the first line , there are two positive integers k and m. ( k<2*10^9 , m < 10^5 )
In the second line , there are ten integers represent a0 ~ a9.

Output

For each case, output f(k) % m in one line.

Sample Input

10 9999
1 1 1 1 1 1 1 1 1 1
20 500
1 0 1 0 1 0 1 0 1 0

Sample Output

45 104
矩阵快速幂,但是我没有自己推出来,感觉都好神(是你太弱了吧。。)。别忘了取模,各种地方都要取!
CODE:
#include <iostream>
#include <cstdio>
#include <cstring>
#define REP(i, s, n) for(int i = s; i <= n; i ++)
#define REP_(i, s, n) for(int i = n; i >= s; i --)
#define MAX_N 10 + 5using namespace std;int k, m;
struct node{int Mtx[MAX_N][MAX_N];
}med;void Pre_Set(){REP(i, 1, 10) scanf("%d", &med.Mtx[1][i]);REP(i, 2, 10) REP(j, 1, 10){if(i - j == 1) med.Mtx[i][j] = 1;else med.Mtx[i][j] = 0;} 
}node operator*(node a,node b){node c;REP(i, 1, 10) REP(j, 1, 10){c.Mtx[i][j] = 0;REP(k, 1, 10) c.Mtx[i][j] += a.Mtx[i][k] * b.Mtx[k][j]; c.Mtx[i][j] %= m;}return c;
}node operator^(node a,int k){if(k == 0){memset(a.Mtx, 0, sizeof(a.Mtx));REP(i, 1, 10) a.Mtx[i][i] = 1;return a;}if(k == 1) return a;node c = a ^ (k >> 1);if(k & 1) return c * c *a;return c * c;
}int main(){while(scanf("%d%d", &k, &m) != EOF){Pre_Set();if(k < 10) { cout << k % m << endl; }else {med = med ^ (k - 9);int ans = 0;REP(i, 1, 10){ans = (ans + med.Mtx[1][i] * (10 - i)) % m;}printf("%d\n", ans);}}return 0;
}

转载于:https://www.cnblogs.com/ALXPCUN/p/4590403.html

相关文章:

mariadb 内存占用优化

本文由云社区发表 作者&#xff1a;工程师小熊 摘要&#xff1a;我们在使用mariadb的时候发现有时候不能启动起来&#xff0c;在使用过程中mariadb占用的内存很大&#xff0c;在这里学习下mariadb与内存相关的配置项&#xff0c;对mariadb进行调优。 查询最高内存占用 使用以下…

windows程序设计之对话框简介1

这里先介绍下wParam和lParam&#xff0c;对于鼠标而言&#xff0c;LOWORD(wParam)和HIWORD(wParam)代表鼠标位置x,y坐标&#xff0c;对于菜单和控件而言&#xff0c;两者wParam的低字节都是各自的ID&#xff0c;即LOWORD(wParam)都是ID。两者的高字节对菜单而言是0&#xff0c;…

linux虚拟机下安装Tomcat

&#xff08;1&#xff09;首先通过挂载的方式把 tomcat的安装包从U盘上传到虚拟机中 我上传的路径是 &#xff1a;usr/tomcat &#xff08;2&#xff09; cd /usr/tomcat tar xzvf 压缩包的名字 ##进行解压&#xff08;3&#xff09;进到tomcat安装目录下的bin文件夹 ./…

unity中使用自定义shader进行光照贴图烘培无法出现透明度的坑爹问题

最近开发中在对场景进行光照贴图烘焙时发现一个坑爹问题&#xff0c;在使用自定义shader的时候&#xff0c;shader命名中必须包含Transparent路径&#xff0c;否则烘焙的时候不对alpha通道进行计算&#xff0c;烘焙出来都是狗皮膏药 比如一个shader叫 Shader "xx/UnlitAlp…

动软代码生成器教程——懒人有福了

很多时候项目必须是三层架构模式&#xff0c;但是很多繁琐的代码让多数程序员闹心……那有没有一个省时省力的工具快速的帮我们搞定三层架构呢&#xff1f;回答是肯定的&#xff0c;很早之前技术牛人李天平就开发出了这么一款工具&#xff0c;目前该工具还在不断的更新&#xf…

unity3d做简单小游戏可以吗?

可以吗&#xff1f;当然。如果是独立开发&#xff0c;主要在美工&#xff0c;这类的游戏程序简单&#xff0c;有些基础就行&#xff0c;美工要做得好可不容易&#xff0c;要是效果要求不高&#xff0c;随便在max拉几个模型吧。unity方面&#xff0c;熟悉一下&#xff0c;如果有…

逻辑覆盖测试(一)语句覆盖

语句覆盖&#xff1a; 设计测试用例时保证程序的每条语句至少执行一次。 简单来说&#xff0c;就是每个语句都覆盖一遍。 例子&#xff1a; 流程图如下&#xff1a; 测试用例如下&#xff1a; x4,z9&#xff0c;第一个if语句执行到了&#xff1b; x4,y7,第二个if语句为true…

「小程序JAVA实战」小程序的视频展示页面初始化(63)

转自&#xff1a;https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeshipinzhanshiyemianchushihua62/ 进入列表详情&#xff0c;展示点赞状态用户的名称&#xff0c;头像名称。源码&#xff1a;https://github.com/limingios/wxProgram.git 中No.15和springbo…

.NET判断字符串是否是数值型或xxx型

using System.Text.RegularExpressions; Regex digitregex new Regex("^[0-9]\d*[.]?\d*$"); if (!digitregex.IsMatch(TextBox1.Text)) { TextBox1.Text""; MessageBox.Show("只能输入数字&#xff01;","提示…

Spring.net使用说明

使用方法&#xff1a;1.在配置文件设置Spring.net 节点在配置节中&#xff0c;声明Spring.net&#xff0c;配置 context&#xff0c;objects 标签&#xff0c;来源&#xff08;type&#xff09;<!--配置节&#xff1a;主要用来 配置 asp.net框架之外的 标签&#xff0c;告诉…

逻辑覆盖测试(三)条件覆盖

条件覆盖&#xff1a;设计测试用例时应保证程序中每个复合判定表达式中&#xff0c;每个简单判定条件的取真和取假情况至少执行一次。 例子&#xff1a; 流程图&#xff1a; 测试用例&#xff1a; 程序中一共两个if语句&#xff0c;都是复合判定条件&#xff0c;其中的简单…

Linux UserSpace Back-Door、Rootkit SSH/PAM Backdoor Attack And Defensive Tchnology

catalog 0. 引言 1. Pam后门 2. SSH后门 3. Hijacking SSH 4. Hijacking SSH By Setup A Tunnel Which Allows Multiple Sessions Over The Same SSH Connection Without Re-Authentication 5. Hijacking Active SSH Screen Sessions 0. 引言 0x1: 安全攻防观点 1. Know Your …

澳大利亚多地热浪来袭 最高温度超40摄氏度

中新网1月24日电 据澳洲网报道&#xff0c;近日&#xff0c;澳大利亚多地热浪来袭&#xff0c;其中&#xff0c;南澳和维州的部分地区气温将飙升至40摄氏度以上。维州政府发布声明&#xff0c;提醒民众做好应对高温天气的准备。资料图&#xff1a;当地时间1月21日&#xff0c;澳…

Multithread 之 introduction

Why multithreading?&#xff08;摘自《win32 多线程程序设计》&#xff09;单线程程序就像超级市场中唯一的一位出纳&#xff0c;这个出纳对于小量采购可以快速结账。但如果有人采购了一大车货品&#xff0c;结账就需要点时间了&#xff0c;其他每个人都必须等待。多线程程序…

逻辑覆盖测试(四)判定/条件覆盖

判定/条件覆盖&#xff1a;测试用例的设计应满足判定节点的取真和取假分支至少执行一次&#xff0c;且每个简单判定条件的取真和取假情况也至少执行一次。 简单来说&#xff0c;就是判定覆盖和条件覆盖取交集。 例子&#xff1a; 流程图&#xff1a; 当判定覆盖和条件覆盖…

jQuery选择器的工作原理和优化

至于有那些选择器&#xff0c;在帮助手册中都有&#xff0c;自己去看&#xff0c;这篇主要是分析他的工作原理&#xff0c;而优化我们写 的选择器&#xff0c;尤其在页面内容很多的情况下&#xff0c;更应该需要优化。下边就言归正传。 每次申明一个jQuery对象的时候&#xff0…

webservice发送字符串

假设只是发送一个字符串client&#xff0c;这是很easy&#xff0c;只需要输入xfire包&#xff0c;编写接口&#xff0c;编写的实现方法。变化。 假设你要传输的数组或自定义类。到用于接口准备的需要agexis文件。更复杂。 尝试传输这些假设没有成功。在发送成功的字符串&#x…

600余名外出务工者免费乘高铁“返乡专列”回云南过春节

中新网昆明1月25日电(缪超)记者25日从中国铁路昆明局集团获悉&#xff0c;云南与广东两省人社部门近日组织开行高铁“返乡专列”&#xff0c;免费安排600多名云南籍外出务工人员乘坐高铁动车返乡过春节。图为志愿者与乘务员为外出务工人员精心准备的歌舞节目。中国铁路昆明局集…

逻辑覆盖测试(六)--路径测试

路径覆盖&#xff1a;设计足够多的测试用例&#xff0c;使得程序中所有可能的路径都被至少被执行一次。 例子&#xff1a; 测试用例&#xff1a; 思路&#xff1a; 先是都经过a&#xff0c;到一个if分支&#xff0c;可以有a 、b和 a、c&#xff0c;然后到第二个if分支&#…

浅谈MVP设计模式

最近公司在做一个医疗项目&#xff0c;使用WinForm界面作为客户端交互界面。在整个客户端解决方案中。使用了MVP模式实现。由于之前没有接触过该设计模式&#xff0c;所以在项目完成到某个阶段时&#xff0c;将使用MVP的体会写在博客里面。 所谓的MVP指的是Model&#xff0c;Vi…

C#委托与事件

之前写过一篇关于C#委托与事件的文章&#xff08;见《C#委托和事件例析》&#xff09;&#xff0c;不过还是收到一些网友的提问。所以&#xff0c;今天再换另一个角度来详解一下这个问题。 一、在控制台下使用委托和事件 我们都知道&#xff0c;C#中有“接口”这个概念&#xf…

Docker for mac安装

Mac安装Docker docker下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-mac docker for mac document: https://docs.docker.com/docker-for-mac/ 系统要求 Docker Desktop - Mac适用于OS X Sierra 10.12和更新的macOS版本。 获得Docker 稳定边缘Stable…

白盒测试--基本路径测试法

1.为什么要有基本路径测试法&#xff1f; 对于路径测试&#xff0c;最理想的情况是路径全部覆盖&#xff0c;单对于复杂的大程序要做到路径覆盖是不可能的&#xff0c;因此可以采用基本路径测试。 2.基本路径测试法的步骤&#xff1f; &#xff08;1&#xff09;画出程序的控制…

Postmortem报告

1. 每个成员在beta 阶段的实践和alpha 阶段有何改进? 2. 团队在beta 阶段吸取了那些alpha 阶段的经验教训? 在alpha阶段中&#xff0c;虽然我们团队已经对软件主要功能核心代码完成了&#xff0c;但是由于我们团队现有掌握有关于安卓开发的技术并不成熟&#xff0c;无法对软件…

是否可以人为修改发表时间

是否可以人为修改发表时间转载于:https://blog.51cto.com/14188306/2346747

关于win7_iis报500.19和500.21错误的解决方法

关于win7_iis报500.19和500.21错误的解决方法HTTP 错误 500.19 Internal Server Error的解决方法WIN7下.Net开发遇到的又一问题&#xff1a;HTTP 错误 500.19 - Internal Server Error&#xff0c;无法访问请求的页面&#xff0c;因为该页的相关配置数据无效。详细错误信息模块…

黑盒测试--因果图法

例子&#xff1a; (1)根据题目可以得到原因和结果分别是&#xff1a; &#xff08;2&#xff09;画出因果图 根据题意来画因果图&#xff0c;输入第一个字符是A或B要写成一个状态&#xff0c;且第二个字符为数字。 画因果图主要就是理清不同状态之间的关系&#xff0c;还有有…

php 学习笔记 数组1

1、一般情况下$name[tom]和$name[tom]是相同的&#xff1b;但没有引号的键不能和常量区别开&#xff0c;如&#xff1a;define(index, 5)时&#xff1b;$name[tom]和$name[tom]不同 2、双引号里的变量一般要用{}括起来是好习惯&#xff0c;如&#xff1a; echo "{$name}&q…

Linux的文件系统

一、文件的属性 linux文件属性的格式为- --- --- ---。第一位为文件的类型&#xff0c;剩下的9位&#xff0c;每三位为一组&#xff0c;分别对应文件所有者&#xff0c;文件所以者所属的用户组&#xff0c;其他人的关系。 r为可读&#xff0c;w为可写&#xff0c;x为可执行。如…

Python-100 练习题 01 列表推导式

最近打算好好练习下 python&#xff0c;因此找到一个练习题网站&#xff0c;打算每周练习 3-5 题吧。 www.runoob.com/python/pyth… 另外&#xff0c;这个网站其实也还有 Python 的教程&#xff0c;从基础到高级的知识都有。 Example-1 三位数组合 题目&#xff1a;有四个数字…