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

【Luogu】每日一题——Day3. P6392 中意 (数学 取模)

链接:P6392 中意 - 洛谷

题目:

思路:

数论这一块

题目让我们求这个结果对 MOD 取模,那么我们肯定是不像看到这个除法,所以考虑如何消除这个除法

我们可以想到,向上取整就是加上一个数,假设其为 x,那么原式就可以变成

\frac{b*2^{a+2} + x}{25} * 100,此时就能将 25 化简掉。即变成 (b*2^{a+2} + x)* 4

那么问题就变成了如何求这个 x,很显然,这个 x 就是 25 减去 b*2^{a+2} 对 25 取模的结果

那么如何求得这个结果呢?

所以我们可以拆开来求,具体步骤写代码中了

然后求得 x 后按照上面的公式计算即可,特别注意要使用快速幂加速运算 

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include <iomanip>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <utility>
#include <array>
#include <tuple>
using namespace std;
#define int long long
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
const int MOD = 998344353;int qp(int a,int b,int mod)
{int res = 1;while (b){if (b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res % MOD;
}int change(const string & s)
{int ans = 0;for (auto & c : s){ans *= 10;ans += c - '0';ans %= MOD;}return ans;
}void solve()
{string s; int a;cin >> s >> a;int b = change(s);int mowei = s.back() - '0';if (s.size() > 1){mowei += (s[s.size() - 2] - '0') * 10;}mowei *= qp(2, a + 2, 25);mowei %= 25;mowei = (25 - mowei) % 25;mowei *= 4;int newa = qp(2, a + 2, MOD);int first = b * newa % MOD * 4 % MOD;int second = mowei % MOD;cout << (first + second) % MOD << endl;
}
signed main()
{//cin.tie(0)->sync_with_stdio(false);int t = 1;//cin >> t;while (t--){solve();}return 0;
}

http://www.xdnf.cn/news/1127251.html

相关文章:

  • 【深度学习优化算法】06:动量法
  • Sentinel热点参数限流完整示例实现
  • 高温车间(60℃+)如何选高温/宽温边缘网关设备?
  • 如何把手机ip地址切换到外省
  • Datawhale 25年7月组队学习coze-ai-assistant Task1学习笔记:动手实践第一个AI Agent—英伦生活口语陪练精灵
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、现在我们来学习一下C++类模板、记事本的行高亮的操作的讲解)
  • etcd自动压缩清理
  • QT——QComboBox组合框控件
  • Flink实战项目——城市交通实时监控平台
  • 函数柯里化详解
  • Luban配置教程
  • 如何在simulink中怎么获取足端轨迹代码解释?
  • 【卡尔曼滤波第六期】集合变换卡尔曼滤波 ETKF
  • PyTorch笔记7----------计算机视觉基础
  • SSM框架学习DI入门——day2
  • flutter弹窗:fluttertoast
  • AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
  • 开通保存图片权限
  • 专业文档搜索工具,快速定位文本内容
  • 简单2步配置CadenceSkill开发编辑器,支持关键字高亮
  • 《大数据技术原理与应用》实验报告四 MapReduce初级编程实践
  • excel 通过openpyxl表格下载和插入图片
  • Linux的用户和用户组与权限解析、环境变量说明与配置、sudo配置解析和使用
  • Linux系统下 挂载exfat文件系统U盘
  • 【C语言进阶】字符函数和字符串函数的内部原理
  • 解锁Redis:从安装到配置的全攻略
  • sqli-labs靶场通关笔记:第18-19关 HTTP头部注入
  • 阿里云 Kubernetes 的 kubectl 配置
  • 46. 携带研究材料(01背包二维数组)
  • Rust基础[part4]_基本类型,所有权