BZOJ 1583

Posted SiriusRen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 1583相关的知识,希望对你有一定的参考价值。

思路:

维护两个指针pointer_1和pointer_2

代表用算法一走到的位置 和算法2走到的位置

若 算法一<算法2 数组后面就插入算法一的解  pointer_1++

(记得判重)

这题卡不住heap什么鬼

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef unsigned long long ul;
ul a[4000050],c,n,a1,b1,c1,a2,b2,c2;
int main(){
    scanf("%llu%llu%llu%llu%llu%llu%llu%llu",&c,&n,&a1,&b1,&c1,&a2,&b2,&c2);
    a[1]=c;
    ul t1=a1*c/c1+b1,t2=a2*c/c2+b2;
    int pointer_1=1,pointer_2=1;
    for(int i=2;i<=n;){
        if(t1<t2){
            if(t1!=a[i-1])a[i++]=t1;
            t1=a[++pointer_1]*a1/c1+b1;
        }
        else{
            if(t2!=a[i-1])a[i++]=t2;
            t2=a[++pointer_2]*a2/c2+b2;
        }
    }printf("%llu\n",a[n]);
}

 

以上是关于BZOJ 1583的主要内容,如果未能解决你的问题,请参考以下文章

TSP基于matlab蚁群算法求解旅行商问题含Matlab源码 1583期

bzoj1913[Apio2010]signaling 信号覆盖 计算几何

BZOJ-2257: [Jsoi2009]瓶子和燃料 (中国剩余定理)

Bzoj2339--Hnoi2011卡农

uva 1583 Digit Generator(Uva-1583)

例题3-5 Digit Generator UVA - 1583