HDU 1104 Remainder

hdu 1104 remainder bfs+数论 Remainder Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1140 Accepted Submission(s): 212 Problem Description Coco is a clever boy, who i 阅读详情

156ms,比其他人慢好多。。

bfs暴搜

#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;

const int maxN=2000010;
int n,k,m,step;
bool vis[maxN];
string anstr;
struct Node{
    int n,k;
    string str;
}no;
queue<Node> q;

void push(int tn,char c){
    if(c=='%'&&tn<0) tn+=m; 
    tn%=(m*k);
    Node nn;
    nn.n=tn;nn.k=no.k+1;nn.str=no.str+c;
    if(!vis[tn+m*k]) q.push(nn);
    vis[tn+m*k]=true;
}
void bfs(){
    while(!q.empty()) q.pop();
    no.n=n;no.str="";no.k=0;
    q.push(no);
    int tar=(n+1)%k;
    if(tar<0) tar+=k;
    while(!q.empty()){
        no=q.front();q.pop();
        int cur=no.n%k;
        //cout<<no.n<<endl;
        if(cur<0) cur+=k;
        if(tar==cur){
            step=no.k;
            anstr=no.str;
            return;
        }
        push(no.n+m,'+');
        push(no.n-m,'-');
        push(no.n*m,'*');
        push(no.n%m,'%');
    }
}
int main(){
    while(cin>>n>>k>>m,n||k||m){
        memset(vis,false,sizeof(vis));
        step=0;
        bfs();
        cout<<step<<endl;
        if(step) cout<<anstr<<endl;
    }
    return 0;
}

ShardingSphere分库分表教程,java后端开发面试题 ???? 简介:Java领域优质创作者????、优快云哪吒公众号作者✌ 、Java架构师奋斗者???? ???? 扫描主页左侧二维码,加入群聊,一起学习、一起进步 ???? 欢迎点赞 ???? 收藏 ⭐留言 ???? 目录 一、分库分表 二、分库分表的方式 1、垂直分表 2、垂直分库 3、水平分表 4、水平分库 三、分库分表带来的问题 1、学习成本问题 2、事务问题 3、跨节点join问题 4、跨节点的count、order by、group by以及聚合函数问题 5、数据迁移、容量规划、扩 阅读详情

相关推荐

Vivado加上VsCode让你的生活更美好

VsCode与Vivado的灵活使用 引言 ​ 现在大二了,在接触硬件描述语言。Vivado自带的编辑器实在很难用,为了能够“极客”一些,当然是去Google了一下有哪些方法可以取而代之。 ​ 网络上的答案大同小异,基本上都是用的Sublime Text.(我的学长们也几乎都是) 平时码代码的过程中,我习惯与使用VsCode,尤其是在微软收购GitHub之后,Code 简直就是神器了。于是乎…一个...

qq_39498701的博客 10万+

【bfs】hdu 1104 Remainder

【bfs】hdu 1104 Remainder题目链接:hdu 1104 Remainder很不错的一道搜索题目,但是有几个关键问题要注意。 最短路径,果断bfs+Queue 路径的存储问题,之前只想把每一步的计算结果存储到queue(int)Q中,后来发现路径无法记录,就选择存储节点的方式并用string保存路径,queue(node)Q,开一个临时的节点node p,每进行一次运算就更新它的路径

Hacker_vision 720

Windows 10/11一键搞定HDF5文件查看:HDFView 3.4.1免配置安装指南(附中文路径避坑技巧)

本文详细介绍了HDFView 3.4.1在Windows 10/11上的免配置安装方法及中文路径优化技巧。作为HDF5文件查看的专业工具,HDFView 3.4.1简化了安装流程,提升了科研数据处理效率,特别适合遥感、气象等领域的研究人员使用。

qsc9012345的博客 1143

HDU 1104 Remainder (BFS)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1104 题意:给你一个n、m、k,有四种操作n+m,n-m,n*m,n%m,问你最少经过多少步,使得最后的结果=(初始n+1)%k 题解:很明显的BFS,然后我就很快写,果断RE,发现里面可能有负数,改了之后还是错了,看了discuss才发现原来要%mk,现在还是不是很懂为什么,这里discu...

weixin_34292287的博客 152

分布式推理服务(策略:数据并行、张量并行、流水线并行、专家并行)技术分析

摘要:分布式推理突破单GPU内存和算力限制,支持大模型部署。四种核心策略包括: 数据并行:复制模型拆分数据,提升吞吐但内存效率低; 流水线并行:模型分阶段执行,支持超大模型但存在计算气泡; 张量并行:拆分层内矩阵运算,延迟低但通信开销大; 专家并行:动态激活MoE模型专家,计算高效但路由复杂。实际应用中常组合策略(如3D并行),需权衡模型规模、硬件条件与性能目标。

技术引领业务创新 940

Windows下用Python调用科大讯飞语音唤醒SDK的避坑指南(附完整代码)

本文详细介绍了在Windows平台使用Python调用科大讯飞语音唤醒SDK的全流程,包括环境配置、核心代码实现、典型问题解决方案及进阶开发技巧。通过完整的代码示例和避坑指南,帮助开发者快速集成语音唤醒功能,提升开发效率。

u0v1w2x3的博客 405

Hdu 1104 Remainder[Bfs]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1104  提议

898

YOLOv11涨点改进 | Neck改进篇 | YOLOv11引入 BiFPN双向特征金字塔网络,显著提升了多尺度特征融合效率

本文介绍了基于BiFPN特征融合模块优化的YOLOv11目标检测模型。BiFPN通过双向跨尺度连接和加权特征融合机制,显著提升了多尺度特征融合效率。该方法在COCO数据集上实现了55.1AP的检测精度,同时大幅降低计算成本(减少13-42倍FLOPs)。文章详细解析了BiFPN模块结构、核心代码实现方法,并提供了YOLOv11-BiFPN配置文件的修改指导,为计算机视觉领域提供了一种高效的目标检测解决方案。

Ai缝合怪、助力小伙伴高效发论文 712

【HDU】 1104 Remainder

Remainder题目链接 Remainder 题目大意    题意还是很好理解的,就是给你3个数n,k,m,现在n可以通过一系列操作:+m、-m、*m、%m来达到另外一个状态(变成另外一个数),现在问你是否存在一种可能使[(最初的N) + 1] % K 和 (现在N) % K 相等?输出最小步数和方法。题解    挺有意思的一个题,首先可以看到这明显需要广搜了,但是很蛋疼的是我们不能直接把N作为

S_Black的专栏 503

YOLO11,ultralytics-main源代码目录结构详解

本文详细介绍了YOLO11框架的ultralytics-main源代码目录结构,帮助用户更好地理解和使用YOLO模型。主要目录包括:docker文件夹,包含多种Docker镜像文件,适用于不同硬件环境;docs文件夹,存放YOLO的说明文档;examples文件夹,提供YOLO使用的示例代码;tests文件夹,包含单元测试模块;ultralytics文件夹,为核心代码所在,包含推理逻辑、配置、数据处理等模块。其中,engine文件夹负责训练和推理引擎,models文件夹存放模型架构,nn定义神经网络结构

qq_30279827的博客 1282

【系统架构设计师】预测试卷一:综合知识(75道选择题)

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格反映领域中众多系统所共有的结构和 (48),强调对架构(49)的重用。 (48) A. 语义特性 B. 功能需求 C. 质量属性 D. 业务规则 (49) A. 分析 B. 设计 C.实现

数据知道的博客 7766

Remainder hdu 1104

Remainder Time Limit : 6000/3000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Font: Times New Roman | Verdana | Georgia Fo

纯纯的心儿的专栏 585

YOLO26剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

针对没有如何去选择剪枝的内容LAMP是层自适应幅度调整剪枝,无需任何参数,通过算法内部自己计算每个层的重要程度进行剪枝。基于权重重要程度和该层权重大小关系,权重越大表明该层越重要的思想进行优化。这个跟我前面说的非结构化全局剪枝是一个解法(MP),也就是lamp是在我前面那个非结构化剪枝的基础上进行优化的。但是这个逐层进行非结构剪枝目前还没有一个清晰的概念,确定每个层要剪枝多少。LAMP得分是一个平方权重大小,由层中所有“幸存权重”的总和归一化。

m0_64661770的博客 673

HDU 1104 Remainder (BFS)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1104 题意:给你一个n、m、k,有四种操作n+m,n-m,n*m,n%m,问你最少经过多少步,使得最后的结果=(初始n+1)%k 题解:很明显的BFS,然后我就很快写,果断RE,发现里面可能有负数,改了之后还是错了,看了discuss才发现原来要%mk,现在还是不是很懂为什么,这里disc

lamborghini1993 1304

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

hdu 1104 Remainder BFS

题意:输入n,k和m,通过+m,-m,*m,%m四种操作,使得结果等于(n+1)%m,求最少的操作。如果不可能输出0。 题解:先自我反省下。。每次都习惯的把循环变量写i,j,k;而且即使不用到也会定义,在这题中被自己坑了两次。在自定义函数和主函数中都定义了k。。最后重复定义了。在说方法,一道典型的广搜题BFS,需要考虑的是要使操作次数有限化:我们知道%(k*m)%k和%k的结果必定相同,这个不同

冷月之殇 1334

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

hdu 1104 Remainder

http://acm.hdu.edu.cn/showproblem.php?pid=1104 a%b=(a%b+b)%b; 题意:开始给了你n, k, m,每次由+m, -m, *m, modm得到新的N,继续对N这样的操作,直到(n+1) mod k== N mod k时结束,并且打印路径 1 #include <cstdio> 2 #include <io...

weixin_30693183的博客 109

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

hdu 1104 Remainder(BFS)

原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1104 题目大意: n,k,m n可以 +-*% m,最后求的    n mod k==(初始n+1)mod k %与mod区别: %的得数可以有正有负,其正负取决于被除数 mod的得数只能为正 1. 需要处理下%后的正负问题. 不难理解:n mod k

sunshine_YG的专栏 461

hdu1104Remainder(BFS)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1104 BFS,没什么说的。 代码: #include #include #include #include #include using namespace std; const int maxn = 1e6; int n,k,m; int key; int

奋斗的Die Young 1117

HDU 1104 remainder

难点在于取模, km的问题,现在仍然不是很懂! 查了题解, 又发现了新的打印路径的方法。 Coco is a clever boy, who is good at mathematics. However, he is puzzled by a difficult mathematics problem. The problem is: Given three integers N, K and

b2utyyomi的博客 466

【HDU 1104】Remainder AC代码(简单bfs+数论)

%只能出现在第一个位置或者出现在*的后面,且%最多只能出现两次。 因为对任意n,( n pe m ) % m = n % m. 对于乘法则是不一定的,n * m % m 必为0。 由于一系列{+,-,%}运算相当于在n的基础上,‘+’相当于加上若干个m,‘-’相当于减去若干 个m,‘%’相当于一次同时减去(或者加上)若干个m。而他们的总和带来的结果就是n的变化是 m的整数倍,所以上面的式子相等。也就是说如果有一个序列中有‘%’,则它的前面要么是空的, 要么是‘*’,因为如果是其他的只会使得

weixin_45675201的博客 209
上一篇: HDU 1796 How many integers can you find
下一篇: HDU 1426 Sudoku Killer
E_Windrunner
博客等级 码龄15年 7粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值