vector大常数的解决办法?
  • 板块学术版
  • 楼主Imitators
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/12/5 19:26
  • 上次更新2023/11/5 06:36:38
查看原帖
vector大常数的解决办法?
184069
Imitators楼主2020/12/5 19:26

noip t2我写的枚举因数。

预处理如下

#include<bits/stdc++.h>
using namespace std;
const int N=1050000,M=(1<<20)+1,MM=(1<<17)+1;
vector<int> v[N];
int main()
{

	int sum=0;
	for(int i=2;i<=M;i++)
	{
		for(register int now=1;now*i<=M;now++)
			v[now*i].push_back(i),sum++;
	}
	cout<<sum;
}

本机跑4s左右,但是通过输出,可以发现push_back只执行了1.3e7左右,幸好在考试时没都预处理到1<<20

但也与100pts无缘了。

那请问有什么方法解决vector大常数这个问题呢。

2020/12/5 19:26
加载中...