- 浏览: 120440 次
- 性别:
- 来自: 北京
最新评论
封装了矩阵类
比赛做得很郁闷,为什么别人写得很长、很罗嗦的代码可以过题,而我的总是过不了呢?...
比赛做得很郁闷,为什么别人写得很长、很罗嗦的代码可以过题,而我的总是过不了呢?...
/* * Author: rush * Created Time: 2011年01月05日 星期三 19时39分08秒 * File Name: icpc/20100105/E2.cpp */ #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <vector> #include <map> #include <set> #define out(v) cout << #v << ": " << (v) << endl using namespace std; typedef long long LL; const LL MOD = 1000000007LL; #define FOR(i, n) for (int i = 1; i <= (n); ++i) typedef vector<LL> Vec; struct Mat { LL mat[10][10], n; Mat(int _n): n(_n) { FOR(i, n) FOR(j, n) mat[i][j] = 0; } Mat one() const { Mat ans(n); FOR(i, n) FOR(j, n) ans[i][j] = (i == j); return ans; } LL* operator[](int x) { return mat[x]; } Mat operator *(Mat R) { Mat ans(n); FOR(i, n) FOR(j, n) { ans[i][j] = 0; FOR(k, n) ans[i][j] = (ans[i][j] + (LL)mat[i][k] * R[k][j] % MOD) % MOD; } return ans; } Vec operator *(Vec R) { Vec ans(10, 0); FOR(i, n) { ans[i] = 0; FOR(k, n) ans[i] = (ans[i] + (LL)mat[i][k] * R[k] % MOD) % MOD; } return ans; } Mat operator +(Mat R) { Mat ans(n); FOR(i, n) FOR(j, n) ans[i][j] = ((LL)mat[i][j] + R[i][j]) % MOD; return ans; } Mat pow(LL k) { Mat ans = one(), x = *this; while (k) { if (k & 1) ans = ans * x; k >>= 1; if (k) x = x * x; } return ans; } Mat sumpow(LL k) { // I + M + M^2 + ... + M^k if (k == 0) { return one(); } if (k % 2 == 1) { Mat mid = sumpow(k / 2); return mid + mid * pow(k / 2 + 1); } return sumpow(k - 1) * (*this) + one(); } }; int T; int N, R, K; Vec S(10, 0), a(10, 0); int main() { scanf("%d", &T); while (T--) { scanf("%d%d%d", &N, &R, &K); FOR(i, R) scanf("%lld", &S[i]); for (int i = R; i >= 1; --i) scanf("%lld", &a[i]); Mat A(R); FOR(i, R - 1) A[i][i + 1] = 1; FOR(j, R) A[R][j] = a[j]; Vec C = A.pow(K - 1) * S; Vec D = A.pow(K).sumpow(N - 1) * C; printf("%lld\n", D[1]); } return 0; }
发表评论
-
lower_bound and upper_bound
2012-02-09 00:36 1182/** * @brief Finds the ... -
HDU 3954
2012-02-05 10:43 863线段树变种,也是在2logn段上面做文章 /* * ... -
HDU 4027
2012-02-04 22:09 885线段树变种 在2logn段上面做文章,swap(x, y)太阴 ... -
ICPC编码建议
2011-10-28 09:52 937写代码最重要的是清晰,包括思路的清晰和代码结构的清晰。我们无法 ... -
[转载]TopCoder插件
2011-09-08 22:13 1006转载自:http://acm.cugb.edu.cn/blog ... -
hdu 3236
2010-12-12 14:10 825终于能过这道题了,算是背包必做题之一吧 /* * Au ... -
pku 1018
2010-12-11 15:18 645写了两三个版本,最后这个效率最高 #include < ... -
布斯(Booth)乘法
2010-10-07 19:59 1169源自http://watashi.ws/blog/1515/z ... -
高斯消元
2010-10-07 14:18 833import java.util.*; import j ... -
整数划分
2010-10-07 10:38 858#include <cstdio> #inc ... -
Treap
2010-09-18 22:19 1004// Treap // Tested: bjtu1057 ... -
矩阵快速幂
2010-09-18 14:24 1071typedef LL matrix[55][55]; ... -
maximum clique 最大团
2010-09-02 18:12 1166最大团模板 #include <cstdio> ... -
计算Jacobi符号
2010-08-31 13:15 1332Quadratic reciprocity The Jacob ... -
Java 高效I/O
2010-08-19 16:54 806static BufferedReader cin = ... -
DLX pku 3076
2010-08-11 23:45 918标准数独,精确覆盖 // pku3076.cpp #in ... -
DLX hust 1017
2010-08-11 16:50 878“精确覆盖”问题 #include <cstdio& ... -
DLX hdu 3498
2010-08-11 16:48 1079“多重覆盖”或“重复覆盖”问题 #include < ... -
hdu 3509
2010-08-09 11:22 1024推导公式的题目,矩阵幂关键就在于构造系数矩阵 备忘: S(n, ... -
RMQ模板
2010-07-28 11:04 1218/* * Author: rush * Creat ...
相关推荐
cnn-bilstm-attention-time-series-prediction_keras-mastercnn-bilstm-attention-time-series-prediction_keras-mastercnn-bilstm-attention-time-series-prediction_keras-mastercnn-bilstm-attention-time-series...
在本文中,我们将深入探讨如何使用长短期记忆网络(LSTM)进行股票价格预测,以及在实际项目"Stock-Price-Prediction-LSTM-master 2_LSTM_LSTM股票预测_LSTM股票预测_lstm"中可能涉及的技术细节。LSTM是一种特殊类型...
标题中的“LSTM-Neural-Network-for-Time-Series-Prediction-master”暗示了这是一个关于使用长短期记忆(LSTM)神经网络进行时间序列预测的项目。时间序列预测是一种利用历史数据来预测未来的统计方法,特别适合...
CNN-Prediction-Based-Reversible-Data-Hiding-main CNN-Prediction-Based-Reversible-Data-Hiding-main CNN-Prediction-Based-Reversible-Data-Hiding-main CNN-Prediction-Based-Reversible-Data-Hiding-main
"Black-Friday-Sales-Analysis-and-Prediction"这个项目专注于对黑色星期五销售数据的深入理解和预测,这是一个典型的业务场景,它可以帮助企业理解消费行为,优化库存管理,制定营销策略。下面将详细介绍这个项目...
Data-Driven Prediction for Industrial Processes and Their Applications (Information Fusion and Data Science) By 作者: Jun Zhao – Wei Wang – Chunyang Sheng ISBN-10 书号: 3319940503 ISBN-13 书号: ...
使用LSTM网络进行股市预测例程 US-Stock-Market-Prediction-by-LSTM 有一定参考价值,供参考。
COVID-19世界疫情分析源代码&数据集,主要包括疫情数据的获取,对获取数据的预处理,数据分析可视化——matplotlib、PyEcharts绘制柱形图、折线图、地图、玫瑰图、动态条形图,使用SIR模型对美国疫情数据进行模拟...
标题 "kaggle_porto-seguro-safe-driver-prediction.zip" 暗示这是一个关于 Kaggle 数据竞赛的项目,目标是预测porto-seguro公司的保险客户是否为安全驾驶者。Porto Seguro是一家巴西的保险公司,他们提供了大量的...
标题 "cnn-bilstm-attention-time-series-prediction_keras-master.zip" 暗示了一个使用Keras库实现的深度学习模型,该模型结合了卷积神经网络(CNN)、双向长短时记忆网络(BiLSTM)以及注意力机制(Attention),...
avazu-ctr-prediction ctr预估公开数据集 avazu avazu-ctr-prediction ctr预估公开数据集 avazu avazu-ctr-prediction ctr预估公开数据集 avazu avazu-ctr-prediction ctr预估公开数据集 avazu avazu-ctr-prediction...
在这个名为“COVID-19预测”的项目中,我们聚焦于使用时间序列分析和机器学习方法来预测COVID-19疫情的发展。这个压缩包包含了必要的数据集以及源代码,供研究者和开发者进行疫情预测和数据分析。...
本资料包"Bearing-fault-prediction-master.zip"专注于轴承故障预测,主要涉及数据分析这一核心领域。 在数据分析领域,轴承故障预测通常通过收集振动数据、温度数据等传感器信号,利用先进的数据处理方法和机器...
本文将深入探讨一个名为"Video-frame-prediction-by-multi-scale-GAN-master.zip"的项目,该项目是用Python语言和Chainer框架实现的基于生成对抗网络(GAN)的视频帧预测模型。 生成对抗网络(GANs)是由Ian ...
标题“LSTM-Neural-Network-for-Time-Series-Prediction_LSTM_股票预测_921212a”表明我们关注的主题是使用长短期记忆网络(LSTM)进行时间序列预测,特别是应用于股票价格预测。LSTM是一种特殊的循环神经网络(RNN...
标题 "porto-seguro-safe-driver-prediction.zip" 指的是一个数据压缩包,用于进行 Porto Seguro 的安全驾驶员预测挑战。这个挑战通常涉及到利用机器学习或深度学习技术预测汽车保险客户的理赔风险,以便保险公司能...
Review-Helpfulness-Prediction, 自动检测检查helpfulness项目 使用 评估Helpfulness预测介绍:自动查找有用评论的项目。利用文本挖掘技术实现自然语言处理。情感分析和机器学习技术。语言:python 。( 标准库:xlrd...
本项目"Stock-Market-Prediction-master_stock_"显然旨在使用循环神经网络(RNN)来预测股票价格,这是一种常见的人工智能技术,用于处理序列数据。下面将详细介绍这个项目可能涉及的知识点。 首先,我们要理解**...