hdu5015(2014西安网赛) 233 Matrix

国央企创新负责人如何快速识别关键技术成果并推动落地?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

        题意:一个矩阵M,M[i][j]=M[i-1][j]+M[i][j-1],就像杨辉三角一样。矩阵的第一行是0,233,2333,23333......,第一列由输入给出。求矩阵第n行m列的值模10000007后的数。

        思路:矩阵快速幂。比赛的时候,隐约觉得这题是矩阵快速幂,但是不会写,因为以前没构造过矩阵。。学会这题真心涨姿势。

        解题过程是这样的。除去第一行,把第一列看成是一个列向量v(由输入的那些数组成),v=(a1,a2,a3......)。然后我们可以往右推,看看每推一列,这个向量发生了什么,容易得到第二列(a1,a1+a2,a1+a2+a3......),可以把它看成是(b1,b2,b3......),继续往后推,还是有这样的规律。我们就可以构造如下方阵。


1 0 0 0 ...

1 1 0 0 ...

1 1 1 0 ...

1 1 1 1 ...

......

只要该元素参与求和,对应的方阵上的元素就是1,否则为0。

        加上第一行以后,容易发现第一行每个元素是上一个元素乘以10再加上3,所以完整的列向量就是(a1,a2,a2,...,23,3)。完整的方阵是:

1 0 0 0 ... |10 1 

1 1 0 0 ... |10 1

1 1 1 0 ... |10 1

1 1 1 1 ... |10 1

......      ... | ...

--------------------

0 0 0 0 ... |10 1

0 0 0 0 ... |  0 1

        最后就是矩阵快速幂,求方阵的m次方,右乘上列向量,取结果的第n个数,完成。一句话总结:矩阵真是描述变换的好工具!


#include <iostream>           
#include <stdio.h>           
#include <cmath>           
#include <algorithm>           
#include <iomanip>           
#include <cstdlib>           
#include <string>           
#include <string.h>           
#include <vector>           
#include <queue>           
#include <stack>           
#include <map>         
#include <assert.h>
#include <set>         
#include <ctype.h>                
#define ll long long       
#define max3(a,b,c) max(a,max(b,c))       

using namespace std; 

const ll mod=1E7+7;

struct mat{
	ll v[16][16];
	mat(){
		memset(v,0,sizeof(v));
	}
};

mat mat_mul(mat a,mat b,int siz){
	mat re;
	for(int i=0;i<siz;i++){
		for(int j=0;j<siz;j++){
			for(int k=0;k<siz;k++){
				re.v[i][j]+=a.v[i][k]*b.v[k][j];
				re.v[i][j]%=mod;
			}
		}
	}
	return re;
}

mat mat_pow(mat m,int n,int siz){
	mat re;
	mat tmp=m;
	for(int i=0;i<siz;i++){
		re.v[i][i]=1;
	}
	while(n){
		if(n&1){
			re=mat_mul(re,tmp,siz);
		}
		tmp=mat_mul(tmp,tmp,siz);
		n>>=1;
	}
	return re;
}

int main(){
	int n,m;
	while(cin>>n>>m){
		mat vec;
		mat a;
		for(int i=0;i<n;i++){
			cin>>vec.v[i][0];
		}
		vec.v[n][0]=23;
		vec.v[n+1][0]=3;
		
		for(int i=0;i<n;i++){
			for(int j=0;j<=i;j++){
				a.v[i][j]=1;
			}
			a.v[i][n]=10;
			a.v[i][n+1]=1;
		}
		a.v[n][n]=10;
		a.v[n][n+1]=1;
		a.v[n+1][n+1]=1;
		
		mat am=mat_pow(a,m,n+2);
		mat ans;
		ans=mat_mul(am,vec,n+2);
		
		cout<<ans.v[n-1][0]<<endl;;
	}
	return 0;
}


大麦网抢票协议逆向分析:从Web安全到高并发风控实战 在当今高并发Web应用场景下,理解网络协议交互与反爬虫机制是后端开发和系统架构设计的核心技能。其基本原理涉及客户端与服务器之间通过HTTP/HTTPS协议进行数据交换,关键环节包括请求参数构造、身份认证与会话管理。这一技术的核心价值在于保障系统安全与公平性,通过动态令牌、签名算法及设备指纹等多重手段,有效抵御自动化脚本攻击。典型应用场景包括票务系统、电商秒杀等需要严格管控资源访问的高并发业务。本文以热门票务平台为例,深入剖析其**请求链与令牌体系**及**行为生物特征分析**等风控策略,通过实战演示协议逆向 阅读详情

相关推荐

VS2022错误列表高效处理:从复制到Excel表格的完整指南

本文详细介绍了在Visual Studio 2022中高效处理错误列表的实用技巧,重点讲解了如何将错误信息一键复制并粘贴到Excel表格中。通过基础操作、自定义视图、筛选功能及常见问题解决方案,帮助开发者将杂乱的编译错误整理成清晰、可排序、可筛选的数据表,极大提升了团队协作、错误分析和项目管理的效率。

weixin_28837817的博客 359

Hdu5015 (233 Matrix)

Hdu5015 (233 Matrix) 这题是今年西安网络赛的一题,当时真是想不出来,竟然在推第n行m列的通项公式...后来被学长A掉,说是矩阵快速幂,于是赶紧脑补了一下。 我现在理解的大概就是构造前一个矩阵,一般是一行的,是初始的信息,比如斐波纳契数列的(f[2] f[1]),然后成上一个方阵,这个方阵也需要根据不同的题进行构造,...

weixin_30242907的博客 151

从零构建2.4G无线通信系统:MSPM0G3507与NRF24L01的深度协同设计

本文详细介绍了基于MSPM0G3507微控制器与NRF24L01射频模块构建2.4G无线通信系统的深度协同设计方案。内容涵盖系统架构、SPI通信优化、功耗管理、抗干扰机制及中断/DMA高效利用,为工业物联网应用提供高可靠、低功耗的无线传输解决方案。

rice5的博客 821

233 Matrix hdu 5015 矩阵快速幂

Problem Description In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23333, or 233333 … in the same meaning. And here is the question: Suppose we have a matrix ca...

loooooog的博客 227

西门子Industrial Copilot实战:5个工业场景下的AI效率提升案例

本文通过五个工业场景实战案例,深入解析西门子Industrial Copilot如何将工业智能转化为实际生产力。从自动化配置、预测性维护到能源优化与人机交互,这位AI助手显著缩短工程周期、提升设备可用率并降低运营成本,展示了其在工业领域系统化、工程化的落地价值。

3c4x5z6v7b的博客 927

Camera(5)metadata

Metadata 是整个 Android camera 中类似于高楼大厦中的管道系统一样,贯穿了整个 Camera 的 Framework 和 vendor HAL。Metadata 里面包含了所有的控制、参数、返回值等等。Metadata分为Android原生的Metadata和芯片商或者用户自定义的Metadata,即Android Tag和Vendor Tag。Vendor Tag在Hal中定义,并在camx和chi目录中使用。

qq_55893245的博客 3052

hdu 5015 233 Matrix 2014年西安网络赛I题

233 Matrix Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 707    Accepted Submission(s): 430 Problem Description In our daily life we

哇哈哈的专栏 567

基于 YOLO + SAM 的自动图像标注实战

摘要: 本文提出一种基于YOLO检测和SAM分割的自动化数据标注流水线方案,通过YOLO定位目标并生成检测框,再以检测框为提示驱动SAM完成精细分割,最终输出YOLO格式的标注文件。该方案将人工标注升级为半自动流程,显著提升标注效率,尤其适用于多类别、大规模图像的实例级标注需求。代码模块化设计支持模型灵活替换,并集成异常处理与进度可视化功能。虽依赖YOLO检测质量且对小目标存在局限,但作为工程落地方案,可有效降低私有数据集构建成本,适用于工业检测、遥感等场景的冷启动标注。

qq_64366203的博客 1146

2014西安网络预选赛1009(矩阵快速幂)hdu5015

233 Matrix Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 182    Accepted Submission(s): 116 Problem Description In our daily lif

cq_phqg 834

CAPL概述与环境搭建

CANoe和CANalyzer是Vector公司开发的两款用于汽车电子系统开发和测试的工具。CANoe主要用于网络开发、仿真和测试,而CANalyzer则主要用于网络分析和诊断。两者都支持CAPL脚本语言,可以用于编写复杂的测试脚本和仿真模型。CAPL Browser是CANoe/CANalyzer中用于编写、编辑和调试CAPL脚本的工具。它提供了一个集成的开发环境,支持语法高亮、代码自动补全、调试等功能。菜单栏:包含文件操作、编辑、编译、调试等功能。工具栏。

闲人编程的博客 1664

基于Simulink的永磁同步电机容错控制(缺相容错)

本文基于Simulink平台,详细介绍了永磁同步电机(PMSM)缺相容错控制的仿真实现方法。针对逆变器开路故障导致的缺相问题,提出"检测-重构-补偿"三阶段控制策略:采用电流阈值法快速检测故障(<5ms),重构αβ坐标系实现两相矢量控制,并通过谐波电流注入抑制转矩脉动(<8%)。仿真结果表明,该方法能有效维持故障后电机运行,转速波动<3%,满足电动汽车等关键应用的可靠性需求。文章包含完整的Simulink建模步骤、MATLAB函数代码及参数设置,为工程实践提供了可复现的

xiaoheshang_123的博客 146

UVa1646 Edge Case

题意:n个节点组成一个圈,求pi

A Cube Master 1527

心理学量表汇总 50多个 附下载

目录一、心理健康与精神病态量表二、行为问题量表三、人格评估量表四、智力测验一、心理健康与精神病态量表1.一般症状自评量表(SCL-90)症状自评量表 (The self-report symptom inventory ,Symptom checklist ,90,简称 SCL90) 有 90 个评定项目 , 每个项目分五级评分 , 包含了比较广泛的精神病症状学内容, 从感觉、 情 感、思维、意识、行为直至生活习惯、人际关系、饮食等均有涉及,能准确刻划被试的自觉 症状,能较好地反映被试的问题及其严重程度和变

南七小僧的学海无涯 1904

codeforces memsql Start[c]UP 2.0 C. Magic Trick

题意:有m副相同的牌,每副牌有n张。你在这n*m张牌里面c

A Cube Master 1396

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

UVa10539 Almost Prime Numbers

题意:输入两个整数L,U,统计区间[L,U]中

A Cube Master 1381

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

2014-2015 ACM-ICPC, Asia Xian Regional Contest F Color

Color         有n朵花排成一列,m种颜色,给这些花染色,使得恰好有k种颜色,且相邻的花颜色不同,问有多少种染色法。         首先必须从m种颜色中选出k种,这部分有C(m,k)种选法。然后第一朵花可以染成k种颜色,后面的所有花都能染成k-1种颜色,也就是k*(k-1)*...*(k-1)。但是这样不能保证整个过程中k种颜色全部用到了。于是需要根据容斥原理做一

A Cube Master 1099

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TopCoder SRM 697 div1

题目要求abiimodpi=0a_i^{b_i}modp_i = 0,也就是aia_i的每个素因子个数的bib_i倍都大于等于pip_i相应的因子个数。其实我们可以让aia_i只有一个素因子,比如说2,也就是如果存在解,那么一定存在aia_i均为2的整数幂的解。   设sum=∑i=0n−1aisum=\sum_{i=0}^{n-1}{a_i}   我们得到一组不等式,对于所有的ii有ai×

A Cube Master 1048

UVa 1645 Count

题意:输入n,统计有多少个n个结点的有根树,使得每个深度中所有结点

A Cube Master 931

UVa557 - Burger

题意:有n个牛肉堡和n个鸡肉堡

A Cube Master 930

hihocoder 1142 三分·三分求极值

三分去逼近一个凹/凸函数,很好的思想!这题要注意的是,循环终止的条件是,取得这两个点足够近(不是x坐标足够近)。 #include #include #include #include #include #include #include #include using namespace std; const double eps = 1e-4; double a,b,c,

A Cube Master 921

快速傅里叶变换(FFT)

首先说一下我用FFT做什么,我要做的是多项式乘法,或者说,加速多项式乘法。   考虑多项式A(x)=∑j=0n−1ajxjA(x)=\sum\limits_{j=0}^{n-1}a_jx^j,它一共有nn项,我们称它的次数界为nn。假设我们有两个次数界为nn的多项式A(x)A(x)和B(x)B(x),要求它们的和是非常简单的,只需要将对应的系数相加,复杂度为O(n)O(n)。如果要求他们的积,则需

A Cube Master 886

Codeforces Round #259 (Div. 2) C. Little Pony and Expected Maximum

C. Little Pony and Expected Maximum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Twilight Sparkle was pla

A Cube Master 844

Codeforces Round #301 (Div. 2) E

E Infinite Inversions         一个无穷的数列1,2,3......进行n(n         考虑到交换的数可能比较大,但是交换的次数相对少,可以用离散化解决。离散化以后,模拟一下操作。然后逆序对可以分为两部分考虑,一部分是被交换了的数之间的逆序对,另一部分是被交换的数与没交换的数之间的逆序对。在这个数列中,每个数是唯一的,用离散化后的值借助树状数组可以得出被交换

A Cube Master 758

UVa10622 Perfect P-th Powers

题意:对于整数x,如果存在zheng'shu

A Cube Master 746

hdu5047(上海网赛1006)Sawtooth

题意:一个矩形画布。在上面画“M”,问h 思路:

A Cube Master 728

UVa1647 Computer Transformation

题意:初始串为1,每一步会将所有0bian

A Cube Master 719
上一篇: poj 3150 Cellular Automaton
下一篇: UVa11021 Tribles
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值