首页 > 其他分享 >用心感受(三)

用心感受(三)

时间:2024-08-07 11:52:53浏览次数:9  
标签:prime 10000005 感受 long int x2 用心 x1

  • 杜教筛要预处理+记忆化才拥有正确的复杂度
点击查看代码
#include <bits/stdc++.h>
using namespace std;
unordered_map<int,long long>q1,q2;
int v[10000005],prime[1000005],m;
int x1[10000005],x2[10000005],S1[10000005];
long long S2[10000005];
long long n,a;
long long s1(int n)
{
	if(n<=10000000)
	{
		return S1[n];
	}
	if(q1.find(n)!=q1.end())
	{
		return q1[n];
	}
	long long sum=1;
	long long l=2,r=0;
	while(l<=n)
	{
		r=n/(n/l);
		sum-=(s1(n/l)*(r-l+1));
		l=r+1;
	}
	return q1[n]=sum;
}
long long s2(int n)
{
	if(n<=10000000)
	{
		return S2[n];
	}
	if(q2.find(n)!=q2.end())
	{
		return q2[n];
	}
	long long sum=1;
	long long l=2,r=0;
	while(l<=n)
	{
		r=n/(n/l);
		sum-=(s2(n/l)*(l+r)*(r-l+1)/2);
		l=r+1;
	}
	return q2[n]=sum;
}
long long s3(int n)
{
	long long sum=0;
	long long l=1,r=0;
	while(l<=n&&l<=a)
	{
		r=a/(a/l);
		if(r>n)
		{
			r=n;
		}
		sum+=(a/l*(s2(r)-s2(l-1)));
		l=r+1;
	}
	return sum;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	x1[1]=x2[1]=S1[1]=S2[1]=1;
	for(int i=2;i<=10000000;i++)
	{
		if(v[i]==0)
		{
			v[i]=i;
			prime[++m]=i;
			x1[i]=-1;
			x2[i]=-i;
		}
		S1[i]=S1[i-1]+x1[i];
		S2[i]=S2[i-1]+x2[i];
		for(int j=1;j<=m;j++)
		{
			if(i*prime[j]>10000000||prime[j]>v[i])
			{
				break;
			}
			v[i*prime[j]]=prime[j];
			if(x1[i]==0||prime[j]==v[i])
			{
				x1[i*prime[j]]=0;
				x2[i*prime[j]]=0;
			}
			else
			{
				x1[i*prime[j]]=x1[i]*(-1);
				x2[i*prime[j]]=x1[i*prime[j]]*(i*prime[j]);
			}
		}
	}
	int T;
	cin>>T;
	while(T--)
	{
		cin>>n>>a;
		cout<<a*s1(n)-s3(n)<<endl;
	}
	return 0;
}

标签:prime,10000005,感受,long,int,x2,用心,x1
From: https://www.cnblogs.com/watersail/p/18346768

相关文章

  • 2024.8广东集训体验/感受
    2024.8广东集训体验/感受出于某些不明原因,我并不方便点名道姓这次集训所在学校是哪一所学校,因此我将称其为"最美中学".FunFact:我甚至找不到一篇较官方的文档介绍这些最美中学,真是个草台班子.写这篇文章并不想单纯的开喷,我要从好坏两个方面描述一下这所中学.首先说一下好......
  • 谈一谈我使用 Kali Linux 作为主力系统的感受
    我使用KaliLinux也有一年多的时间了,由于我习惯了Linux/UNK的环境,所以我的电脑上只有一个系统,那就是kaliLinux。是的,你没有听错只有一个KaliLinux作为主力系统没有包含Windows,使用KaliLinux作为主力系统是方便学习Linux与网络安全相关知识。这是肯定就有人问了:你......
  • .h264 .h265 压缩率的直观感受
    1.资源文件  https://download.csdn.net/download/twicave/89579327上面是.264.265和原始的YUV420文件,各自的大小。2.转换工具:2.1.h264.h265互转可以使用ffmpeg工具:[email protected]命令行参数:ffmpeg-iTennis1080p.h264-c:vlibx265-preset......
  • Qmi8658a姿态传感器使用心得(4)linux
    1.FIFO结构与大小FIFO数据可以包含陀螺仪和加速度计数据,通过SPI/I2C/I3C接口以突发读模式读取。FIFO大小可配置为16样本、32样本、64样本或128样本(每个样本为6字节)。2.FIFO模式Bypass模式:禁用FIFO功能。FIFO模式:FIFO满后停止写入新数据,直到主机读取FIF......
  • 细胞如何感受到底料的“粘”与“弹”?揭秘粘弹性与细胞行为的奥秘
    在二维(2D)细胞培养中,研究者们发现细胞对培养底物的粘弹性(即材料的粘性和弹性)非常敏感,并建立了“分子离合器”模型来解释这一现象。该模型揭示了细胞如何感知和响应底物的粘弹性,并为我们理解细胞与环境的相互作用提供了新的视角。本文主要内容包括:1.细胞与底物相互作用2.细......
  • Qmi8658a姿态传感器使用心得(3)linux
    中断模式1.说明:SyncSample模式:CTRL7.bit7(SyncSample)==1启用SyncSample模式。INT1:CTRL9握手信号、运动事件中断(AnyMotion,NoMotion,SignificantMotion,Pedometer,Tap)。INT2:DRDY信号。非SyncSample模式:CTRL7.bit7(SyncSample)==0启用非SyncSample模式。......
  • 半路出家程序员感受:非科班出身如何转行程序员?
    非科班出身是指那些大学专业为非计算机相关专业的人群,多数人对于计算机基础了解比较少,甚至零基础。这部分人群中有相当多一部分处于对于编程的兴趣和外界了解的印象想转行成为一名程序员。非科班出身与计算机科班出身相比有着天然的劣势,在计算机基础和编程认知上缺失,但如......
  • 【稳定检索】2024年应用心理学与现代化教育国际会议(APMEIC 2024)
    2024年应用心理学与现代化教育国际会议2024InternationalConferenceonAppliedPsychologyandModernEducation【1】会议简介    2024年应用心理学与现代化教育国际会议的主要目的是推动应用心理学与现代化教育领域的交叉融合与发展。本次会议旨在深入探讨应......
  • 19 元服务使用心得
    Atomic原子元数据描述数据的数据可以理解为鸿蒙版小程序轻量化免安装(严格来说需要安装但是较小无感)独立入口能够为用户提供一个或者多个便捷的新型应用形态所有文件不超过2M元服务与应用对比首包和分包首包:hap里面放首次打开首页和用到的资源分包:hsp放其他功......
  • 工作感受月(2024年07月)
    224年07月01日今日工作事项:1/上午处理appserviceplan的cpu和memory指标数据显示为0,影响了autoscale的正常运行。情况很不乐观。明天是否还是一样问题呢?2/处理手中旧事,跟进全部案例24个中的10+的案例,问是否可以关闭。总关闭量在5个。3/下午一个azurepolicy的case,是需要......