Special equations(数学筛)

利用R批量计算相关系数 批量求相关系数 阅读详情

  Let f(x) = anxn+...+a1x+a0, in which ai (0 <= i <= n) are all known integers. We call f(x) 0 (mod m) congruence equation. If m is a composite, we can factor m into powers of primes and solve every such single equation after which we merge them using the Chinese Reminder Theorem. In this problem, you are asked to solve a much simpler version of such equations, with m to be prime’s square.
Input
  The first line is the number of equations T, T<=50.
  Then comes T lines, each line starts with an integer deg (1<=deg<=4), meaning that f(x)’s degree is deg. Then follows deg integers, representing an to a0 (0 < abs(an) <= 100; abs(ai) <= 10000 when deg >= 3, otherwise abs(ai) <= 100000000, i < n). The last integer is prime pri (pri<=10000).
  Remember, your task is to solve f(x) 0 (mod pri*pri)
Output
  For each equation f(x) 0 (mod pri*pri), first output the case number, then output anyone of x if there are many x fitting the equation, else output “No solution!”
Sample Input

4
2 1 1 -5 7
1 5 -2995 9929
2 1 -96255532 8930 9811
4 14 5458 7754 4946 -2210 9601

Sample Output

Case #1: No solution!
Case #2: 599
Case #3: 96255626
Case #4: No solution!

问是否存在x,使得fx模pri2为0。

可以注意到
1.pri范围很小
2.f(a)整除pri,则f(a + ka)整除pri
3.若f(a)整除pri2,则f(a)整除pri。

所以我们可以分两步,先把pri剩余系内满足f(a)整除pri的找出来,
然后依次取出,枚举pre2 范围内的a的倍数,这样就可以快速找到x,如果找不到,就不存在。
类似于素数筛的想法。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
#include<map>
#include<vector>
#include<stack>
#include<utility>
#include<sstream>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 1005;
ll a[10];
ll work(ll x)
{
    ll ans = 0;
    for(ll i = 4;i >= 0;i--)
        ans = ans*x + a[i];
    return ans;
}
int main()
{
    #ifdef LOCAL
    freopen("C:\\Users\\巍巍\\Desktop\\in.txt","r",stdin);
    //freopen("C:\\Users\\巍巍\\Desktop\\out.txt","w",stdout);
    #endif // LOCAL
    int t,kase = 1;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        ll p;
        scanf("%d",&n);
        memset(a,0,sizeof(a));
        for(ll i = n;i >= 0;i--)
            scanf("%lld",&a[i]);
        scanf("%lld",&p);
        vector<ll>vt;
        for(ll i = 0;i < p;i++)
        {
            if(work(i)%p == 0)
                vt.push_back(i);
        }
        bool ok = false;
        ll ans;
        for(ll i = 0;i < vt.size();i++)
        {
            ll j = vt[i];
            for(;j < p*p;j = j + p)
            {
                if(work(j)%(p*p) == 0)
                {
                    ok = true;
                    ans = j;
                    break;
                }
            }
            if(ok)break;
        }
        printf("Case #%d: ",kase++);
        if(ok)
            printf("%lld\n",ans);
        else
            printf("No solution!\n");
    }
    return 0;
}
lwip-2.0.3 lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。 立即下载

相关推荐

好书分享:Control and Estimation with MATLAB(5th Edition)pdf

基于MATLAB的控制与估计》(第5版)由八章组成,包括控制算法和设计。主要内容包括状态估计和数据平滑、RLS和卡尔曼滤波器状态估计、控制系统设计、自适应控制和PID。书中的概念已经使用MATLAB和Simulink实现。提供了可下载的MATLAB和Simulink文件。适合人群:大学生、研究生、控制类工程研究人员。需要电子版pdf,回复索取。

jixianhu的博客 1510

HDU 4569 Special equations(取模)

Special equations Time Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64u SubmitStatusPracticeHDU 4569 Description   Let f(x) = anxn+...+ a1x +a0, i...

apk6909的博客 163

MCP详解:手把手教你理解和如何使用各种开源MCP服务

MCP 作为一种开放协议,为 AI 模型与外部世界的连接提供了标准化的解决方案。它不仅降低了开发门槛,还极大地扩展了 AI 应用的边界。无论是开发者还是普通用户,都可以通过 MCP 更高效地利用 AI 技术,实现更多智能化的功能。

王哥儿聊AI的博客 6054

Special equations

Problem Description   Let f(x) = anxn+...+ a1x +a0, in which ai(0 <= i <= n) are all known integers. We call f(x) 0 (mod m) congruence equation. If m is a composite, we can factor m into powe...

weixin_30443895的博客 128

Android开发工程师面试问题与参考答案

这是一份Android开发工程师职位面试指南,主要针对自研OS开发岗位。岗位要求3年以上独立开发经验,熟悉Android平台UI设计、四大组件和Java基础。面试问题覆盖五大核心领域:基础知识、开发经验、技术深度、问题解决和性能优化。文章提供了典型面试问题及专业参考答案,帮助应聘者准备关键技术点,如多线程处理、HashMap与ConcurrentHashMap区别、Handler机制等。同时建议应聘者结合项目经验展示优化能力,并注意公司提供完善的薪酬福利和团队文化。

郑伟强dev的专栏 892

Python地理数据处理 十七:植被物候提取和分析(Savitzky-Golay)

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于生态工程保护建设和植被自然生长等因素,中国陆地生态系统发挥了重要的碳汇作用。因此,定量评估植被时空动态变化是制定生态系统可持续发展目标和衡量生态系统固碳潜力的重要前提,卫星遥感数据衍生的生态参量产品为研究长时间序列全球及区域植被时空变化提供了重要数据源。SG滤波能够对物候信息进行平滑,并提取其中的物候信息

amyniez的博客,欢迎交流讨论 4246

HDU-4569 Special equations (数学)

看到Special Judge和中国剩余定理就有点怕,直接题解了...发现这对数学好的人来说又是一道简单题 题目只求任意一个x使f(x)%(pri*pri)=0,满足这个的必要条件是f(x)%(pri)=0,所以先在0~pri中枚举x,若找不到符合条件的则无解,找到则令x+=pri再次在x~pri*pri中枚举x,若找不到符合条件的则无解,找到则为答案。

idealism_xxm的专栏 756

1.为什么要学习MATLAB

学习MATLAB

FPGA/MATLAB学习教程/源码/项目合作开发 5804

HDU - 4569 Special equations(同余模定理)

题目链接:点击查看 题目大意:给出多项式,现在给出多项式的每一项的系数,再给出模mod 现在问满足f(x)%(p*p)==0的最小x是多少 题目分析:我们可以知道,满足f(x)%(p*p)==0的x一定满足f(x)%p==0,而且这个题目给的p比较小,我们可以先找一遍满足后面公式的所有x,然后因为f(x)是多项式,所以根据同余模定理,我们可以知道f(x)一定满足f(x+k*p*p)%(p*p...

Falcon的博客 357

AutoSAR系列讲解(实践篇)12.1-Diagnostics简介

主要概括性的讲解了诊断协议UDS和AutoSAR的诊断架构

雪云飞星的博客 1万+

【python股票价格预测】基于LSTM(长短期记忆网络)的股票价格预测(附python代码)

【python股票价格预测】基于LSTM(长短期记忆网络)的股票价格预测(附python代码)

k8291121的博客 1011

ZOJ 1204Additive equations

很久一起折腾过这道题。印象中折腾了很久,但是一直弄不出来。现在有了经验,顺利做出来了,感觉非常棒,自己终于有了提升。 Search Problems,用Dfs解。由于没有考虑数字排序的问题错了几次。   //ZOJ 1204Additive equations #inclu

zillion217的专栏 704

第1课:开篇扫盲——OpenClaw是什么?能帮你解决什么问题?(入门必看)

核心目标:学会安装、卸载、管理OpenClaw技能,自定义AI代理的性格与权限,让AI贴合自己的使用习惯。核心内容技能市场详解:ClawHub市场核心技能分类(办公、学习、开发、生活),热门技能推荐(web-search、文件处理、邮件管理)[superscript:3][superscript:4]。技能安装与卸载:终端命令实操(openclaw skill install/uninstall),技能更新与版本管理[superscript:3]。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1754

HDU 4569 Special equations (数学题)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4569 题意:给你一个最高幂为4的一元多项式,让你求出一个x使其结果模p*p为0. 题解:f(x)%(p*p)=0那么一定有f(x)%p=0,f(x)%p=0那么一定有f(x+p)%p=0。 所以我们可以开始从0到p枚举x,当f(x)%p=0,然后再从x到p*p枚举,不过每次都是+p,找到

lamborghini1993 1557

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

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

hdu 4589 Special equations

求一个数x,使得f(x) % (pri * pri) == 0。暴力,数学题。写完了去找了下题号= = #include #include using namespace std; long long arr[6]; int main() { int t, cas = 0; scanf("%d", &t); while (t--) { in

菜鸟 492

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Special equations ----(hdu4569)数学思维

Let f(x) = a nx n +...+ a 1x +a 0, in which a i (0 <= i <= n) are all known integers. We call f(x) 0 (mod m) congruence equation. If m is a composite, we can factor m into powers of primes and solve

xiaohang3414的博客 306

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学题-hdu-4569-Special equations

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4569 题目意思: 给一个不超过四次的一元多项式,求一个x使得该多项式的值mod给定质数p的平方为0. 解题思路: 设给定的多项式为f(x)=a4*x^4+a3*x^3+a2*x^2+a1*x+a0 显然f(x+p^2)=f(x)mod(p^2).故只需讨论0~p^2范围内(其他数如果

cc_again的专栏 1151

HDU 4569 Special equations 解题报告

题目 比赛 题意: 有一个等式f(x) = a nx n +...+ a 1x +a 0,已知所有的系数。有一个素数p,求任意使得f(x)%(p*p)=0的x。 题解1: 这个方法我没想到,是别人告诉我的:若f(x)%(p*p)=0,则f(x)%p=0。所以先求出所有模p为0的x,那么这些解每隔一个·p都可能满足f(x)%(p*p)=0。 无代码 题解2: 这题有公式,

Tri_integral的专栏 1058

[HDU 4569] Special equations (数学+技巧+脑洞)

HDU - 4569 给你一个多项式,求使得多项式 mod (P*P)的平方为 0的解刚开始题目扯了一堆 CRT啥啥啥的,其实是烟雾弹 注意到这题 P只有 1e4,意味着可以从 0..P-1 枚举出 x的解 因为根据 mod 的性质,以及 f(x)是多项式 如果 f(x)%P=0,那么 f(x+P)%P=0 所以只需要枚举 0..P-1就好了 但是这题求的是 mod P*P就比较麻烦,乘

MisDeer's blog 343

HDU4569-Special equations-小优化简单题

求是否有x满足 f(x) = anxn +...+ a1x +a0  的值mod pri*pri为0 其中pri 如果这个值mod pri*pri为0则这个数mod pri肯定为0。所以我们先找那些数mod pri为0 然后在将他加不断加pri就可以了。。 #include using namespace std; int t; long long m,mm; int n; int ka

lyc1635566ty的博客 717

hdu4569 Special equations

Special equations Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 184 Accepted Submission(s): 92 Special Judge Problem Description   Let f(

习惯与规则决定命运 739

HDU 4569 Special equations

题解: 如果x满足f(x)%(pri*pri)==0,那么一定有f(x)%p==0,那么一定会有f(x+p)%pri==0,于是可以先找到0到prime中满足f(x)%p==0的x,然后从x开始遍历到pri*pri,每次遍历+pri,如果有满足f(i)%(pri*pri)存在,输出i即可 #include #include #include #define ll long long u

zamac1993的专栏 527

2013长沙邀请赛Special equations

解方程:f(x)%m=0,给出

奈何陵琛 516

【HDU4569】Special equations(数论,优化暴力)

练习做了一套2013长沙邀请赛

企鹅学coding~ 1460

HDU4569/2013年长沙赛区Special equations

Description Let f(x) = anxn+ ... + a1x+ a0,in which ai (0 n)are all known integers. We call f(x) º 0 (modm)congruence equation. If m is acomposite, we can factor m intopowers of primes and solve e

涅槃phy的专栏 1217

hdu4589 Special equations(数论)

Special equations Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 206    Accepted Submission(s): 108 Special Judge Problem Description

小爱的专栏 1124
上一篇: So Easy!
下一篇: 搬家
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值