HDU 4291 A Short problem 矩阵,多重函数求循环节

YOLO26算法星形目标识别+训练好的模型+100张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[星星(Star)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 85 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9950** mAP50-95 | 0.8477 Precision | 1.0000 Recall | 0.9954 train/box_loss | 0.8235 train/cls_loss | 0.7275 val/box_loss | 0.7248 val/cls_loss | 0.9621 【训练过程分析】 85 轮训练后,我们得到了一个 mAP50 为 0.9950 的模型,这真是让人惊喜的成绩。一开始,模型的训练过程进展非常迅速,loss 在前 20 轮内从 1.5000 下降到 1.0000 附近,此后,loss 依然保持稳步下降,但速度明显放缓,特别是在第 30 轮到第 50 轮之间,loss 曲线进入了一个平台期,大约在 0.85 附近徘徊了 10 轮,直到第 60 轮左右才再度加速下降。这样的表现说明模型在前期阶段收敛良好,但到了后期,确实需要更多的训练轮次以确保模型的稳定性。 在验证集上,val_loss 保持平稳,没有出现明显的波动,这进一步证明了模型没有过拟合。然而,我们注意到在第 80 轮和第 85 轮之间,val_loss 似乎有所微弱的反弹,尽管这种波动并不显著。在训练集上,前 50 轮训... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

题意:

 According to a research, VIM users tend to have shorter fingers, compared with Emacs users.
  Hence they prefer problems short, too. Here is a short one:
  Given n (1 <= n <= 1018), You should solve for 

g(g(g(n))) mod 109 + 7

  where
g(n) = 3g(n - 1) + g(n - 2)

g(1) = 1

g(0) = 0


题解:

假如最外层要求模10^9+7,则令L0=10^9+7

将最外层内部看做一个整体x,则x在L0下可以求出一个循环节L1

那么x的值对L1取模不影响结果

将次外层内部看做一个整体y,则y在L1下可以求出一个循环节L2

那么y的值对L2取模不影响结果

......


求循环节的代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;

#define lint __int64
const lint mod = 1000000007;
lint L1 = 222222224, L2 = 183120, L3;

void test()
{
    printf("start\n");
    lint gn, gn1 = 1, gn2 = 0;
/*
    for(lint i = 2; ; i++)
    {
        gn = (3 * gn1 + gn2) % mod;
        if(gn == 1 && gn1 == 0)
        {
            printf("循环节L1:%I64d\n", i - 1);
            L1 = i - 1; //222222224
            break;
        }
        gn2 = gn1;
        gn1 = gn;
    }

    gn = 3, gn1 = 1, gn2 = 0;
    for(lint i = 2; ; i++)
    {
        gn = (3 * gn1 + gn2) % L1;
        if(gn == 1 && gn1 == 0)
        {
            printf("循环节L2:%I64d\n", i - 1);
            L2 = i - 1; //183120
            break;
        }
        gn2 = gn1;
        gn1 = gn;
    }
*/
    gn = 3, gn1 = 1, gn2 = 0;
    for(lint i = 2; ; i++)
    {
        gn = (3 * gn1 + gn2) % L2;
        if(gn == 1 && gn1 == 0)
        {
            printf("循环节L3:%I64d\n", i - 1);
            L3 = i - 1; //183120
            break;
        }
        gn2 = gn1;
        gn1 = gn;
    }

    printf("over\n");
}

int main()
{
    test();
}

题解:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;

#define MAXN 3
#define lint __int64
const lint L0 = 1000000007;
const lint L1 = 222222224;
const lint L2  = 183120;
const lint L3 = 240;
lint gn, mod;

class CMatrix
{
public:
    lint a[MAXN][MAXN], n;
    void init(int n, int flag);
    CMatrix operator+(CMatrix);
    CMatrix operator*(CMatrix);
    CMatrix power(lint);
};

void CMatrix::init(int n, int flag)
{
    this->n = n;
    memset(this->a, 0, sizeof(this->a));
    if(flag == 0) return;
    for(int i = 0; i < n; i++)
        this->a[i][i] = 1;
}

CMatrix CMatrix::operator+(CMatrix tt)
{
    CMatrix ret = *this;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            ret.a[i][j] = (ret.a[i][j] + tt.a[i][j]) % mod;
    return ret;
}

CMatrix CMatrix::operator*(CMatrix tt)
{
    CMatrix ret;
    ret.init(this->n, 0);
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            for(int k = 0; k < n; k++)
                ret.a[i][j] += this->a[i][k] * tt.a[k][j];
            ret.a[i][j] %= mod;
        }
    }
    return ret;
}


CMatrix CMatrix::power(lint e)
{
    CMatrix ret, tmp;
    ret.init(this->n, 1);
    tmp = *this;
    while(e > 0)
    {
        if(e & 1)
            ret = ret * tmp;
        e >>= 1;
        tmp = tmp * tmp;
    }
    return ret;
}

int main()
{
    while(scanf("%I64d", &gn) != EOF)
    {

        CMatrix x, y;
        x.n = 2;
        x.a[0][0] = 3; x.a[0][1] = 1;
        x.a[1][0] = 1; x.a[1][1] = 0;

        mod = L2;
        y = x.power(gn % L3);
        mod = L1;
        y = x.power(y.a[1][0] % L2);
        mod = L0;
        y = x.power(y.a[1][0] % L1);
        printf("%I64d\n", y.a[1][0]);
    }
    return 0;
}


局域网文件传输工具课程设计源码 这是一个基于 Python 标准库实现的局域网文件传输工具课程设计资源包,采用 C/S 架构:一台机器运行服务端监听 9527 端口,其余机器作为客户端填 IP 直连发送文件。包含实验报告三件套、全部源代码、运行截图与答辩 PPT,零第三方依赖,装好 Python 即可运行。 传输主线覆盖分块发送、断点续传、完整性校验与队列管理:文件按 64KB 分块逐块推送,进度条按已发字节实时推进;中断重连后先询问续传偏移,从已收字节位置继续,不必从头重传;收完两端各算一遍 MD5,一致才把 .part 改为正式文件名,不一致判为传输失败;多文件排队依次传输,当前任务可暂停、继续或取消。 协议层以 4 字节大端长度头加 JSON 头约定消息格式,CHUNK 消息另带二进制净荷;代码按常量层、协议层、基础层、网络层、表现层五层划分,依赖方向严格单向,协议格式调整只动 protocol.py,界面与传输逻辑互不牵连。 可靠性设计覆盖文件名超长拒收、超时退出、断线自动重连最多 3 次、握手 8 秒快速失败等情形;传输日志固定 200 行环形缓冲,记录文件名、大小、耗时与平均速率,连接错误可回看。除标准库 socket、struct、threading、hashlib、queue、tkinter 外不引入其他包,Windows、macOS、Linux 均可运行。 适合计算机网络方向的学生作为课设参考,也适合想练习 TCP 字节流协议设计与多线程文件传输落地的自学者。运行方式:接收端 python main.py --mode server 点击开始监听,发送端 python main.py --mode client 填好服务端 IP、端口与昵称连接,添加文件后开始发送,重连自动续传。 立即下载

相关推荐

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度.docx

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度

hdu 4291 A Short problem(矩阵+取模循环节)

A Short problem                                                          Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)                                          

ACway的专栏 1328

51单片机的温湿度检测报警系统仿真资料

51单片机的温湿度检测报警proteus仿真系统

hdu4291 A Short problem

完全被虐啊,见识太少,完全没有意识到取模必定会有循环节的问题,所以束手无策。。。。。 先暴力本地算出最外层取模的循环节,在依次往里推循环节,还需要注意两个long long型相乘的溢出问题,不过这道题好像没有这么极端的数据 code: #include #include #define LL __int64 using namespace std; LL modular_multi(

yueqiq 394

国央企创新负责人如何通过平台识别并引进关键技术?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

POJ 3735 Training little cats (快速求幂,稀疏矩阵)

题意:给出三个整数n,m,k。表示有n只猫,k个操作(由以下三种组合而成),对这k个操作重复m遍。输出最后每只猫拥有的花生。 g i : Let the ith cat take a peanut. 让第i只猫剥一个花生 e i : Let the ith cat eat all peanuts it have.让第i只猫吃掉它所有的花生 s i j : Let the ith cat an

1263

windows自动连接无线网工具

手机开启连接特定蓝牙就自动开热点,windows检测手机蓝牙,检测到后连接蓝牙触发手机开热点,电脑就能自动连接手机热点,实现手机在电脑旁边时电脑能自动连接手机热点。

POJ 3070 Fibonacci 用矩阵求费氏数列

题意: 题解: #include #define SIZE (1<<10) #define MAX_SIZE 32 using namespace std; class CMatrix { public: int element[MAX_SIZE][MAX_SIZE]; void setSize(int); void

792

国央企创新负责人如何优化科技成果转化流程的合规性与透明度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

MuMu模拟器-macos安装包

MuMu模拟器-macos安装包

POJ 3233 Matrix Power Series 求S = A + A2 + A3 + … + Ak.

求:S = A + A2 + A3 + … +Ak. 第一次代码:二分直接递归,很好理解。1250MS #include #define SIZE (1<<10) #define MAX_SIZE 32 #define lint __int64 using namespace std; class CMatrix { public: int element[

725

超全Mathcad全桥LLC谐振变换器开关电源设计mathcad计算书

内容概要:本文档为《超全Mathcad全桥LLC谐振变换器开关电源设计mathcad计算书》,系统性地围绕全桥LLC谐振变换器的开关电源设计展开,重点利用Mathcad工具进行精确的数学建模与参数计算。内容涵盖LLC谐振变换器的核心工作原理、关键参数设计(如谐振频率、励磁电感、变比、品质因数等)、增益特性分析、软开关实现机制及效率优化策略,并结合Simulink、Plecs、PSIM等主流仿真平台构建开环与闭环控制系统,实现变频控制、移相控制及混合控制等多种高级控制策略的仿真验证。文档提供完整的“计算书+仿真模型+设计报告”三位一体技术资料体系,强化理论与工程实践的深度融合。此外,资源包还整合了PFC、DC-DC变换器、双向充放电系统、微电网控制等大量电力电子相关仿真案例,突出其在科研复现、课程设计与工业研发中的高实用价值。; 适合人群:面向电力电子、电气工程及其自动化、新能源系统等相关领域的科研人员、高校研究生及从事高频开关电源设计的工程技术人员,需具备扎实的电路理论基础、自动控制原理知识以及一定的仿真软件操作能力。; 使用场景及目标:① 掌握基于Mathcad的LLC谐振变换器全流程参数设计方法与数学推导逻辑;② 构建并调试全桥LLC的闭环控制系统,实现高效ZVS/ZCS软开关、稳定输出电压与动态响应优化;③ 支持科研项目中的系统建模、仿真验证、论文复现与关键技术攻关,提升设计效率与理论深度。; 阅读建议:建议结合文档中提供的Mathcad计算书与Simulink/Plecs仿真模型同步学习,注重理论公式推导与仿真波形分析之间的对应关系。建议先深入理解LLC基本工作模态与谐振元件的影响规律,再逐步进阶至双闭环控制、恒压恒流切换、混合调制策略等复杂控制逻辑,最终实现高性能、高效率电源系统的自主设计与优化。

上一篇: HDU 4288 Coder 离线线段树部分更新
下一篇: HDU 1412 搬寝室 DP
ConwayTian
博客等级 码龄15年 173粉丝 339原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值