MZ Training 2014 #6 C题

这个题的题目真的很恼火》。。。。。。。

简单解释一下,就是输入n和m,先求一个数列x[],x[i]表示i%m的值;然后又用一个数组s[],s[i]表示从x[i]起往前数,有多少个连续的不大于x[i]的数(包括x[i]自己)。然后求s[]所有元素和对m取余的结果。(n,m<=100000)

其实我们马上就可以想到,不需要存那么多的数:每次用i减去x[i]往后找第一个出现的大于x[i]的数的下标就是s[i],这样就可以维护一个单调递减的栈,每次新元素入队,就把栈顶及以后所有不大于x[i]的数扔出去就可以了;每次s[i]=stack[top].xiabiao-stack[top-1].xiabiao(这么写应该看得懂吧。。。。)。

如果你把所有s[i]加起来在对m取模,那你就要开long long(100000*100000,int君表示无力);如果你边加边取模就不用了。

<span style="font-size:18px;color:#ffffff;background-color: rgb(0, 0, 0);">#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int prime[100010],k=1;
bool p[1300010];
int t,n,m;
int stack[100010],top=0;
int is[100010];
int main()
{
	memset(p,true,sizeof(p));
	prime[k]=2;
	for(int i=3;;i+=2)
	{
		if(p[i]) prime[++k]=i;
		for (int j=1,t;j<=k&&(t=prime[j]*i)<1300000;j++)  
        {  
            p[t]=false;  
            if(i%prime[j]==0) break;
        }
        if(k==100000) break;
	}
	int ans,q;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		top=0;
		stack[top]=0x3f3f3f3f;is[top]=0;
		ans=0;
		for(int i=1;i<=n;i++)
		{
			q=prime[i]%m;
			while(stack[top]<=q) top--;
			stack[++top]=q;is[top]=i;
			ans+=is[top]-is[top-1];
			ans%=m;
		}
		printf("%d\n",ans);
	}
	return 0;
}</span>
不流失,不蒸发,一袋能顶两袋撒 没坷垃,我们怎么种庄稼!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: c3725-adventerprisek5-mz.image 是一种Cisco设备的操作系统映像文件。这个映像文件是为Cisco 3725路由器设计的,并且基于Adventerprise技术。 Adventerprise是Cisco IOS软件平台的一种版本,它提供了一系列的高级企业级功能和服务。与其他版本的Cisco IOS相比,Adventerprise版本具有更多的功能和可用性,适用于中大型企业网络环境。 这个映像文件的命名中"mz"表示这是一个稳定的主要版本,即主line版本。而"adventerprisek5"则表示这是基于Adventerprise技术的第五个版本。 使用这个映像文件,可以将Cisco 3725路由器升级到Adventerprise技术的第五个版本,以获得更多的功能和性能优化。路由器的操作系统是网络设备的核心,它决定了设备的功能和性能表现。因此,选择适合网络环境和需求的操作系统映像文件非常重要。 总结来说,c3725-adventerprisek5-mz.image是一种Cisco 3725路由器使用的操作系统映像文件,基于Adventerprise技术,提供了丰富的企业级功能和服务。通过升级到这个映像文件,可以获得更好的性能和功能优化。 ### 回答2: c3725-adventerprisek5-mz.image指的是Cisco网络设备上的镜像文件。 首先,c3725是指Cisco 3725路由器型号。这是一种中型企业级路由器,用于构建中等规模的企业网络。 adventerprisek5代表了该镜像文件的特定版本,K5表示它支持Advanced Enterprise Services功能集,这意味着它具有高级的路由、交换、安全和管理功能。 -mz表示这个镜像文件是在主线(Major Zoology)开发路线上构建的。这种路线通常是在正式版本发布之前用于测试和开发的。 image表示这是一个操作系统的镜像文件,用于安装到Cisco设备的闪存中。这个镜像文件包含了操作系统的核心功能和驱动程序,以及一些附加功能和服务。 因此,c3725-adventerprisek5-mz.image就是适用于Cisco 3725路由器的高级企业级操作系统镜像文件。通过安装这个镜像文件,网络管理员可以获得高级的路由、交换、安全和管理功能,以满足中等规模企业网络的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值