正解:数论

解题报告:

这儿是,传送门qwq

又是很妙的一道题呢,专门用来对付我这种思维僵化了的傻逼的QAQ

首先看题目的数据范围,发现a<=1010000,很大的一个数据范围了呢,那这题肯定不会常规方法做是趴

然后.首先我们思考30pts怎么做,因为这题的主要做法其实就30pts能解决主要问题在于数据范围很大嘛

然后30pts要用个听起来很牛逼其实很亲民的定理--秦九韶定理

我们思考那个算式怎么算嘛,如果最傻逼的,就每次ai×xi然后算一下,一般人应该不会这么傻逼?

然后就想到一个很容易想到的东西,就是变成a+(a+(a+(a+x)*x)*x)*x这样的形式,这样就很简单而且我们可以O(m)地做掉是趴

然后这个东西就是秦九韶定理...所以说只是听起来好像很厉害其实还是比较好想的趴

然后说亲民主要读入优化会用到嘛,实在是天天用啊

接下来考虑更大的怎么做

首先如果实在想不出来了我们可以用高精度拿到点儿部分分(...话说我真的挺想有时间用高精码一发鸭,好久没写高精了...

但是NOIp好像很久没考高精了?我们就先不往这方面想

跑个题嗷,其实今天的话我觉得还是比较好想到正解的,所以说我没有想到还是很不应该,说明思维没有拓展,考试的意义没有最大程度地发挥出来鸭

就是今天不是做T3的时候没有膜法嘛,zsy学长就分享了一个方法--在做的过程中先把答案取膜然后最后输出的时候枚举一下i算出哪个i能满足取膜等于答案就好了!那时候我还觉得很妙来着!这时候居然就忘了!真的太傻逼了我!

对这里就是相同的想法鸭,我们也是对答案取膜如果取膜意义下最后的答案是0说明有很大的可能不取膜也是0对趴,如果不放心的话可以多膜几个数就没问题辣!

这里大概还是能明白的趴?

但是还有一个待解决的问题--a太大了怎么办

然后有个还是比较显然的玩意儿就是说 a*x≡(a%p)*x (mod p)

这个也太显然了?

然后推广一下就可以得到 ai*xi+ai-1*xi-1+...≡(ai%p)*xi+(ai-1%p)*xi-1+....(mod p)

这样的话相当于我们读入优化的时候直接读入的时候对每个a%p就成了,然后如果不放心多开了几个mod就多存到几个数组里就成了

大概就这样?overrrrr

放代码辽

#include<bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i)

,mb=,mc=;
ll m,n,cjk,ans[],a[],b[],c[];

inline ll read1()
{
    ;;
    '))ch=getchar();
    ;
    )+(x<<)+(ch^'),ch=getchar();
    return y?x:-x;
}
inline void read2(ll i)
{
    ;
    '))ch=getchar();
    ;
    )+(a[i]<<)+(ch^)+(b[i]<<)+(ch^)+(c[i]<<)+(ch^'))%mc,ch=getchar();
    if(!y)a[i]=-a[i],b[i]=-b[i],c[i]=-c[i];
    return;
}
inline bool check(ll x)
{
    ll ansa=,ansb=,ansc=;
    rp(j,,n){ll i=n-j;ansa=(ansa+a[i]+ma)*x%ma,ansb=(ansb+b[i]+mb)*x%mb,ansc=(ansc+c[i]+mc)*x%mc;}
     && ansb== && ansc==);
}

int main()
{
    n=read1();m=read1();
    rp(i,,n)read2(i);
    rp(i,,m)if(check(i))ans[++cjk]=i;
    printf("%lld\n",cjk);
    rp(i,,cjk)printf("%lld\n",ans[i]);
    ;
}

点我!看!傻逼!灵巧!在线!做题!

洛谷P2312 解方程 [noip2014] 数论的更多相关文章

  1. 2018.11.02 洛谷P2312 解方程(数论)

    传送门 直接做肯定会TLETLETLE. 于是考验乱搞能力的时候到了. 我们随便选几个质数来checkcheckcheck合法解,如果一个数无论怎么checkcheckcheck都是合法的那么就有很大 ...

  2. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

  3. 洛谷 P2312 解方程 题解

    P2312 解方程 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 [1,m][1,m] 内的整数解(\(n\) 和 \(m\) 均为 ...

  4. 洛谷 P2312 解方程 解题报告

    P2312 解方程 题目描述 已知多项式方程: \(a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\)求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整 ...

  5. [NOIP2014] 提高组 洛谷P2312 解方程

    题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入输出格式 输入格式: 输入文件名为equation .i ...

  6. 洛谷 P2312 解方程

    题目 首先,可以确定的是这题的做法就是暴力枚举x,然后去计算方程左边与右边是否相等. 但是noip的D2T3怎么会真的这么简单呢?卡常卡的真是熟练 你需要一些优化方法. 首先可以用秦九韶公式优化一下方 ...

  7. 洛谷P2312解方程

    传送门 思路分析 怎么求解呢? 其实我们可以把左边的式子当成一个算式来计算,从1到 $ m $ 枚举,只要结果是0,那么当前枚举到的值就是这个等式的解了.可以通过编写一个 $ bool $ 函数来判断 ...

  8. 洛谷P2312解方程题解

    题目 暴力能得\(30\),正解需要其他的算法操作,算法操作就是用秦九韶算法来优化. 秦九韶算法就是求多项式的值时,首先计算最内层括号内一次多项式的值,然后由内向外逐层计算一次多项式的值,然后就将求\ ...

  9. 洛谷P2312 解方程(暴力)

    题意 题目链接 Sol 出这种题会被婊死的吧... 首先不难想到暴力判断,然后发现连读入都是个问题. 对于\(a[i]\)取模之后再判断就行了.注意判断可能会出现误差,可以多找几个模数 #includ ...

随机推荐

  1. 【RF库Collections测试】Sort List

    Name:Sort ListSource:Collections <test library>Arguments:[ list_ ]Sorts the given list in plac ...

  2. Selenium 查找节点

    Selenium 可以驱动浏览器完成各种操作,比如填充表单.模拟点击等.比如,我们想要完成向某个输入框输入文字的操作,总需要知道这个输入框在哪里吧?而 Selenium 提供了一系列查找节点的方法,我 ...

  3. c++对象的生命周期

    C++ 的new 运算子和C 的malloc 函数都是为了配置内存,但前者比之后者的优点是,new 不但配置对象所需的内存空间时,同时会引发构造式的执行. 所谓构造式(constructor),就是对 ...

  4. 杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析

    说明 本文给出杨辉三角的几种C语言实现,并简要分析典型方法的复杂度. 本文假定读者具备二项式定理.排列组合.求和等方面的数学知识. 一  基本概念 杨辉三角,又称贾宪三角.帕斯卡三角,是二项式系数在三 ...

  5. IOS设计模式第五篇之装饰设计模式的代理设计模式

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 代理: 另一个装饰设计模式,代理,是一个代表或者协调另一个对象的行为机制.例如当你用一个tableView,你必须实现他里面的一个tableView ...

  6. 【大数据系列】MapReduce示例一年之内的最高气温

    一.项目采用maven构建,如下为pom.xml中引入的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  7. Maven —— scope 元素的值及其含义

    1.compile 缺省值,所属依赖在所有的classpath中可用,同时它们也会被打包(随着项目一起发布). 2.provided 只有当JDK或者某个容器已提供该依赖之后才使用.如servlet. ...

  8. 零基础读懂视频播放器控制原理——ffplay播放器源代码分析

    版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...

  9. LeetCode 27 Remove Element (移除数组中指定元素)

    题目链接: https://leetcode.com/problems/remove-element/?tab=Description   Problem : 移除数组中给定target的元素,返回剩 ...

  10. linux alternatives命令详解

    alternatives是Linux下的一个功能强大的命令.只能在root权限下执行.如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置. a ...