Warning: session_start(): open(/tmp/sess_e66f6bf1be15ed348c9822bb4ffb0e7c, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: mkdir(): No space left on device in /data/wiki/lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Cache.php on line 19
Temporary files directory "/data/wiki/data/tmp/dwpdf/140/" is not writable

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:namespace:牛客多校第四场 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:namespace:牛客多校第四场

牛客多校第四场

崩盘了……单调栈写不出来,拉倒(此为赛后第一时间的感想)

行吧。本场的题都很困难,也就只有两道签到题有点意思,别的实在是鸡肋……

这个页面不太想写了,因为太难的题罗列上来对能力提高也没什么帮助。

两道签到题,有趣的F题题解已经写在周报里了。B题只是用到了快速幂(不用也罢)和线性筛,代码如下:

#include<stdio.h>
 
#define MOD 1000000007
 
int prime[1000010]={0};
int f[1000010]={0};
 
void init()
{
	int i; 
    for(i=2;i<=1000005;++i)
	{
        if(!prime[i])
		{
            prime[++prime[0]]=i;
            f[i]=1;
        }
        int j;
        for(j=1;j<=prime[0];j++)
		{
            if(i*prime[j]>1000005)
			{
				break;
			}
            prime[i*prime[j]]=1;
            f[i*prime[j]]=f[i]+1;
            if(i%prime[j]==0)
			{
                break;
            }
        }
    }
    return;
}
 
long long QPow(long long bas,long long t)
{
    long long ret=1;
    for(;t;t>>=1,bas=(bas*bas)%MOD)
    {
        if(t&1LL)
        {
            ret=(ret*bas)%MOD;
        }
    }
    return ret;
}
 
int main()
{
    int t;
    scanf("%d",&t);
    init();
    while(t--)
	{
		long long x,c;
		scanf("%lld%lld",&x,&c);
		long long ans=0;
		long long tmp=QPow(c,(long long)f[x]);
        printf("%lld\n",tmp);
    }
    return 0;
}

那本题解就到这里吧。

2020-2021/teams/namespace/牛客多校第四场.1595491395.txt.gz · 最后更改: 2020/07/23 16:03 由 great_designer