URAL 2047 Maths (数学)

对于一个数来说,它的除数是确定的,那么它的前驱也是确定的,而起点只能是1或2,所以只要类似筛法先预处理出每个数的除数个数

,然后递推出每个数往前的延伸的链长,更新最大长度,记录对应数字。找到maxn以后,根据最后一个数找到前驱,并记录到ans数组中。

代码来自队友

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<vector>
#include<queue>
#include<string>
#include<iostream>
#include<set>
#include<map>
#define mod  1000000007
#define inf 1000000001
#define big 1570000
using namespace std;

int d[big+1];
int dp[big+1];
int ans[big+1];

void find()
{

    for (int i = 1; i <big; i++)
    {
        for (int j = i; j <= big; j += i)
            d[j]++;
    }
}

int main()
{
    find();
    dp[1] = 1;
    dp[2] = 1;
    int maxn = 0;
    int re;
    for (int i = 3; i <=big; i++)
    {
        dp[i] = dp[i - d[i]] + 1;
        if (dp[i] > maxn)
        {
            maxn = dp[i];
            re = i;
        }
    }
    for (int i = maxn; i >= 0; i--)
    {
        ans[i] = d[re];
        re -= d[re];
    }
    int n;
    scanf("%d", &n);
    if (n > maxn)
        printf("Impossible\n");
    else
    {
        for (int i = 1; i < n; i++)
        {
            printf("%d ", ans[i]);
        }
        printf("%d\n", ans[n]);
    }
    return 0;
}
时间: 2024-11-05 18:43:37

URAL 2047 Maths (数学)的相关文章

[杂题]URAL2047. Maths

题意:构造一个长度为n的串,使得 除了第一个以外,每个位置的前缀和的因子个数恰好等于该位置上的数. n$\le 100000$ 举个例子$a_i$:2   4    6     6    4    8    4    8    4   8 前缀和   :     6   12   18   22  30  34  42  46  54 6的因子:1 2 3 6 为4个  等于a[2] 12的因子:1 2 3 4 6 12 为6个  等于a[3] 18的因子:1 2 3 6 9 18 为6个  等

libgdx游戏框架介绍

libgdx作为上层为java,底层c和c++的游戏引擎.简直是优秀得一塌糊涂.  这个游戏框架最初只有1个人在维护,现在已经加入不少人了,越来越给力. libgdx的架构 很清晰, 我们先从包的结构分析: assets 代表资源包,用于资源加载等管理. audio 音频包,游戏需要播放声音时用. files 文件处理包,内部主要对象是FileHandle ,如果你用过Libgdx肯定对次很熟悉,libgdx加载纹理图片等都是通过此对象. graphics 绘画相关,就是我们要把游戏中的控件或者

美国STEAM教育顶尖教具,谷歌又一力作!

近年来,曾一度风靡美国的STEAM教育成为时下大热,在教育领域的出镜率居高不下,许多学校.教育机构甚至企业都纷纷加入了这股热潮.如果你还不知道STEAM,那可真out啦! 美国STEAM教育顶尖教具,谷歌又一力作!STEAM教育,你真的了解吗? STEAM是一种教育理念,有别于传统的单学科.重书本知识的教育方式.STEAM是一种重实践的超学科教育概念. 美国STEAM教育顶尖教具,谷歌又一力作!STEAM教育理念最早是美国政府提出的教育倡议,为加强美国K12关于科学.技术.工程.艺术以及数学的教

steam

1.steam 教育 Science(科学), Technology(技术), Engineering(工程), Arts(艺术), Maths(数学) 2.  steam 平台 Steam英文原译为蒸汽.至于为什么叫“Steam”.在Steam平台上下载游戏的速度是非常快的,速度快得就像蒸汽一样喷薄而出,令人难以置信 原文地址:https://www.cnblogs.com/justSmile2/p/9909223.html

URAL 2005. Taxi for Programmers (最短路 数学啊)

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2005 2005. Taxi for Programmers Time limit: 0.5 second Memory limit: 64 MB The clock shows 11:30 PM. The sports programmers of the institute of maths and computer science have just finished their trai

URAL 1727. Znaika&amp;#39;s Magic Numbers(数学 vector)

主题链接:http://acm.timus.ru/problem.aspx?space=1&num=1727 1727. Znaika's Magic Numbers Time limit: 0.5 second Memory limit: 64 MB Znaika has many interests. For example, now he is investigating the properties of number sets. Znaika writes down some set

URAL 1727. Znaika&#39;s Magic Numbers(数学 vector)

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1727 1727. Znaika's Magic Numbers Time limit: 0.5 second Memory limit: 64 MB Znaika has many interests. For example, now he is investigating the properties of number sets. Znaika writes down some set

URAL 2003. Simple Magic(数学啊 )

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2003 2003. Simple Magic Time limit: 1.0 second Memory limit: 64 MB Do you think that magic is simple? That some hand-waving and muttering incomprehensible blubber is enough to conjure wonderful garden

URAL 1572. Yekaterinozavodsk Great Well(数学啊)

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1572 About a month ago two teams of the Ural State University returned from the Yekaterinozavodsk training camp. This northern city impressed them so much that they decided to return there by any mean