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

题解:P12336 第三心脏

题目链接。

作者没看过第三心脏,所以作者猜测第三个心脏应该是用铁做的,由于铁粉是黑的,所以这道题目是黑。

养成良好习惯,不留根号,式子变为:

\[a^2+b^2+c^2+d^2=\left(a\oplus b\oplus c\oplus d\right)^2 \]

注意到 \(a\ge 1\) 所以 \(a^2+b^2+c^2+d^2>d^2\) 又注意到“第三心脏”中的“第”的音序为 \(d\) 的大写,所以考虑对 \(d\) 进行一些操作,我们设 \(a\oplus b\oplus c\oplus d=d+n\) 所以原式变为:

\[a^2+b^2+c^2+d^2=\left(d+n\right)^2 \]

养成良好习惯,当一个懒人,由于 \(n>0\) 所以考虑第二简单的情况 \(n=\pm1\) 时的情况,注意到

\[x\oplus 1=\begin{cases}x+1&\text{ if }x\equiv 0\pmod 2\\ x-1&\text{ if }x\equiv 1 \pmod 2 \end{cases}\]

那么我们考虑让 \(a\oplus b\oplus c=1\)\(n=-1\) 那么 \(d\equiv 1 \pmod 2\) 将上面的式子继续化简就是:

\[a^2+b^2+c^2=2d+1 \]

其中 \(2d\equiv 2\pmod 4\) 所以右式模 \(4\)\(3\),注意到完全平方数模 \(4\)\(0\)\(1\) 所以如果两式相等只能 \(a^2\equiv b^2\equiv c^2\equiv 1\pmod 4\) 而由于 \(a\) 给定,所以当 \(a\equiv0\pmod 2\) 时,这是无解的,作者太懒了不想继续了,所以考虑让 \(n=1\)

考虑构造 \(a\oplus b\oplus c=1\),设 \(a=2^n+x_{n-1}2^{n-1}+\cdots+x_0\),考虑 \(b=2^{n+1}+x_{n-1}2^{n-1}+\cdots+x_0\) 这时,\(a\oplus b=2^{n+1}+2^{n}\) 我们只需要令 \(c=2^{n+1}+2^n+1\) 即可,此时 \(d=\frac{a^2+b^2+c^2-1}{2}\) 可以证明 \(d\in\mathbb{N}^{*}\) 但是,这遇到一个问题,我们的前提是 \(d\equiv 0\pmod 2\),容易发现当 \(a^2\equiv b^2\equiv c^2\equiv 1\pmod 4\) 时,\(d\equiv 1\pmod 2\),于是我们充分发挥人类智慧,这个时候我们的 \(a=2^n+x_{n-1}2^{n-1}+\cdots+1\) 发现都是最后这个常数再搞鬼!我们可以考虑 \(b=2^{n+1}+x_{n-1}2^{n-1}+\cdots+0,c=2^{n+1}+2^n\) 这个时候就好了!

随之而来 \(a=1\) 时,我们会发现一个自相矛盾的结论,这可不行,赶快手摸一组特判!

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a;
signed main(){//freopen("","r",stdin);//freopen("","w",stdout);cin>>a;if(a==1)puts("4 28 40");else{int n=log2(a);int b=a-(1<<n)+(1<<(n+1)),c=(1<<n)+(1<<(n+1))+1;if(a&1)cout<<b-1<<' '<<c-1<<' '<<((b-1)*(b-1)+(c-1)*(c-1)+a*a-1)/2;else cout<<b<<' '<<c<<' '<<(a*a+b*b+c*c-1)/2;}return 0;
}

亲测可过,请勿抄袭!

http://www.wxhsa.cn/company.asp?id=2782

相关文章:

  • Spring篇知识点(1)
  • 在CentOS 7系统中彻底移除MongoDB数据库
  • 2025.9.13总结
  • 【数学建模】烟幕干扰弹投放策略优化:模型与算法整合框架 - 实践
  • 开源排名算法工具raink:利用LLM实现智能文档排序
  • lcjmSSL域名SSL证书免费申请
  • uniapp原生插件 TCP Socket 利用文档
  • 【PyQt5】实现输入延迟响应:3秒无输入后自动读取内容
  • 线性代数基础
  • 微积分基础
  • Windows 自带的SSH中配置X11
  • 在Kubernetes client-go库中如何有效构建CRD的informer
  • Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
  • The 2025 ICPC Asia East Continent Online Contest (I)
  • Linux中UDP网络通信机制编程探索
  • 中大型水闸安全监测的重要性及实施方法 - 指南
  • 如何通过LangChain实现记忆功能的总结
  • python 轻量级别的网页包Streamlit
  • 完整教程:技术小白如何快速的了解opentenbase?--把握四大特色
  • 9.13日模考总结
  • 高斯消元
  • wpf-MVVM+IOC/ID
  • uni-app iOS 性能监控全流程 多器具协作的实战优化指南
  • 矩阵快速幂
  • 使用 C# 设置 Excel 单元格格式 - 教程
  • grafana部署并使用harbor监控模板
  • 【ARM Cache 及 MMU 系列文章 6.1 -- Cache maintenance 指令及相关寄存器有哪些?】
  • 十八、CPU的控制流:正常控制流和异常控制流
  • 大模型基础|位置编码|RoPE|ALiBi
  • 成品app直播源码搭建,sql优化原则 - 云豹科技