当前位置: 首页 > news >正文

Jerry每次能向前或向后走n*n步(始终不能超过初始位置1e5),q(q <= 1e5)次询问,求向前走d最少要几次

题目

思路:因为有走的过程不能超初始位置1e5的限制,所以不能直接用奇数最多两次,4的倍数最多两次的结论。spfa,平方数的dis为1,然后推出其他数的dis

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 2e5 + 5, inf = 1e9, N = 1e5;
int a[maxn];
int sq[maxn], dis[maxn];
int m;
// int f[320][maxn];
queue<int> q;
bool inque[maxn];
bool issq(int x){int sqt = sqrt(x);return sqt * sqt == x;
}
void solve(){int Q;cin >> Q;memset(dis, 0x3f, sizeof(dis));for(int i = 1; i * i <= 1e5; i++){sq[++m] = i * i;dis[i * i + N] = 1;q.push(i * i);dis[-i * i + N] = 1;q.push(-i * i);inque[i * i + N] = inque[-i * i + N] = 1;}while(!q.empty()){int u = q.front();q.pop();inque[u + N] = 0;for(int i = 1; i <= m; i++){int v = u + sq[i];if(v >= -N && v <= N){if(dis[u + N] + 1 < dis[v + N]){dis[v + N] = dis[u + N] + 1;q.push(v);inque[v + N] = 1;}} v = u - sq[i];if(v >= -N && v <= N && dis[u + N] + 1 < dis[v + N]){dis[v + N] = dis[u + N] + 1;q.push(v);inque[v + N] = 1;}}}while(Q--){int d;cin >> d;cout << dis[d + N] << '\n';}
//     for(int i = 99900; i <= N; i++){
//         cout << dis[i + N] << ' ';
//     }
}
signed main(){
//     memset(f, 0x3f, sizeof(f));int T = 1;
//     cin >> T;while(T--){solve();}return 0;
}

http://www.lryc.cn/news/280249.html

相关文章:

  • 【Spring Boot 3】【Flyway】数据库版本管理
  • 蓝桥杯基础数据结构(java版)
  • 39 C++ 模版中的参数如果 是 vector,list等集合类型如何处理呢?
  • 5.Pytorch模型单机多GPU训练原理与实现
  • 想成为一名C++开发工程师,需要具备哪些条件?
  • Qat++,轻量级开源C++ Web框架
  • openssl3.2 - 官方demo学习 - digest - EVP_MD_demo.c
  • uniapp 编译后文字乱码的解决方案
  • iOS中利用KeyChain永久保存用户信息的方法示例
  • 基于时域有限差分法的FDTD的计算电磁学算法(含Matlab代码)-YEE网格下的更新公式推导
  • win10使用debug,汇编初学
  • 怎么投稿各大媒体网站?
  • chatgpt免费使用的网站
  • 音频编辑软件:Studio One 6 中文
  • MySQL语句|使用UNION和UNION ALL合并两个或多个 SELECT 语句的结果集
  • UNRAID 优盘制作
  • 二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】
  • 银行测试--------转账
  • 阿里云最新优惠券领取方法及优惠活动汇总
  • 动态分配内存的风险
  • 多行SQL转成单行SQL
  • wpf的资源路径
  • shell 脚本之一键部署安装 Nginx
  • 第01章_Java语言概述拓展练习(为什么要设置path?)
  • 手机直连卫星及NTN简介
  • 对git中tag, branch的重新理解
  • python中none的替换方法:pandasnumpy
  • 您与此网站之间建立的连接不安全
  • __declspec (dllexport)定义了导出函数,但dll中没有此函数
  • CSS样式学习