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

每日两题day36

群里抽一个人,不送东西,纯抽

每日两题


一、基础题

题目:64位整数乘法

思路:

一道龟速乘模板。不过因为 1≤a,b,p≤10181 \leq a,b,p \leq 10^{18}1a,b,p1018 ,所以c++直接开 __int128_t 计算即可。

可能需要的知识:

  • 快速幂&龟速乘&快速乘:学习网站:(洛谷)快速幂&龟速乘&快速乘,B站:快速幂都能做什么?小小的算法也有大大的梦想【五点七边】

代码(c++):

时间复杂度 O(1)

#include <bits/stdc++.h>
using namespace std;// 64位整数乘法,防止溢出
void solve() {int64_t a, b, p;cin >> a >> b >> p;// 使用 __int128_t 进行乘法,防止溢出__int128_t res = (__int128_t)a * (__int128_t)b % (__int128_t)p;cout << (int64_t)res << endl;
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;// cin >> t;while (t--) {solve();}return 0;
}

二、提高题

题目:这河里吗?

思路:

本题是判断一个 9x9 的数独矩阵是否合法。数独的合法条件是每一行、每一列、每个 3×33\times33×3 小方格都包含 1∼91\sim919 的所有数字且不重复。由于每行、每列、每个小方格的数字和都应为 454545(即 1+2+⋯+91+2+\cdots+91+2++9),可以通过判断每行、每列、每个小方格的数字和是否为 454545 来快速判断合法性。只要有一处不满足条件,就输出 “NO”,否则输出 “YES”。

代码(c++):

时间复杂度 O(81)

#include <bits/stdc++.h>
using namespace std;vector<vector<int>> sudoku(10, vector<int>(10, 0));
const int SUM = 45;// 检查子矩阵内数字和是否为45
bool check(int sx, int sy, int ex, int ey) {int tmp = 0;for (int i = sx; i <= ex; i++) {for (int j = sy; j <= ey; j++) {tmp += sudoku[i][j];}}return tmp == SUM;
}// 检查每一列
bool check_col() {for (int i = 1; i <= 9; i++) {if (!check(1, i, 9, i)) {return false;}}return true;
}// 检查每一行
bool check_row() {for (int i = 1; i <= 9; i++) {if (!check(i, 1, i, 9)) {return false;}}return true;
}// 检查每个3x3小方格
bool check_block() {for (int i = 1; i <= 7; i += 3) {for (int j = 1; j <= 7; j += 3) {if (!check(i, j, i + 2, j + 2)) {return false;}}}return true;
}void solve() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= 9; j++) {cin >> sudoku[i][j];}}if (check_row() && check_col() && check_block()) {cout << "YES\n";} else {cout << "NO\n";}
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;// cin >> t;while (t--) {solve();}return 0;
}
http://www.dtcms.com/a/581828.html

相关文章:

  • LLM(大语言模型)
  • Solidity 与 x402 协议
  • 逆变器之SPWM调制
  • Java基础——常用算法5
  • Qt数据可视化实战:饼图、线图与表格的完整指南
  • qq代挂网站建设ps怎么做网站的广告条
  • 两个显示器鼠标方向调整
  • window server2008下Oracle 配置dblink查询 MySQL 数据
  • 软件数据库测试:【数据库质量保障:从单元测试到性能优化】
  • Windows安装Mujoco
  • vue3切换路由时页面空白问题解决办法
  • 时尚网站设计案例网站建设与网站主机的选择
  • 只买域名不建网站手机网站页面模板
  • Via安卓纯净版浏览器 v6.7.1去广解锁高级版
  • Ubuntu 24编译Android源码问题解决
  • 南宁市建设工程质量安全协会网站男性专科正规医院
  • 企业为什么建设网站wordpress5无法创建目录
  • Flutter 加固方案对比与实战,多工具组合的跨平台安全体系(Flutter App 加固/IPA 成品混淆/Ipa Guard CLI/自动化安全流程)
  • Qt/QML DelegateModel基础用法示例
  • 使用hping3进行网络协议测试与防火墙测试的完整指南
  • 西安网站建设市场烟台网站建设团队
  • 如何使用指标来确定趋势
  • 【vsftpd】centos和ubuntu部署vsftpd服务
  • 各大网站发布seo点击
  • Apache Jena SPARQL 查询完全指南:入门与实战案例
  • 做电影网站成本响应式网站开发asp
  • 中文网站开发语言wordpress广告模板下载地址
  • Elimination英文单词学习
  • S31-WinCC单个窗口多次调用
  • 突破罕见遗传病诊断壁垒:知识图谱增强医学大模型的智能应用