Ancestor Age - ( 中国剩余定理 - 不互质 )

开题报告该怎么写 考研即将来临,而一般很多大学都会选择在考研结束之后开始安排选题和开题报考(考研之前一般都不谈,老师也很人性化的,不愿意耽误你的复习) 但无论怎么推迟,我们最终都需要去面对并完成这些任务。 现在我就要教大家该如何写一个完整的开题报告! 准备模板。不同的学校有不同的格式,一般情况你的导师会给你们一个学校的标准格式,这个不用太费心。有了模板我们就可以按照模板的“线索”一步一步填充完成即可! 一般大致格式可谓: 研究背景/论文的目的、背景和意义 我们需要写明选择该题目的... 阅读详情
题目:

在这里插入图片描述
在这里插入图片描述

题意

给你 e 对余数与模数让你求满足条件的最小的解( 解要比所有模数大 )

思路

中国剩余定理( 不互质 ),因为求的是 满足条件的最小值( 不是最小值 ),所以在结果处取模的地方将结果+mod到满足条件即可

代码:
#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define INF 0x3f3f3f3f
#define pii pair<int, int>
//#define pdi pair<double,int>
//#define int long long
using namespace std;
typedef long long ll;
typedef unsigned long long llu;
const int maxn=1e6+10;
//const int mod=1e9+7;
ll mod;
ll gcd(ll a,ll b)
{
    if(b==0) return a;
    else return gcd(b,a%b);
}
ll Extend_Euclid(ll a,ll b,ll &x,ll & y)
{
    if(b==0)
    {
        x=1,y=0;
        return a;
    }
    ll d=Extend_Euclid(b,a%b,x,y);
    ll t=x;
    x=y;
    y=t-a/b*y;
    return d;
}
//a在模n乘法下的逆元,没有则返回-1
ll inv(ll a,ll n)
{
    ll x,y;
    ll t=Extend_Euclid(a,n,x,y);
    if(t!=1) return -1;
    else return (x%n+n)%n;
}
//将两个方程合并为一个
bool merge(ll a1,ll n1,ll a2,ll n2,ll &a3,ll &n3)
{
    ll d=gcd(n1,n2);
    ll c=a2-a1;
    if(c%d)
        return 0;
    c=(c%n2+n2)%n2;
    c/=d;
    n1/=d;
    n2/=d;
    c*=inv(n1,n2);
    c%=n2;
    c*=n1*d;
    c+=a1;
    n3=n1*n2*d;
    a3=(c%n3+n3)%n3;
    return 1;
}
ll maxx;
//求模线性方程组x=ai(mod ni),ni可以不互质
ll China_Reminder2(int len,ll *a,ll *n)
{
    ll a1=a[0],n1=n[0];
    ll a2,n2;
    for(int i=1;i<len;i++)
    {
        ll aa,nn;
        a2=a[i],n2=n[i];
        if(!merge(a1,n1,a2,n2,aa,nn))
            return -1;
        a1=aa;
        n1=nn;
    }
    mod=n1;
    if(a1!=-1)
        while(a1<maxx) a1+=n1;
    return a1;//正常是(a1%n1+n1)%n1,求最小的解; 
}
ll a[1010],b[1010];
int main()
{
    int k,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&k) ;
        maxx=0;
        for(int i=0;i<k;i++)
            scanf("%lld %lld",&b[i],&a[i]),maxx=max(maxx,a[i]);
        int ans=China_Reminder2(k,b,a);
        if(ans==-1) puts("Cannot be determined");
        else printf("%lld\n",ans);
    }
    return 0;
}
AD20丝印层导入图片logo保姆级教程(附黑白预览避坑技巧) 本文提供了一份详尽的AD20丝印层导入图片Logo的实战指南。核心在于将图片预处理为高质量的单色BMP位图,并独家分享了利用Windows画图工具进行“黑白预览”的关键技巧,以提前规避转换失真。教程涵盖了从脚本获取、图片处理、参数设置到生产规范的完整流程,帮助硬件工程师高效、准确地在PCB的Top Overlay层添加个性化标识。 阅读详情

相关推荐

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

本文提供了一份详细的Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航的避坑指南,涵盖Gazebo启动失败、场景加载问题、环境变量设置、GLIBCXX版本冲突及Nav2参数配置等5个常见报错的解决方案,帮助开发者高效完成机器人导航项目。

weixin_29062823的博客 285

中国剩余定理算法详解(互质与不互质情况)

参考 中国剩余定理: 参考博客 中国剩余定理介绍 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3 余2),五五数之剩三(除以5 余3),七七数之剩二(除以7 余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“中国剩余定理”。 具体解法分三步: 找出三个数,从3和5的公倍数中找出被7除余1(≡≡\equiv1 mod 7)的最小...

codeswarrior的博客 1万+

伪距单点定位推导+DOP值分析(附matlab仿真代码)

伪距单点定位公式推导、DOP值分析与matlab仿真分析

shannanshouyin的博客 2511

中国剩余定理(最详细说明 非互质情况)

说明一下这个解法 140满足%3=2,而且是5和7的倍数,也就是说加上140对其他数的取余结果不会有影响 同理,其他的数加上这个数就可以在不影响自生取余的情况下附带满足%3=2的性质 所以把所有这些数加起来就是满足答案的一个解,而在这个时候对于这个得到的数尽可能的消小(减去所有数的公倍数不会改变性质),就是答案 代码: #define D long long...

QAQ 9719

VC中基于TWAIN协议控制扫描仪-----初级版

PS:本人是C++小白一枚,在研究此功能时不知走了多少弯路

a1101000099的专栏 8788

给汽车芯片做‘体检’:手把手教你用IEC62380和SN29500估算功能安全失效率

本文详细介绍了如何使用IEC62380和SN29500标准估算汽车芯片的功能安全失效率,涵盖基础认知、方法论对比及实战计算。通过具体案例演示两种标准的应用流程,帮助工程师准确评估半导体器件的可靠性,确保符合ISO 26262标准要求。

weixin_28725553的博客 458

【中国剩余定理】互素与不互素的情况详解

给出 a 和 m ,一个数有逆元的充分必要条件是gcd(a,m)=1,此时逆元唯一存在,这时方程 ax ≡ 1(mod m)的最小整数解 x 称为 a 模 m 的逆元。注意这里每次求得的解都要保证是最小的解的形式,可以通过用(x%mod+mod)%mod 的形式来控制。一个整数除以3余2、除以5余3、除以7余2,求这个整数。X2除以3余0、除以5余3、除以7余0;

momo11232323的博客 4391

合并数组与非合并数组——SystemVerilog

合并型数组(packed): — 合并型数组可以实现连续的存储,赋值时不需要用 '{ }。 //合并型数组 bit [3] [7:0] b_pack // 表示3行 x 8列的数组,[3]是高维度(高维度),[7:0]是低维度(第一维) 数组中,数据排列为{b_pack[3],b_pack[2],b_pack[1],b_pack[0]},其中每个b_pack为8个bit; bit是二值逻辑,每位bit只占据1位。故24位bit只占据一个word(一般一个word为32bit)的存储空间

SummerXRT的博客 7638

HDU3579中国剩余定理(不互质的情况)

hdu 3579 Hello Kiki 中国剩余定理(不互质的情况) 对互质的情况,处理起来比较方便,可以直接套模板 本题给出不互质的模线性方程组,求出满足方程的最小正整数解 方案:对于不互质的模线性方程组,可以进行方程组合并,求出合并后的方程的解,这样就可以很快地推出方程的最终解。 两个方程合并的一种方法: x = c1 (mod b1) x = c2(mod b2)  此时b1,

幸福在路上 7341

C# 与华中数控设备通信:数控机床自动化控制与实时监测系统

华中数控系统与C#通信开发指南 核心要点 通信基础 支持串口(RS232/RS485)和以太网两种连接方式 协议选择:通用Modbus协议或华中自定义HNC协议 关键数据映射表明确各参数对应的寄存器地址和功能码 系统架构 四层架构:设备层→通信层→业务层→应用层 包含实时数据采集、指令下发、状态监控、异常处理全流程 支持Modbus和HNC协议动态切换 代码实现 串口通信使用NModbus库简化开发 提供连接管理、数据读取、指令下发完整示例 包含异常处理和超时重连机制 应用价值 实现数控机床远程监控和自动化

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2018

使用 Visual Studio Code 搭建 SAP UI5 本地开发环境

工欲善其事,必先利其器。时至今日,SAP 提供了非常多的 SAP UI5 开发工具,既包含本地搭建的,也包含浏览器里远端使用的工具,比如 WebIDE 和 Business Application Studio. 我们访问下面这个链接,就能找到所有这些工具的安装或者配置步骤: https://tools.hana.ondemand.com/#sapui5 如果想选择本地开发,SAP 推荐的工具是 Visual Studio Code,也就是本文要介绍的内容。 也可以下载 WebIDE 的本地安装包,将其安

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1万+

中国剩余定理(互质+非互质版),每日一边,算法再见!

中国剩余定理(Chinese remainder theorem(CRT)) 中国剩余定理的起源 什么是中国剩余定理呢?讲一个故事吧 秦末时期,楚汉相争,汉初三杰之一的韩信有一次带1500名兵士打仗,战死四五百人。为了统计剩余士兵的个数,韩信令士兵3人一排,多出2人;5人一排,多出4人;7人一排,多出6人。韩信据此很快说出人数:1049人。汉军本来就十分信服韩信大将军,经此之后就更加相信韩信是“天神下凡,神机妙算",于是士气大振,鼓声喧天,在接下来的战役中汉军步步紧逼,楚军乱作一团,大败而逃。韩信由此名扬天

TheWayForDream 798

【光伏风电功率预测】基于 ICEEMDAN + MSCNN-BiGRU-Attention 的并行预测模型

本文提出一种基于ICEEMDAN分解与多尺度深度学习的光伏/风电功率并行预测框架。针对多能源、多时间尺度、强非平稳特性带来的建模挑战,该模型首先通过改进的ICEEMDAN算法将原始功率序列分解为不同频段的IMF分量;随后为每个IMF构建包含多尺度CNN、双向GRU和注意力机制的子模型,实现局部特征提取与时序依赖建模;最后通过并行预测与重构获得最终功率输出。实验表明,该方法能有效解决模式混叠问题,提升预测精度,并支持光伏/风电的独立或联合预测部署,适用于风光联合调度等工程场景。

专注AI大模型,软件混淆,授权 154

1143. Lowest Common Ancestor

还是3.18的考试,写题速度太慢了,最后一题建树之后没多少时间了。还有就是java写久了,指针全光了,并且对树这种结构不太熟练。没想好如何利用二叉查找树这种特殊的数据结构,其实要查u、v,对于某个节点node,如果node.key在u和v之间的话,该节点就是那个lowest common ancestor。后来还有一个测试点没过,想了想是如果u==v的话,要按照这种格式输出But if A is ...

qq_36317051的博客 385

精雕软件(JDpaint) 5.5 绿色版

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Kth Ancestor 第k个祖先问题

题目出处 这道题目出自hackerrank的8月月赛的第三题。 题目大意: 先给出一棵树 之后有三种操作分别为:加边,查询,和删除一个节点 查询的时候要给出任意节点x的第k个祖先 每组数据有t个case 每个case边(P)的数量小于等于10^5 每个case的操作的数量(Q)小于等于10^5 题目分析: 一开始拿到这个题目的时候被搞得一头雾水,如果采用普通的暴力的办法,...

weixin_30859423的博客 486

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

1143. Lowest Common Ancestor (30)

1143. Lowest Common Ancestor (30) jnxxhzz 分类: PAT  2018-03-19 06:36:34 所属标签 PAT 甲级1143. Lowest Common Ancestor (30)【分析】【代码】1143. Lowest Common Ancestor (30)The lowest common ancestor (LCA) of two node...

jnxxhzz的博客 1725

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

1143 Lowest Common Ancestor (30 分)

1143 Lowest Common Ancestor (30 分) The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A binary search tree (BST) is recursively defined as a binary tree which has the following properti

shshbdhsjjd的博客 121

Lowest Common Ancestor

二叉搜索树,左子树是最大堆,右子树是最小堆,所以根据先序遍历的特点,大小在查询数字之间的数字就是LCA PAT里关于树的题全部不需要建树 -_-b The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A bi...

资深罚时选手 334

PAT-甲级 1143 Lowest Common Ancestor( 规律BST找LCA)

Question The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A binary search tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a

qq_51738428的博客 170

PAT Advanced 1143 Lowest Common Ancestor (30 )

PAT Advanced 1143 Lowest Common Ancestor (30 )题目描述Input Specification:Output Specification:Sample Input:Sample Output:解题思路Code 题目描述 The lowest common ancestor (LCA) of two nodes U and V in a tree is t...

gq__97的博客 259

『1143』Lowest Common Ancestor

The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A binary search tree (BST) is recursively defined as a binary tree wh...

weixin_52435933的博客 214

leetcode 236. Lowest Common Ancestor of a Binary Tree(python)

leetcode 236. Lowest Common Ancestor of a Binary Tree题目解法1:DFS解法2:BFS+字典参考 题目 Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of L...

qq_37821701的博客 491

8.27 树中等 129 Sum Root to Leaf Numbers 236 Lowest Common Ancestor of a Binary Tree

129 dfs 递归 236 深度优先搜索找路径 是 129 的优化 都没写出来!!

emmm_Yeah的博客 274

1143 Lowest Common Ancestor

因为输入的是前序遍历,根据二叉搜索树定义,可以根据前序序列建树,同时记录每个节点的父节点,根节点的父节点为NULL,map记录出现的节点,输入u,v后先判断是否存在,如果都存在则通过r->fa找到父节点,并分别记录从u、v到达根节点的路径,然后将两条路径进行对比,第一个相同的值就是LCA。

weixin_53199925的博客 492

PAT A1143 Lowest Common Ancestor (30分) (平衡二叉树中的最低公共祖先)

PAT甲级:A1143 Lowest Common Ancestor (30分) The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A binary search tree (BST) is recursi...

只想用最简短的代码刷题 315
上一篇: Function-Cuber - ( 交互 + 思维 )
下一篇: CodeForces - 1471E-Strange Shuffle ( 交互 )
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值