2018湖北省赛网络赛H: GSS and OJ Submissions(分块)

标签: 分块 思维
34人阅读 评论(0) 收藏 举报
分类:

题意链接:http://cdn.vo-ov.cn/online_f9ec217.pdf


题目大意:

给出如下定义式,


给你一个n n范围为4e8,根据上述的式子跑出所有的s[n],在这些所有的s[n]中求第L小的数。


解题思路:

这场比赛最后E题和H题完全没思路,还是弱啊。不过赛后听了题解之后,感觉H题应该比E题简单一些,E题用最短路的解法比赛的时候完全没想到= = 。

总之H题就是利用分块的思想,因为s数组是 ull 型的,所以我们可以认为其中最大的数就是2^64,我们直接O(n)预先跑出所有的s[n],过程中把每个数分类,分类的具体做法就是拿每个数除以一个大数,以除大数后的商分类,这样我们就可以得到商分别为0到2000000数的个数,之后我们再直接判断出第L个数应该在哪一个商所属的数该商记为k,之后重新跑一遍所有的数把商为k的数记录到一个数组,最后把这个数组排序之后直接输入第L个即可,详细的看代码吧。


Ac代码:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
typedef long long LL;
const int maxn=1e4+5;
const ull lv=1e14;  //这个数的大小决定了你商统计数组的大小
const LL MOD=998244353;
ull A,B,s0,s;
vector<ull> v;
int n,l,num[2000005];
int main()
{
    while(scanf("%llu%llu%d%d%llu",&A,&B,&l,&n,&s0)!=EOF)
    {
        num[s0/lv]++;
        s=s0;
        for(int i=1;i<n;i++)
        {
            s0=s0*A+B;
            num[s0/lv]++;   //记录商对应的数的个数
        }
        int pos=0;
        for(int i=0;i<2000000;i++)  //统计L应在哪个范围
        {
            if(l>num[i]) l-=num[i];
            else
            {
                pos=i;
                break;
            }
        }
        for(int i=1;i<=n;i++)   //将商为pos的数记录下来
        {
            if(s/lv==pos) v.push_back(s);
            s=s*A+B;
        }
        sort(v.begin(),v.end());    //排序得出结果
        printf("%llu\n",v[l-1]);
    }
}



查看评论

今日头条杯2018湖北省大学生程序设计竞赛(网络赛)The 2018 Hubei Collegiage Programming Contest Online

蒟蒻打的是网络赛,讲道理会比WHU现场的朋友们轻松很多,然而,各种小错误不断,G交互题各种wa,赛后补题才发现自己多了一个scanf, 已被队友锤爆(倒地) 行啦,现在来个伪全题解 PROBLE...
  • Murphyc
  • Murphyc
  • 2018-04-18 19:31:15
  • 169

2018.4.15ACM省赛模拟赛心得

      经历了五个小时的模拟赛结束了,这行比赛打的我心累,自始自终我都没怎么读懂题干,更别说用什么算法了,还好有队友陪着,不然我心态早就崩了........     这次比赛我犯了一个非常严重的错...
  • Violet_ljp
  • Violet_ljp
  • 2018-04-15 08:58:32
  • 37

“今日头条杯”首届湖北省大学程序设计竞赛 网络赛-E.Jump A Jump(取模最短路)

Problem DescriptionThere's a very popular game called jump a jump recently.In order to get good mark...
  • u014258433
  • u014258433
  • 2018-04-21 15:24:38
  • 129

今日头条杯 2018 年首届湖北省大学生程序设计竞赛 (网络赛)Problem B.(计算几何)

Problem B. GSS and Interesting SculptureInput file: standard inputOutput file: standard outputTime l...
  • qq_41593380
  • qq_41593380
  • 2018-04-15 20:11:45
  • 226

今日头条杯2018湖北省大学生程序设计竞赛(网络赛)

A. GSS and CQ time limit per test1 second memory limit per test512 megabytes inputstandard input ...
  • Fire_to_cheat_
  • Fire_to_cheat_
  • 2018-04-17 21:03:45
  • 148

“今日头条”杯2018年湖北省赛(网络赛)F(tarjan缩点后找有向无环图的最长路)

有向无环图的最长路简单求法搜索博客:点击打开链接题意:给出n个点,m条边,这是一个有向图,然后问你能不能找一个最长路,那么就有一个问题如果途中有环呢,那么我们就得先用tarjan缩点,然后变成了有向无...
  • zezzezzez
  • zezzezzez
  • 2018-04-18 20:58:39
  • 29

acm沈阳站

acm竞赛暂时告一段落了,过程很惊险,也是一种体验吧
  • zhoutonglx
  • zhoutonglx
  • 2015-11-09 18:58:24
  • 453

Problem F. A-maze-ing-----“今日头条”杯2018年湖北省赛(网络赛)

“今日头条”杯2018年湖北省赛(网络赛):所有题目链接 可以提交的链接(不知道现在还能进不了,你还要有账号):传送门 Problem F. A-maze-ing 题目大意:很坑啊,当初读了...
  • nhl19961226
  • nhl19961226
  • 2018-04-16 16:23:53
  • 65

2018天梯赛、蓝桥杯、(CCPC省赛、邀请赛、ICPC邀请赛)校内选拔赛反思总结!

    才四月份,上半年的比赛就告一段落了。。    天梯赛混子,三十个人分最低,把队友拖到了国三,蓝桥杯省二滚粗,止步京城,旅游选拔赛成功选为替补二队,啊!    不过既然已经过去,我们说些乐观的一...
  • qq_38586027
  • qq_38586027
  • 2018-04-10 21:19:42
  • 82

2008年“TI杯”湖北省大学生电子设计竞赛元件清单

2008年“TI杯”湖北省大学生电子设计竞赛∴竞赛元器件清单2008年“TI杯”湖北省大学生电子设计竞赛 基本仪器、主要元器件和TI 公司提供的元器件清单本次电子设计竞赛除实验室常备仪器及元器件之外,...
  • myli0127
  • myli0127
  • 2008-08-24 14:59:00
  • 2458
    个人资料
    持之以恒
    等级:
    访问量: 8934
    积分: 906
    排名: 5万+
    最新评论