데이터 베이스 MySQL 튜토리얼 NOIP 2014 D2T3 解方程 Hash大法好

NOIP 2014 D2T3 解方程 Hash大法好

Jun 07, 2016 pm 03:48 PM
hash 방정식

题目大意:给定高次方程an*x^n...a1*x^1a0*x^0=0 求[1,m]区间内有多少个整数根 ai=10^10000,m=100W 懒得高精,考场上写的long double乱搞……30分打底50分顶天QAQ 当我终于搞定了各种非官方数据之后,我只能长跪大地,手捧鲜花,仰望上苍高喊:哈希大法好!

题目大意:给定高次方程an*x^n+...+a1*x^1+a0*x^0=0 求[1,m]区间内有多少个整数根

ai

懒得高精,考场上写的long double乱搞……30分打底50分顶天QAQ

当我终于搞定了各种非官方数据之后,我只能长跪大地,手捧鲜花,仰望上苍高喊:哈希大法好!

首先阿贝尔在200年前告诉我们 五次以上方程没有求根公式 于是我们只能枚举1~m 这个是100W

然后100W再加上1W位的精度 都不用运算直接就是跪…… 怎么办呢QAQ

哈希大法好!

令f(x)=an*x^n+...+a1*x^1+a0*x^0 易知若f(x)=0 则f(x) mod p=0

反之如果f(x) mod p=0 那么我们基本可以得出f(x)=0 p比较靠谱的时候碰撞率极低

所以我们把所有的ai都对p取模 然后对于每个解O(n)验证即可

这样是O(m*n)的 可以拿到70分 p比较靠谱的话不会挂

那么100分怎么办呢?

哈希大法好!

我们很容易就会发现f(x+p) mod p=f(x) mod p

于是我们选择一个小一些的p,预处理出0~p-1所有的f(x),然后超过p的取模即可

但是p不够大会挂啊!

于是我们多选择几个p 分别取一遍mod 只有一个值对所有的p取模之后全都0才算作解

哈希大法好!Hash Killer III至今无人AC就是在证明这个算法的正确性!哈希万岁!哈希赛高!哈希万年推!

时间复杂度O(nΣp+m) 其中Σp是选择的所有质数之和 一般选择1W左右的质数就行了

不知道为什么不管考场上拿了多少分只要回来把题切了就算做精神AC了0.0……

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define M 110
using namespace std;
typedef long long ll;
const int prime[]={10007,11261,14843,19997,21893};
int n,m,stack[1001001],top;
ll a[M][5],f[21893][5];
inline ll F(int x,int j)
{
    int i;
    ll re=0;
    for(i=n;~i;i--)
        re=(re*x+a[i][j])%prime[j];
    return re;
}
inline void Input(int x)
{
    static char s[10100];
    int i,j;
    bool flag=false;
    scanf("%s",s+1);
    for(i=1;s[i];i++)
    {
        if(s[i]=='-')
            flag=true;
        else
            for(j=0;j>n>>m;
    for(i=0;i<br>
<br>



</algorithm></iostream></cstring></cstdio>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 Redis Hash 작업을 구현하는 방법 PHP에서 Redis Hash 작업을 구현하는 방법 May 30, 2023 am 08:58 AM

해시 연산 //해시 테이블의 필드에 값을 할당합니다. 성공하면 1을, 실패하면 0을 반환합니다. 해시 테이블이 없으면 테이블이 먼저 생성된 후 값이 할당됩니다. 필드가 이미 있으면 이전 값을 덮어씁니다. $ret=$redis->hSet('user','realname','jetwu');//해시 테이블에서 지정된 필드의 값을 가져옵니다. 해시 테이블이 없으면 false를 반환합니다. $ret=$redis->hGet('사용자','지역

기계 학습 및 미분 방정식에 대한 간략한 분석 기계 학습 및 미분 방정식에 대한 간략한 분석 Apr 04, 2023 pm 12:10 PM

기계 학습은 1950년대부터 존재해 왔지만, 컴퓨터가 더욱 강력해지고 데이터가 폭발적으로 증가함에 따라 사람들이 경쟁 우위를 확보하고 통찰력을 향상하며 수익을 늘리기 위해 인공 지능을 사용할 수 있는 방법이 널리 보급되었습니다. 다양한 응용 시나리오의 경우 기계 학습 및 미분 방정식에는 광범위한 시나리오가 있습니다. 다들 이미 머신러닝을 사용해 보셨을 텐데요, 특히 신경망을 기반으로 한 딥 러닝이 여전히 인기가 많습니다. 아직도 미분 방정식을 깊이 이해해야 합니까? 답이 무엇이든 둘 사이의 비교가 필요합니다. 그렇다면 기계 학습과 미분 방정식의 차이점은 무엇입니까? 사랑 모델의 미분 방정식부터 시작해 보겠습니다. 이 두 방정식은 심리학자 존 갓(John Got)을 기반으로 부부 관계의 수명을 예측합니다.

Laravel 개발: Laravel Hash를 사용하여 비밀번호 해시를 생성하는 방법은 무엇입니까? Laravel 개발: Laravel Hash를 사용하여 비밀번호 해시를 생성하는 방법은 무엇입니까? Jun 17, 2023 am 10:59 AM

Laravel은 현재 가장 인기 있는 PHP 웹 프레임워크 중 하나이며 개발자에게 많은 강력한 기능과 구성 요소를 제공하며 LaravelHash도 그 중 하나입니다. LaravelHash는 비밀번호를 안전하게 유지하고 애플리케이션의 사용자 데이터를 더욱 안전하게 만드는 데 사용할 수 있는 비밀번호 해싱용 PHP 라이브러리입니다. 이 글에서는 LaravelHash의 작동 방식과 이를 사용하여 비밀번호를 해시하고 확인하는 방법을 알아봅니다. 라라 학습을 위한 필수 지식

하나의 기사로 해시 알고리즘과 애플리케이션 시나리오를 이해하세요. 하나의 기사로 해시 알고리즘과 애플리케이션 시나리오를 이해하세요. Apr 13, 2023 am 11:55 AM

1. 해싱 알고리즘이란 무엇입니까? 해싱과 해싱은 모두 해시라는 단어에서 유래되었습니다. 전자는 음역이고 후자는 자유 번역입니다. 임의 길이의 이진 값을 고정 길이 이진 값으로 매핑할 수 있는 알고리즘입니다. 매핑된 고정 길이 이진 값을 해시 값이라고 합니다. 우수한 해시 알고리즘은 다음 요구 사항을 충족해야 합니다. 해시 값에서 원본 데이터를 역으로 추론할 수 없으며 입력 데이터에 매우 민감하며 다른 비트로 인해 해시 값이 매우 달라집니다. 충돌이 매우 작아야 하며 해시 알고리즘의 계산 프로세스는 충분히 간단하고 효율적이어야 하며 원본 데이터가 매우 길더라도 해시 값을 빠르게 얻을 수 있습니다. 2. 해시 알고리즘의 사용 시나리오 2.1 안전한 암호화 일반적인 해시 암호화 알고리즘에는 MD5(MD5 Message-Dige)가 포함됩니다.

매일 사용하세요! HASH가 무엇인지 아시나요? 매일 사용하세요! HASH가 무엇인지 아시나요? Jul 26, 2023 pm 02:47 PM

해싱 방법의 주요 아이디어는 키 값을 기반으로 노드의 저장 주소를 결정하는 것입니다. 즉, 키 값 K를 독립 변수로 취하고 특정 함수 관계 h(K)를 통해(해시 함수라고 함) , 해당 함수 값이 온다

방정식은 이진 트리 숲입니까? 데이터에서 직접 알려지지 않은 지배 방정식과 물리적 메커니즘을 발견하세요. 방정식은 이진 트리 숲입니까? 데이터에서 직접 알려지지 않은 지배 방정식과 물리적 메커니즘을 발견하세요. Apr 08, 2023 pm 06:11 PM

연구자들은 자동 지식 발견을 달성하기 위해 기계 학습 방법을 사용하여 고차원 비선형 데이터에서 직접 가장 가치 있고 중요한 고유 법칙을 자동으로 마이닝(즉, 문제 뒤에 있는 PDE 기반 지배 방정식을 마이닝)하기를 희망합니다. 최근 Eastern Institute of Technology, University of Washington, Ruilai Intelligence, Peking University 및 기타 기관의 연구팀은 기호 수학을 기반으로 하는 유전 알고리즘 SGA-PDE를 제안하여 데이터에서 모든 형태의 제어를 직접 마이닝할 수 있는 공개 후보 세트를 구성했습니다. . 실험에 따르면 SGA-PDE는 버거 방정식(상호작용 항 포함), Korteweg-de Vries 방정식(KdV, 고차 미분 항 포함) 및 Chafee-In을 마이닝할 수 있을 뿐만 아니라

Redis의 기본 데이터 타입인 Hash의 일반적인 연산 예시 분석 Redis의 기본 데이터 타입인 Hash의 일반적인 연산 예시 분석 May 31, 2023 am 10:43 AM

Redis 데이터 유형 Hash의 일반적인 작업 Redis의 Hash는 문자열 유형 필드와 값의 매핑 테이블입니다. 특히 객체 저장에 적합한 각 해시는 40억 개 이상의 키-값 쌍을 저장할 수 있습니다. 파이썬에 익숙한 어린이 신발은 사전적 딕셔너리라고 생각하시면 됩니다. 이전 데이터 유형 저장소는 k-v이고 해시 저장소는 k-dict이며 dict는 자체 k-v를 갖습니다. 1. hset은 해시 테이블의 필드에 값을 할당합니다. 해시 테이블이 없으면 새 해시 테이블을 생성하고 hset 작업을 수행합니다. 해당 필드가 해시 테이블에 이미 존재하는 경우 이전 값을 덮어씁니다. hsetmyhashk1v1 2, h

Redis 명령에 대한 자세한 설명: 키, 문자열 및 해시 Redis 명령에 대한 자세한 설명: 키, 문자열 및 해시 Jun 21, 2023 am 09:21 AM

Redis는 일반적인 고성능 키-값 스토리지 데이터베이스입니다. string, hash, list, set, sortedset 등 다양한 데이터 유형을 지원하며 이러한 데이터 유형을 작동하는 다양한 명령을 제공합니다. 이 기사에서는 가장 일반적으로 사용되는 세 가지 Redis 데이터 유형(키, 문자열, 해시)을 심층적으로 살펴보고 일반적인 명령을 소개합니다. keyRedis의 키는 문자열 유형입니다.

See all articles