杭电2019多校第八场 Acesrc and Good Numbers——思维打表&&oeis

题意

给定 $d,x$,$f(d,k)$ 表示 $1 \sim k$ 中 $d$ 出现的次数, $k$ 满足 $f(d,k) = k$,求小于 $x$ 的最大的 $k$.

分析

正解不会...,学习了oeis大法。

打表得到前几个数字,然后取oeis上找完整的。

之所以能这么做,是因为 $k$ 只有有限个。其中最大是 $d=8$,也只有344个 (oeis A130430)。

#include <bits/stdc++.h>
using namespace std; typedef long long ll;
ll a[][] = {
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,}}; ll d, x; int main()
{
int T;
scanf("%d", &T);
while(T--)
{
scanf("%lld%lld", &d, &x);d--;
ll ans = ;
for(int i = ;i < ;i++)
if(a[d][i] <= x) ans = max(ans, a[d][i]);
printf("%lld\n", ans);
}
return ;
}

参考链接:https://blog.csdn.net/lgz0921/article/details/99609356

上一篇:2018 HDU多校第三场赛后补题


下一篇:牛客多校第三场 F Planting Trees