NOIP 2012 T2 国王游戏 (贪心+高精)

原创 2016年08月30日 23:29:31

思路:

呃呃网上那么多题解写得都不错…..

就是高精 巨坑。。。

这里展出的是任氏高精(纯自己yy滴)

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm> 
using namespace std;
int n,temp[5555],len,A[5555],ans[5555],ans_max;
char s[11],jya[11];
struct Node{
    char a[11];
    int alen,b;
}node[1005];
bool cmp(Node x,Node y){
    int xa=0,ya=0;
    for(int i=x.alen-1;~i;i--)xa=xa*10+x.a[i];
    for(int i=y.alen-1;~i;i--)ya=ya*10+y.a[i];
    return xa*x.b<ya*y.b;
}
int main(){
    scanf("%d",&n);
    scanf("%s%d",s,&node[0].b);
    len=strlen(s)-1;
    for(int i=0;i<=len;i++)A[i]=s[len-i]-'0';
    for(int i=1;i<=n;i++){
        scanf("%s%d",jya,&node[i].b);
        node[i].alen=strlen(jya);
        for(int j=0;j<node[i].alen;j++)
            node[i].a[j]=jya[node[i].alen-j-1]-'0';
    }
    sort(node+1,node+1+n,cmp);
    for(int i=1;i<=n;i++){
        memset(temp,0,sizeof(temp));
        int res=0,maxx=0;
        for(int j=len;~j;j--){
            res=res*10+A[j];
            temp[j]=res/node[i].b;
            if(temp[j])maxx=max(maxx,j);
            res=res%node[i].b;
        }
        for(int j=5000;~j;j--)
            if(ans[j]<temp[j]){
                for(int j=maxx;~j;j--)
                    ans[j]=temp[j];
                    ans_max=maxx;
                    break;
            }
            else if(ans[j]>temp[j])break;
        memset(temp,0,sizeof(temp));
        for(int j=0;j<=len;j++)
            for(int k=0;k<node[i].alen;k++)
                temp[j+k]+=A[j]*node[i].a[k];
        for(int j=0;j<=len+10;j++){
            temp[j+1]+=temp[j]/10;
            temp[j]=temp[j]%10;
            if(temp[j])len=j;
        }
        for(int j=len;~j;j--)A[j]=temp[j];
    }
    for(int j=ans_max;~j;j--)printf("%d",ans[j]);
}

这里写图片描述

版权声明:本文由SiriusRen原创,但可以转载,因为我们是兄弟 爬虫能爬到这句话么哈哈哈 举报

相关文章推荐

洛谷 [NOIP2012 D1T2] P1080 国王游戏

贪心+高精度

noip2012 国王游戏 (高精除,高精乘+大数比较与替换+数论)

P1779国王游戏 Accepted 标签:贪心高精度NOIP提高组2012 描述 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

NOIP2012d2t2 国王游戏

原题链接:https://vijos.org/p/1779 题目大意:国王和n个大臣站成一列,编号为0,1,2...n(国王在队首)每个人有两个数字(ai,bi),0 问如何排列大臣的序列,使(a0*...

【jzoj3100】【NOIP2012提高组】【国王游戏】【贪心】【高精度】

题目大意恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这n位大臣排成一排,国王站在队伍的最前面。排好队后...

CODE[VS] 1198【NOIP2012】 国王游戏(贪心

一道经典的贪心思想题目 因为要求最大值最小的限制 容易理解成为二分 但不满足单调 所以二分不可取 (神TM高精除QAQ (╯‵□′)╯︵┻━┻ 题目描述 Description 恰逢 H...

NOIP2013 D1 T2 国王游戏

Description恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n位大臣排成一排,国王站...

洛谷 P1005 Tyvj P1054 [NOIP2007 T3] 矩阵取数游戏 [60分 非高精]

动规

【NOIP2012提高组】国王游戏

Description现在有n+1个人在愉快滴玩游戏~~每个人从0~n编号,并且有a,b两个值。其中编号为0的人必须排在第一个,然后其他人可以任意排。每个人的得分=他前面所有人的a值乘积/他自己的b值...

NOIP2012国王游戏

题目描述: 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍...

noip2012国王游戏

【题目描述】 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n位大臣排成一排,国王站在队伍的...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)