刷題比賽

題目描述

給你四個數組A,B,C,D. 給出每個數組的初始值A[1] = 1, B[1] = 1, C[1] = 1, D[1] =1 , A[2] = 3, B[2] = 3, C[2] = 3, D[2] = 3;
有以下的遞推公式:
(1) a[k+2]=p* a[k+1]+qa[k]+b[k+1]+c[k+1]+r k^2+t * k+1+d[k];
(2)b[k+2]=u* b[k+1]+vb[k]+a[k+1]+c[k+1]+w^k+d[k];
(3)c[k+2]=x
c[k+1]+yc[k]+a[k+1]+b[k+1]+z ^ k+k+2+d[k];
(4)d[k+2]=e
d[k+1]+f*d[k];
(以上的字母p,q,r,t,u,v,w,x,y,z,e,f都是給定的常數,并保證是正整數)
由于結果很大,輸出a[k] mod k,b[n] mod k,c[n] mod k, d[n] mod k;(4<=n<=10^12)

輸入格式:

第一行兩個正整數N,K。(4<=N<=10^12,2<=K<=10^16)
第二行四個正整數p,q,r,t。
第三行三個正整數u,v,w。
第四行三個正整數x,y,z。
第五行兩個正整數e,f.
(保證p,q,r,t,u,v,w,x,y,z,e,f都是不超過100的正整數)

輸出格式:

共三行,每行一個整數。依次是這四個數組 mod K的值。

輸入樣例#1:

輸出樣例#1:

說明

矩陣乘法。

注意,中間相乘過程可能會比64位長整型的數據范圍還要大。

solution

20%的做法:

按照題目給出的式子直接模擬計算即可

60%的做法:

運用矩陣快速冪,我們需要構造出一個合格的答案矩陣和一個合格的轉移矩陣.
經過一番推演后可以得到一個13 * 13的轉移矩陣
0 1 0 0 0 0 0 0 0 0 0 0 0 ak
q p 0 1 0 1 1 0 r t 1 0 0 ak+1
0 0 0 1 0 0 0 0 0 0 0 0 0 bk
0 1 v u 0 1 1 0 0 0 0 1 0 bk+1
0 0 0 0 0 1 0 0 0 0 0 0 0 ck
0 1 0 1 y x 1 0 0 1 2 0 1 ck+1
0 0 0 0 0 0 0 1 0 0 0 0 0 dk
0 0 0 0 0 0 f e 0 0 0 0 0 dk+1
0 0 0 0 0 0 0 0 1 2 1 0 0 k^2
0 0 0 0 0 0 0 0 0 1 1 0 0 k(初始值為1)
0 0 0 0 0 0 0 0 0 0 1 0 0 1(恒為一)
0 0 0 0 0 0 0 0 0 0 0 w 0 w^k (初始值為w)
0 0 0 0 0 0 0 0 0 0 0 0 z z^k (初始值為z)
對這兩個矩陣進行n-2次快速冪即可(當然,右邊的矩陣要填上一堆0,使得這個矩陣也成為13*13的規模). (只能得60分是因為其他的點乘法運算會爆longlong)
對于65%的做法,我們把60%程序中的longlong 改為unsigned long long 即可得65分

100%的做法:

100%的做法是在60%的做法上面進行改進的,因為中途運算會爆longlong,所以我們在矩陣乘法的時候不能使用單純的乘法,應該用快速冪加法來代替乘法.
這樣就可以得100%分了.

轉載于:https://www.cnblogs.com/juruohx/p/7299595.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253823.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253823.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253823.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自動化測試用例設計原則

自動化測試用例設計原則&#xff1a;每一個用例 都是一個閉合的業務操作。用例之間要保持獨立 &#xff0c;不要有操作上的依賴關系&#xff0c;就算有也是測試數據上的依賴。第二個用例 依賴第一個用例產生的數據。轉載于:https://www.cnblogs.com/yyjiangnan/p/6149430.html

MII/MDIO接口詳解

MII/MDIO接口詳解 http://dpinglee.blog.163.com/blog/static/144097753201041131115262/

T24412 Cup#182-3 洞穴之旅

弱連通模板題&#xff0c;不過還是不會。。。 這道題在POJ2762有&#xff0c;這個出題人直接翻譯弄過來了。。。 弱連通的定義是&#xff1a;從u能到達v或從v能到達u&#xff0c;則u和v這兩個點弱連通。 顯然如果是強連通分量就一定是弱連通分量啦&#xff0c;所以可以直接縮點…

PCB相關的基礎知識

http://www.elecfans.com/article/89/92/2017/20170425510728.html轉載于:https://www.cnblogs.com/jackn-crazy/p/7300228.html

sql server 修改表結構語法大全

1.增加字段 alter table docdsp add dspcode char(200) 2.刪除字段 alter table table_name drop column column_name 3.修改字段類型 alter table table_name alter column column_name new_data_type 2.6.1. 增加字段 要增加一個字段&#xff0c;使用這條命令…

Flutter - 生成二維碼與識別二維碼

#生成二維碼 ##首先需要在pubspec.yaml:中添加 qr_flutter: ^1.1.3 其次&#xff0c;引入代碼&#xff1a; import package:qr_flutter/qr_flutter.dart; 核心代碼如下&#xff1a; child: QrImage(data: "這里是需要生成二維碼的數據",size: 100.0,onError: (ex) {p…

任意小數分頻設計

對于任意小數分頻&#xff0c;如果有PLL的話&#xff0c;直接倍頻再分頻即可&#xff1b;或常用的方法有雙模前置小數分頻和脈沖刪除小數分頻。前一種方法設計較為復雜&#xff0c;因此主要以第二種方式為主設計了一下。 任意小數均可以化為分數&#xff0c;例如要進行5.3分頻即…

Bootstrap--圓角圖片`圓形圖

轉載于:https://www.cnblogs.com/qiyiyifan/p/6159823.html

邏輯綜合——概述與基本概念

邏輯綜合系列主要說明以下問題&#xff1a; 為什么要邏輯綜合邏輯綜合的基本原理邏輯綜合需要提供哪些文件邏輯綜合過程中施加約束邏輯綜合能產生那些結果 綜合是前端設計的重要步驟之一&#xff0c;其過程是將行為描述的電路、RTL級的電路轉換到門級&#xff0c;其目的在于&a…

Swoole 源碼分析——Server模塊之初始化

前言 本節主要介紹 server 模塊進行初始化的代碼&#xff0c;關于初始化過程中&#xff0c;各個屬性的意義&#xff0c;可以參考官方文檔&#xff1a; SERVER 配置選項 關于初始化過程中&#xff0c;用于監聽的 socket 綁定問題&#xff0c;可以參考&#xff1a; UNP 學習筆記—…

linux下搭建git服務器

安裝 Git Linux 做為服務器端系統&#xff0c;Windows 作為客戶端系統&#xff0c;分別安裝 Git 服務器端&#xff1a; #yum install -y git 安裝完后&#xff0c;查看 Git 版本 [rootlocalhost ~]# git --version git version 1.7.1 客戶端&#xff1a; 下載 Git for Windows&…

mkcramfs 命令學習

mkcramfs :創建只讀文件系統 語 法 mkcramfs[必要參數][選擇參數][源目錄][目標文件]功 能mkcramfs 命令&#xff1a;用來創建CRAMFS只讀文件系統 類似命令: fdisk cramfsck mount 執行權限: 超級用戶 普通用戶 命令屬性: 磁盤維護 參數必要參數 -e 設置文件系…

對于Eclipse的正確用法

有時候我們剛剛修改了工程里的文件 但是啟動的時候它硬是說你有東西沒有聲明 而那個東西又明明在那里。。 這時候我們可以認為實際與它調用的工程關系文件&#xff08;我假想的&#xff09; 不同步。。 我們可以通過clean功能來同步實際情況和工程關系文件 所以說我們每次改了之…

邏輯綜合——工藝庫

一、庫文件的設置 運行DC時需要用到的庫文件有&#xff1a;目標庫&#xff08;target library&#xff09;、鏈接庫&#xff08;link library&#xff09;、符號庫&#xff08;symbol library&#xff09;、算術運算庫&#xff08;synthetic library&#xff09;。 1、目標庫…

weka 初練之 文本分類

0.注意weka的中文編碼RunWeka.ini-----》fileEncodingutf-81.首先對分詞后的 無新詞發現的分詞文件&#xff0c;轉換成arff文件 命令java weka.core.converters.TextDirectoryLoader -dir D:\weibo\catagory\data10W\nlpirSegment\noNI > D:\weibo\catagory\data10W\nlpirSe…

[COGS 0065][NOIP 2002] 字串變換

65. [NOIP2002] 字串變換 ★★ 輸入文件&#xff1a;string.in 輸出文件&#xff1a;string.out 簡單對比時間限制&#xff1a;1 s 內存限制&#xff1a;128 MB [問題描述] 已知有兩個字串A\$, B\$及一組字串變換的規則&#xff08;至多6個規則&#xff09;: A1\$ ->…

基與datatable的分頁

在進行分頁操作前&#xff0c;必須知道開啟服務器模式后會向服務器發送的參數的含義&#xff1a; length:告訴服務器每頁顯示的數據條數 start&#xff1a;第一條數據的起始位置 draw:繪制計數器&#xff0c;&#xff08;特殊&#xff1a;服務器接收到參數后&#xff0c;需要返…

linux sock_raw原始套接字編程

sock_raw原始套接字編程可以接收到本機網卡上的數據幀或者數據包,對與監聽網絡的流量和分析是很有作用的.一共可以有3種方式創建這種socket1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)發送接收ip數據包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|E…