hdu 5947 数论

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

题意:

给定a,ba,ba,b,找出x,yx,yx,y,使得
x+y=alcm(x,y)=b x+y=a\\ lcm(x,y)=b x+y=alcm(x,y)=b

Solution:

似乎有lcmlcmlcm,要么跟唯一分解有关系,要么跟gcdgcdgcd有关系,唯一分解可以枚举分配因子的幂,但是有120000120000120000组样例,时间复杂度不够。

对于gcd(x,y)gcd(x,y)gcd(x,y),设k1,k2k_{1},k_{2}k1​,k2​满足
gcd(x,y)⋅k1=xgcd(x,y)⋅k2=y gcd(x,y)\cdot k_{1}=x\\ gcd(x,y)\cdot k_{2}=y gcd(x,y)⋅k1​=xgcd(x,y)⋅k2​=y
那么
x+y=gcd(x,y)⋅(k1+k2)=a(1) x+y=gcd(x,y)\cdot(k_{1}+k_{2})=a \tag{1} x+y=gcd(x,y)⋅(k1​+k2​)=a(1)

xy=gcd(x,y)2⋅k1k2(2) xy=gcd(x,y)^2\cdot k_{1}k_{2} \tag{2} xy=gcd(x,y)2⋅k1​k2​(2)

由(2)(2)(2)
lcm(x,y)=xygcd(x,y)=gcd(x,y)⋅k1k2=b(3) lcm(x,y)=\frac{xy}{gcd(x,y)}=gcd(x,y)\cdot k_{1}k_{2}=b \tag{3} lcm(x,y)=gcd(x,y)xy​=gcd(x,y)⋅k1​k2​=b(3)
由(1)(3)(1)(3)(1)(3)
k1+k2=agcd(x,y)k1k2=bgcd(x,y)(4) k_{1}+k_{2}=\frac{a}{gcd(x,y)}\\ \tag{4} k_{1}k_{2}=\frac{b}{gcd(x,y)} k1​+k2​=gcd(x,y)a​k1​k2​=gcd(x,y)b​(4)
因为k1,k2k1,k2k1,k2是除了gcd(x,y)gcd(x,y)gcd(x,y)之外的因子,于是k1,k2k1,k2k1,k2一定没有重复因子,于是gcd(k1,k2)=1gcd(k_{1},k_{2})=1gcd(k1​,k2​)=1

存在一个结论

若x,yx,yx,y互质,那么x+yx+yx+y与xyxyxy互质,证明如下

由辗转相除gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b)gcd(a,b)=gcd(b,a%b)
gcd(x,y)=gcd(x+y,x)=1 gcd(x,y)=gcd(x+y,x)=1 gcd(x,y)=gcd(x+y,x)=1
即x+y,xx+y,xx+y,x互质,同理对gcd(y,x)gcd(y,x)gcd(y,x)操作,可以得到x+y,yx+y,yx+y,y互质

那么(x+y)2,xy(x+y)^2,xy(x+y)2,xy一定互质,因为每个因子都不会重复,又x+yx+yx+y已经包含了(x+y)2(x+y)^2(x+y)2的所有素因子了,于是得到x+y,xyx+y,xyx+y,xy互质

利用这个结论,我们可以得到
gcd(agcd(x,y),bgcd(x,y))=1 gcd(\frac{a}{gcd(x,y)},\frac{b}{gcd(x,y)})=1 gcd(gcd(x,y)a​,gcd(x,y)b​)=1
于是
gcd(a,b)=gcd(x,y) gcd(a,b)=gcd(x,y) gcd(a,b)=gcd(x,y)
这样就可以得到gcd(x,y)gcd(x,y)gcd(x,y)的值,代入方程组(4)(4)(4)得到一个二元一次方程,就可以解出k1,k2k_{1},k_{2}k1​,k2​,从而得到x,yx,yx,y,注意解出来的k1,k2k_{1},k_{2}k1​,k2​要是正整数

// #include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

using ll=long long;
const int N=1e5+5,inf=0x3fffffff;
const long long INF=0x3fffffffffffffff,mod=998244353;

pair<ll,ll> solve(ll a,ll b)
{
    //解方程组xy=a,x+y=b
    pair<ll,ll>ret={-1,-1};
    if(b*b<4*a) return ret;
    double y=(b+sqrt(b*b-4*a))/2;
    if(fabs(y-floor(y))>1e-8) return ret;
    return make_pair(b-y,y);
}

ll a,b;

int main()
{
    ios::sync_with_stdio(false);
    while(cin>>a>>b)
    {
        ll gcd=__gcd(a,b);
        auto tmp=solve(b/gcd,a/gcd);
        if(tmp.first==-1) printf("No Solution\n");
        else printf("%lld %lld\n",tmp.first*gcd,tmp.second*gcd);
    }
    return 0;
}
WKWebView 白屏问题,WKWebView request body丢失问题 1,WKWebView 白屏问题 WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 在其它进程中执行。初次适配 WKWebView 的时候,我们也惊讶于打开 WKWebView 后,App 进程内存消耗反而大幅下降,但是仔细观察会发现,Other Process 的内存占用会... 阅读详情

相关推荐

浅谈一下小波变换和EEG信号处理

浅谈小波变换,总结不是很到位,请大家指正。

qq_45045249的博客 2862

HDU 5936 Difference 【中途相遇法】(2016年中国大学生程序设计竞赛(杭州))

Difference Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 62    Accepted Submission(s): 19 Problem Description Little Ruins

Coolxxx的博客 1682

DIY等离子环:从Class-E电路到七彩辉光,手把手教你打造炫酷科学玩具

本文手把手教你DIY一个炫酷的等离子环科学玩具。从解析等离子体辉光放电原理入手,详细介绍了核心的Class-E自激振荡电路设计、关键元件选型与参数计算,并提供了从物料准备、电路搭建、腔体密封到上电调试的全流程指南。通过调制电路或填充不同气体,还能实现七彩变换与交互效果,是学习高频电路与电磁场知识的绝佳实践项目。

weixin_29305337的博客 633

HDU 中的数学题目

//Made by syx//Time : 2010年8月14日 16:20:34//// //1071 The area//可令抛物线表达式为y= a(x-x1)^2+y1;//直线表达式为y=kx+b;//面积可通过微积分来计算a(x-x1)^2+y1 -(kx+b)在x2到x3区间内的定积分的值则为面积结果。 #include <stdio.h&gt...

aikuang5947的博客 240

自考计算机系统原理(第六章计算机系统概论)-13015

名词解释 I/O 硬件 I/O软件 用户空间I/O软件 内核空间I/O 软件 系统调用处理程序 系统调用服务例程 设备驱动程序 中断服务程序 系统级1/O函数 虚拟文件系统 文件描述符 文件元数据 流缓冲区 索引节点 目录文件 目录项 系统打开文件表 磁盘高速缓存 高速缓存 RAM I / O 控制方式 程序直接控制I/O 就绪状态 中断控制I/O 中断屏蔽字 多重中断 中断嵌套 DMA 方式 DMA 控制器 设备控制器 I/O端口 控制端口 数据端口 状态端口 I/O 地址空间 独立编址方式 统一编址方

qq_23872947的博客 1150

2025年春科研论文写作指导(如何写好科研论文)研究生网课期末考试

希望能帮助到大家

beijieweiyu的博客 5786

2016ccpc杭州赛 hdu 5934 B.Bomb

Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 58    Accepted Submission(s): 27 Problem Description There are N bombs needi

overload1997 519

在 SAP 里玩转 FTP:标准程序 RSFTP00x 全景解析与落地实践

摘要:SAP系统通过封装的标准FTP程序(RSFTP001-008)提供便捷的文件传输能力,适用于各类集成场景。关键点包括:1)依赖SAPFTP可执行程序和RFC目的地;2)使用RSFTP005进行前置检查并生成RFC配置;3)标准报表各司其职,如RSFTP002用于命令测试、RSFTP007/008提供参考实现;4)开发时组合FTP_CONNECT/COMMAND/DISCONNECT等函数模块。特别注意前台(SAPFTP)与后台(SAPFTPA)的环境差异,这是常见故障点。该方案通过标准化工具链显著降低

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 210

hdu3790 最短路径问题<最短路>

最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19990    Accepted Submission(s): 5947 Problem Description 给你n个点,m条无向边,每条

leibniz_zhang的博客 466

看28377代码笔记

使用的是20MHz外部晶振,为取200MHz系统时钟,倍频设为20,分频设为2,这样sysclock = 20MHz * 20 / 2,正好200MHz。注意:SPISTE配置成普通的GPIO端口,是为了更好控制芯片,配置芯片的时序。FMULT_0:小数点位数,小数只能有0,0.25,0.5,0.75四个选择。XTAL_OSC:表示使用外部晶振。GPIO_MUX_CPU1:复用类型。GPIO_MUX_CPU1:复用类型。PLLCLK_BY_2:表示2分频。IMULT_20:表示倍频数。

小柚子的博客 805

【C2000系列DSP的Bootloader详解】实现过程、流程图与示例代码

C2000 Bootloader 的核心逻辑可概括为 “初始化→选模式→加载程序→校验→跳转” 五步。对于小白来说,无需纠结底层寄存器配置(驱动库已封装),重点理解 “启动流程” 和 “数据传输 + 校验” 的核心思想即可。 通过本文的流程图和示例代码,相信你已经掌握了 C2000 Bootloader 的核心原理。实际开发中,可基于 TI 提供的 Bootloader 示例(C2000Ware 中自带)进行修改,快速适配自己的硬件和应用场景。

昔时扬尘处 368

LOI队内题单qwq

这是LOI队内试题单,emmm......虽然做了没三分之一_(:з」∠)_

Loi_Chairmanの博客 857

PyCharm配置SSH和SFTP远程连接服务器

关于这篇博文,主要因为公司企业都是通过本地测试,同步到服务器进行跑动,舍友看着同事丝滑的操作,让我做个教程。本着钻研的精神,写下了这篇博客记录 关于pycharm这个软件,只有专业版才有远程连接的这个配置,社区版没有(同事一再强调要专业版,学生认证还可申请免费) 关于SSH和SFTP都是一种协议 具体知识点补充可看我这篇文章: 【计算机网络】常见面试题集锦(全) SSH:提供安全通道进行远程登录 SFTP协议可以远程文件传输获取等,数据的安全传输主要由SSH连接提供

码农研究僧的博客 5533

【hdu 5945】Fxx and game(递推|dp+单调队列)

待浮花浪蕊俱尽,伴君幽独

reverie_mjp的博客 409

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

hdu 5945 Fxx and game (dp+单调队列)

Fxx and game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 347    Accepted Submission(s): 78 Problem Description Young theoretical c

clover_hxy的博客 1106

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【HDU 5945 Fxx and game】+ 单调队列

Fxx and game Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 677 Accepted Submission(s): 159Problem Description Young theoretical compute

楚江枫 581

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【HDU 5944】【暴力】Fxx and string 【给定一个字符串s,求有多少个三元组(i,j,k)满足i,j,k是等比数列且s[i]=='y'&&s[j]=='r'&&s[k]=='x'】

传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=5944 描述: Fxx and string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 103    Acc

魔笛手的博客 1224

【索引】BestCoder

BestCoder Round #88A. 5907 Find Q B. 5908 Abelian Period C. 5909 Tree Cutting D. 5910 Advanced Traffic System

Fsss 439

补题日记 + 总结 从2016-10-21至今

今年的区域赛告一段落,在大连和杭州侥幸取得一铜一金的成绩。同时博主也深刻认识到了自己的弱小,为了让自己变强大,开此贴对每天做的题进行统计,督促自己不要偷懒。   从2016-10-21日回到学校后第二天开始更新。   最近更新:2016-12-18 在这之后做的题会另行开贴给出简易题解,有意思的题会另行开贴。 ## ToDoList   12月全力突击文化课,尽量打每场比赛,暂...

weixin_30845171的博客 290

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 187

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 274

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 557

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 19

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 643

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 367
上一篇: 洛谷P1084 树上问题,思维,贪心,二分答案
下一篇: 洛谷P2261 整除分块模板
stdforces
博客等级 码龄4年 9粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值