hdu 5607 BestCoder Round #68 (矩阵快速幂)

Grok 4.1技术解析:强化学习跃迁与人格一致性建模 大语言模型正从‘答得对’迈向‘信得过’,其核心演进逻辑在于强化学习(RLHF)的深度重构与人格一致性建模能力的工程落地。传统RLHF依赖人工打分与浅层偏好信号,而新一代系统如Grok 4.1通过高阶奖励模型、反事实扰动评估和因果锚定机制,实现对事实性、情感适配与逻辑连贯性的多维归因式优化。这种技术升级显著降低幻觉率、提升用户信任时长,并支撑Fast/Thinking双模式动态协同——本质是人机协作效率的范式转移。在客服、医疗咨询、企业知识管理等强交互、高可信场景中,该能力直接转化为响应采纳率与问题闭环率的实 阅读详情

题意:

graph

 
 Accepts: 9
 
 Submissions: 61
 Time Limit: 8000/4000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)
问题描述
在一个NN个点(标号11~nn),MM条边的有向图上,一开始我在点uu,每一步我会在当前点的出边中等概率的选一条走过去,求走了恰好KK步后走到每个点的概率.
输入描述
第一行两个正整数N,MN,M,表示点数和边数.
接下来MM行,每行两个正整数X,YX,Y.表示一条XX向YY的一条有向边(保证没有重边和自环).
接下来一个正整数QQ,表示询问个数.
接下来QQ行,每行两个正整数u,Ku,K,表示开始的点和步数.
N \leq 50, M \leq 1000, Q \leq 20, u \leq n, K \leq 10^{9}N≤50,M≤1000,Q≤20,u≤n,K≤10​9​​.
每个点保证至少有一个出边.
输出描述
QQ行,每行NN个数字,用空格隔开,第ii个数字表示从uu开始走KK步到ii的概率.
考虑到输出的答案可能会有精度问题,经过一定的分析后可以发现答案一定可以被表示成\frac{X}{Y}​Y​​X​​的形式,你只需输出X \times Y^{10^9+5} \ mod \ (10^9+7)X×Y​10​9​​+5​​ mod (10​9​​+7)的值即可.

在每行后面多输出一个空格,否则可能会使你PE.
输入样例
3 2
1 2
1 3
1
1 1
输出样例
0 500000004 500000004 
Hint
这是一个三个点,两条边的有向图,它们分别是(1->2,1->3)(1−>2,1−>3).现在在1号点,走了一步后,有1/2的概率走到了2,有1/2的概率走到了3,本来应该输出 0 0.5 0.5
而根据上面所说的,应输出1*2^{10^9+5} \ mod \ (10^9+7)=5000000041∗2​10​9​​+5​​ mod (10​9​​+7)=500000004.

思路:

矩阵经典问题:求从i点走k步后到达j点的方案数(mod p)。

本题输出X/Y,可以看成X是u走k步到j的方案数,Y是从u走k步的所有方案数

于是对矩阵先进行处理,即给m[i][j]乘上节点i的出度的1e9+5次方。

(ma.m[i][j]*(ll)pow_mod(g[i],1e9+5,MOD))%MOD;

再用矩阵快速幂即可



#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
typedef long double ld;
const ld eps=1e-10;
const int inf = 0x3f3f3f;
const int maxn = 55;
const int MOD = 1e9+7;
ll n;
int g[55];
struct Matrix
{
    ll m[maxn][maxn];
    Matrix()
    {
        memset(m,0,sizeof(m));
    }
};

Matrix multi(Matrix a,Matrix b,ll mod)
{
    Matrix tmp;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            for(int k = 1; k <= n; k++)
            {
                tmp.m[i][j] = (tmp.m[i][j]+(a.m[i][k] * b.m[k][j])%mod)%mod;
            }
        }
    }
    return tmp;
}

Matrix Pow(Matrix a,int m,int p)
{
    Matrix t;
    for(int i = 1; i <= n; i++)
        t.m[i][i] = 1;
    while(m)
    {
        if(m & 1)
        {
            t = multi(t,a,p);
            m-=1;
        }
        a = multi(a,a,p);
        m >>= 1;
    }
    return t;
}

ll pow_mod(ll a,ll m,ll p)
{
    a %= p;
    ll t = 1;
    while(m)
    {
        if(m & 1)
        {
            t = t * a%p;
            m-=1;
        }
        a = a*a%p;
        m >>= 1;
    }
    return t%p;
}


int main()
{
    ll m;
    int a,b;
    int q,k,u;
    while(scanf("%I64d%I64d",&n,&m) != EOF)
    {
        Matrix ma;
        memset(g,0,sizeof(g));
        for(int i = 0; i < m; i++)
        {
            scanf("%d%d",&a,&b);
            ma.m[a][b] ++;
            g[a] ++;
        }
        for(int i = 1; i <= n; i++)
        {
            for(int j = 1; j <= n; j++)
            {
                ma.m[i][j] = (ma.m[i][j]*(ll)pow_mod(g[i],1e9+5,MOD))%MOD;
            }
        }
        scanf("%d",&q);

        while(q--)
        {
            scanf("%d%d",&u,&k);
            Matrix tans =Pow(ma,k,MOD);
            for(int j = 1; j <= n; j++)
            {
                printf("%I64d ",tans.m[u][j]%MOD);
            }
            printf("\n");
        }
    }
    return 0;
}



SCRFD算法解读及环境安装实践 SCRFD检测算法及环境安装 阅读详情

相关推荐

PLL锁相环基础知识(一)

本文介绍了锁相环(PLL)的核心组件及其工作原理,重点阐述了压控振荡器(VCO)的结构与调谐机制。VCO作为PLL的关键部分,通过变容二极管实现频率调谐,但易受温度、电压等因素影响稳定性。文章详细讲解了VCO的谐振电路原理、硅基集成方案,以及通过分频器和调制器实现的频率控制技术。特别分析了整数型和分数型N分频器的差异,指出高阶德尔塔-西格玛调制器可有效降低分数杂散。文章还探讨了预分频器的应用及其对频率分辨率的影响,揭示了PLL通过反馈环路实现频率锁定的基本原理。

weixin_49761275的博客 3029

BestCoder Round #68 (div.2) 总结

A: geometry    Accepts: 324    Submissions: 622  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) 问题描述 在平面直角坐标系上有一个点PP, 他的坐标是(x, y)(x,y). 有一条

小马的博客 830

Zotero搭配CNKI.js插件:一键批量下载知网文献的完整教程(附常见问题解决)

本文提供Zotero搭配CNKI.js插件实现知网文献批量下载的完整教程。详细介绍了从环境准备、插件安装到实战操作的全流程,并针对常见问题提供解决方案,旨在帮助科研人员高效构建自动化文献管理工作流,显著提升文献收集与整理效率。

e4f5g6h7的博客 1200

HDU 5318 (dp+矩阵快速幂优化)

The Goddess Of The Moon Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 605    Accepted Submission(s): 259 Problem Description Chan

努力 2453

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案

本文详细介绍了如何在ROS和Gazebo仿真环境中,通过配置和调优Ego-Planner算法,实现无人机的动态避障功能。文章深入解析了其基于局部梯度优化的核心思想,提供了从环境搭建、参数详解到代码集成的完整实践指南,并分享了实战排错经验,旨在彻底解决无人机在复杂动态场景中的碰撞问题。

weixin_29031161的博客 1628

QT-使用ECharts显示地图,还有更多惊艳的图表等待你的使用

QT-使用ECharts显示地图前言一、使用步骤1.下载示例2. QT使用HTML文件配置3.使用HTML文件4. 数据交互及自适应总结注意:这个地图是百度的在线地图,需要百度API密钥和在联网的状态下使用。离线使用图表 前言 我上文QT图表chart-饼状图,使用qt自带的图表库charts来显示图表,实现数据可视化,但是QT自带的图表库显示效果并不佳,通俗说,就是不好看。 然而,有这么一个开源图表库,图表种类极多,并且效果良好,能够实现具有很好的视觉冲击的数据可视化。 它就是Apache ECharts

博咯的博客 4896

BestCoder Round #68 (div.1)

做的 比较屎,但是还是涨rating了。。。 1001. HDU 5611 Baby Ming and phone number  http://acm.hdu.edu.cn/showproblem.php?pid=5611 直接按题意模拟,需注意以下闰年的判断方法(普通年,世纪年)   #include #include #include #include #include

makewei13的博客 449

Win11系统下Abaqus2022与VS2022+oneAPI2023环境配置全攻略(附VUMAT子程序避坑指南)

本文详细指导在Windows 11系统下,为Abaqus 2022配置Visual Studio 2022与Intel oneAPI 2023的Fortran编译环境,以支持VUMAT等用户子程序开发。内容涵盖软件安装顺序、环境变量关联、快捷方式修改及关键验证步骤,并提供了首个VUMAT子程序的实战编写与模型验证方法,帮助用户高效搭建稳定可靠的仿真开发平台。

pytorch8learner的博客 316

BestCoder Round #67-N*M bulbs(规律)

N*M bulbs    Accepts: 94    Submissions: 717  Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) 问题描述 N*M个灯泡排成一片,也就是排成一个N*M的矩形,有些开着,有些关着,为了节约用电,你要关上所

梧桐下的四叶草 484

文末含资料链接和视频讲解!YOLOv8+RepVGG+QueryDet小目标检测终极指南:从理论到实战,突破遥感图像检测难题

QueryDet(Query Detection)机制代表了目标检测领域的一个重要范式转变。传统的目标检测方法基于anchor或anchor-free的密集预测,需要为图像中的每个可能位置生成预测。而QueryDet采用了稀疏查询的方式,通过少量的可学习查询向量来直接预测目标。 这种设计灵感来源于Transformer架构中的注意力机制。在自然语言处理中,Transformer通过query-key-value机制实现了高效的序列建模。QueryDet将这一思想引入到目标检测中,将检测问题转化为查询匹配问

FJN110的博客 384

uniapp - 解决 uni.chooseImage 在苹果 IOS 真机上点击没反应的问题,苹果手机点击 uni.chooseImage方法不生效,也不报任何错误(解决苹果ios系统点击无效问题)

uniapp小程序h5网页苹果ios系统点击uni.chooseImage不执行点击无效,uniapp使用uni.chooseImage方法点击没反应怎么办,uniappuni.chooseImage在ios苹果手机运行点击不触发,uniappuni.chooseImage苹果ios系统点击无效,uniapp项目ios端云打包之后uni.chooseImage不生效了,uniapp打包之后uni.chooseImage()无法打开相机,uniapp苹果手机无法打开相机和相册,uniapp网页h5微信支

🏆 前端领域优质创作者 1万+

BestCoder Round #68 (div.2) 1003.graph (DP+矩阵快速幂)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5607 题意:给一个有向图,点数n( 解法:典型的矩阵快速幂。 初始01矩阵第 i 列所有值全部乘以 i 点出度的关于mod的逆元,可得到了初始矩阵。 初始矩阵中的第 i 列为从 i 节点出发0分钟后到达每一个点的概率。k分钟时,邻接矩阵为初始01矩阵的k次幂。输出第u列的值即可。 AC代码如

makewei13的博客 438

OpenClaw实战系列01:OpenClaw接入飞书机器人全接入指南 + Ollama本地大模型

通过 OpenClaw + Ollama + 飞书的组合,我们成功搭建了一个完全私有、免费、可定制的AI助理。它不仅能在日常聊天中提供帮助,还能通过OpenClaw强大的“技能”体系,真正去操作你的电脑、管理文件、甚至执行代码。这套方案将数据留在本地,既保证了隐私安全,又锻炼了动手能力。现在,去给你的AI助理添加更多酷炫的技能吧!

PeterPan的博客 1万+

hdu 5656 CA Loves GCD(n个任选k个的最大公约数和)

CA Loves GCD    Accepts: 64    Submissions: 535  Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) 问题描述 CA喜欢是一个热爱党和人民的优秀同♂志,所以他也非常喜欢GCD(请在输入法中输入GCD

阳光下的泡沫 1957

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 蓝牙通讯demo

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

poj 3904(莫比乌斯反演)

POJ 3904  题意: 从n个数中选择4个数使他们的GCD = 1,求总共有多少种方法 Sample Input 4 2 3 4 5 4 2 4 6 8 7 2 3 4 5 7 6 8 Sample Output 1 0 34 思路:先求出选择四个数所有的情况,C(4,n) = n * (n-1) * (n-2)

阳光下的泡沫 1842

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

hdu4549(费马小定理 + 快速幂)

M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 现在给出a, b, n,你能求出F[n]的值吗?   Input 输入包含多组测试数据; 每组数据占一行,包含3个整数a, b, n( 0   Output 对每组测试数据请输出一

阳光下的泡沫 1422

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

HDU2256(矩阵)

求(sqrt(2) + sqrt(3)) ^ 2n MOD 1024 强行盗图- -,这公式推得 。。 #include #include using namespace std; const int mod=1024; struct Matri { int a[2][2]; }; Matri Mat; Matri Mul(const Matri &A,const

阳光下的泡沫 1209

全排列hash-康拓展开

这是对很多全排列问题适用的方法,而且还能用于一些题目的判重 第一位是3,当第一位的数小于3时,那排列数小于321 如 123、 213 ,小于3的数有1、2 。所以有2*2!个。再看小于第二位2的:小于2的数只有一个就是1 ,所以有1*1!=1 所以小于321的{1,2,3}排列数有2*2!+1*1!=5个。所以321是第6个小的数。 2*2!+1*1!+0*0!就是康托展开。 例如

阳光下的泡沫 1204

POJ 3233 (矩阵)

题意:对于矩阵A,求A^1 + ...... + A^k 按照矩阵十大经典题的思路大致做了下。 在k为奇数时:  A^( k / 2+1)+ 1) * (A^1 + ....... A^(k/2)) + A^(k/2+1) k为偶数时:(A^(k/2) + 1 )* (A^1 + ................A^(n/2)) 但是超时了,应该是没二分的问题。 最开始试了下:

阳光下的泡沫 1050

hdu 5446(中国剩余+lucas+按位乘)

题意:c( n, m)%M    M = P1 * P2 * ......* Pk Lucas定理是用来求 c(n,m) mod p,p为素数的值。得出一个存余数数组,在结合中国剩余定理求值 其中有个地方乘积可能超范围,所以按位乘(数论方面薄弱啊,学习学习)。 #include #include #include #include #include using namesp

阳光下的泡沫 941

hdu 2254(矩阵)

题意:指定v1,v2,要求计算出在t1,t2天内从v1->v2的走法 思路:可以知道由矩阵求,即将其建图A,求矩阵A^t1 + ...... + A^t2.   A^n后,/*A.xmap[v1][v2]即是从v1到v2要n步 所以先预处理出A^1 -A^10000的情况,后面再注意下细节,计算即可. (每条道路走需要花一天的时间,且不能在某个城市停留,且t1=0时的走法数为0)

阳光下的泡沫 897

hdu 5392

Sample Input 2 3 1 3 2 6 2 3 4 5 6 1   Sample Output 2 6 题意:给一个转置求它的循环长度 题解:分解成循环求最小公倍数 #include #include #include #include #include using namespace std; typedef long lo

阳光下的泡沫 885

2015 ICL, Finals, Div. 1 Ceizenpok’s formula(组合数取模,扩展lucas定理)

J. Ceizenpok’s formula time limit per test  2 seconds memory limit per test  256 megabytes input  standard input output  standard output Dr. Ceizenp'ok from planet i1c5l

阳光下的泡沫 879

hdu5651 xiaoxin juju needs help(逆元)

xiaoxin juju needs help    Accepts: 150    Submissions: 966  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) 问题描述 xiaoxin巨从小就喜欢字符串,六年级的时候他就知道了什么是回文

阳光下的泡沫 862

hdu 5667 BestCoder Round #80 矩阵快速幂

Sequence    Accepts: 59    Submissions: 650  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description \ \ \ \    Holion August

阳光下的泡沫 831
上一篇: 中国剩余定理
下一篇: poj 1845 (逆元 + 约数和)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值