HDU - 4135 +HDU - 1796 +HDU 1695 容斥原理三题

求1~n与x互质的数的个数(6个题、容斥原理) HDU 4135、POJ 2773、HDU 1695、HDU 2841、ZOJ 2836、HDU 1796 HDU 4135 Co-prime 题意: 求[l,r][l,r]与xx互质的数的个数 分析: 裸题 代码:// // Created by TaoSama on 2015-10-24 // Copyright (c) 2015 TaoSama. All rights reserve 阅读详情

具体可以参考http://www.cnblogs.com/kane0526/archive/2013/03/14/2795446.html
写的挺好的。。

先是比较基础的,

int prime[100];
LL gao(LL n,LL m){
    int pn=0;
    for(LL i=2;i*i<=m;++i){//求一个数的质因数的模板
        if(m%i)continue;
        while(m%i==0)m/=i;
        prime[pn++]=i;
    }
    if(m!=1)prime[pn++]=m;
    int g=(1<<pn);
    LL ret=0;
    for(LL i=1;i<g;++i){
        int tmp=i,k=0,num=1;
        for(int j=0;j<pn;++j){
            if(tmp&1)k++,num*=prime[j];
            tmp>>=1;
        }
        if(k&1)ret+=n/num;
        else ret-=n/num;
    }
    return n-ret;
}
int main(){
    int cas=0;
    int T;sf("%d",&T);
    while(T--){
        LL a,b,n;
        sf("%lld%lld%lld",&a,&b,&n);
        LL ans=gao(b,n)-gao(a-1,n);
        pf("Case #%d: %lld\n",++cas,ans);
    }
}

参考http://blog.youkuaiyun.com/acm_cxlove/article/details/7877440
然后是hdu1796的应用:其实就只是要看出
发现如果A1/B1=A2/B2那么就有一棵树看不到,所以就是找出Ai/Bi有多少种。

再可以发现A/B中,如果A,B有大于1的公约数,则A=A’*D B=B’*D,那么A/B=A’/B’,也就是存在另外一组数和这种相等,则问题转换成有多少对互质的数,枚举i,从1-M中找与i互质的数,其中1<=i<=N。
怕手生,写了个dfs版的,
居然没有快。。J

int n,m;
int prime[8];
LL ret;
int pn;
void dfs(int pos,LL now ,int step){
    if(pos>pn)return    ;
    if(step&1)ret+=m/now;
    else ret-=m/now;
    for(int i=pos+1;i<pn;++i){
        dfs(i,now*prime[i],step+1);
    }
}
LL gao(int n,int m){
    pn=0;
    for(int i=2;i*i<=m;++i){//求一个数的质因数的模板
        if(m%i)continue;
        while(m%i==0)m/=i;
        prime[pn++]=i;
    }
    if(m!=1)prime[pn++]=m;
    ret=0;
    for(int i=0;i<pn;++i){
        dfs(i,prime[i],1);
    }
    return n-ret;
}
int main(){
    int T;sf("%d",&T);
    while(T--){
        sf("%d%d",&n,&m);
        LL ans=0;
        for(int i=1;i<=n;++i){
            ans+=gao(m,i);
        }
        pf("%lld\n",ans);
    }
}

然后第三题也差不多。。。

const int maxn=100005;
bool color[maxn];
int f[maxn], phi[maxn];
int prime[maxn];
void Eular()  //欧拉函数
{
    phi[1]=1;
    int k, num=0;
    memset(color,false,sizeof(color));
    for(int i=2; i<maxn; i++)
    {
        if(!color[i])
        {
            f[num++]=i;
            phi[i]=i-1;
        }
        for(int j=0; j<num&&(k=i*f[j])<maxn; j++)
        {
            color[k]=true;
            if(i%f[j]==0)
            {
                phi[k]=phi[i]*f[j]; break;
            }
            else
                phi[k]=phi[i]*(f[j]-1);
        }
    }
}
LL  gao(int n,int m){
    int pn=0;
    for(int i=2;i*i<=m;++i){
        if(m%i)continue;
        while(m%i==0)m/=i;
        prime[pn++]=i;
    }
    if(m!=1)prime[pn++]=m;
    LL ret=0;
    int g=(1<<pn);
    for(int i=1;i<g;++i){
        int tmp=i,k=0,num=1;
        for(int j=0;j<pn;++j){
            if(tmp&1)k++,num*=prime[j];
            tmp>>=1;
        }
        if(k&1)ret+=n/num;
        else ret-=n/num;
    }
    return n-ret;
}
int main(){
    int T;sf("%d",&T);
    int cas=0;
    Eular();
    while(T--){
        ans=0;
        sf("%d%d%d%d%d",&a,&b,&c,&d,&k);
        if(k==0||k>b||k>d){pf("Case %d: 0\n",++cas);continue ;}
        b/=k;d/=k;
        if(b>d)swap(b,d);
        for(int i=1;i<=b;++i){
            ans+=phi[i];
        }
        for(int i=b+1;i<=d;++i){
            ans+=gao(b,i);
        }
        pf("Case %d: %lld\n",++cas,ans);
    }
}
SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载

相关推荐

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

ACM 容斥原理

VJ 点击打开链接 参考 点击打开链接  非常好的译文:点击打开链接 容斥原理的想法就是求多个集合的并集.所以要先设计好集合. 组合数学问题中,正面解决会困难,常用方法是正难则反,使用容斥原理求反向在用全集减去.将对立面的限制条件分析清楚. eg 求区间互质的数的个数,则用除法等计算出一个数的倍数的方法再减去.  UVa 11806 Cheerleaders 求k个石子放

gg_gogoing的专栏 6644

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

容斥原理之素数部分模板

二进制: void getfactor(__int64 num) { fac.clear(); for(int i=2;i*i<=num;i++) { if(num%i==0) { fac.push_back(i); while(num%i==0)num/=i; } }

野生的TFgirl 982

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

c语言容斥原理求素数,容斥原理之素数部分模板

容斥原理主要是应用因子的组合形式(也就是Ai的并)。在区间范围中就是先求含有两个因子的最小数,也就是最小公倍数。r/lcm(a,b) 也就是(1,r)中含有z这个数的个数。奇加偶减。模板为计算(1,r)中 与num互质/非互质的个数。二进制:void getfactor(__int64 num){fac.clear();for(int i=2;i*i<=num;i++){if(num%i==...

weixin_29137489的博客 485

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

数论+容斥原理 --hdu 上的几题

hdu 2841 :此题题意是从(0,0)点

UntilTheEnd的专栏 799

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

容斥原理总结

容斥原理总结 概述: 先引入百度百科的定义: 在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 推荐博客:Math-组合学】容斥原理的拓展以及乱序排列

riba2534的博客 1470

深入理解梅尔刻度、梅尔滤波器组和梅尔时频谱图

读取一段音频,使用短时傅里叶变换,得到普通的时频谱图,然后绘制梅尔滤波器组,值得注意的是,librosa的梅尔滤波器组函数还带有权重归一化功能,即对一个三角形滤波器的每个权重,都除以该三角形的面积,如果不希望进行该归一化,设置参数。从公式可见,对数部分可以以自然对数为底数,也可以以10为底数,不同的底数对应不同的系数,要确定当前的系数,只需要代入(1000Hz, 1000mel)即可。其中,m是当前滤波器的序号,表征了当前的时间段,k是当前频率的序号,表征了当前正在对哪一频率的。

DEDSEC_Roger的博客 1万+

容斥原理练习记录

HDU 1796 How many integers can you find 题意 给你一个集合n,里面有1–n-1的整数,再给你一个集合m,里面有m个非负整数。 求集合n中能被集合m中某个数整除的数的个数。 解 很明显就是枚举因子的容斥,但是注意如果有两个因子6和9,那不能用他们相乘来容斥,应该取LCM。 正常情况下,应该是找素因子来容斥的。 这题m集合中可能会有0,要特判。...

GeN的博客 445

【上海大学计算机组成原理实验报告】五、机器语言程序实验

机器语言程序实验//理解计算机执行程序的实际过程//学习编制机器语言简单程序的方法//将R1中的数值左移n次送OUT,其中n是R2中的数值。(指令码从10开始)//完成R3=R0×R1,结果送OUT。(指令码从30开始)//建立“中文汇编指令”需要哪些条件?//上海大学计算机组成原理实验报告

HackerKevon的博客 2188

保姆级教程:在RK3588 Android12设备树(DTS)中配置MIPI 8 Lane双通道与DSC显示

本文详细介绍了在RK3588 Android12平台上配置MIPI 8 Lane双通道与DSC显示的实战指南。通过设备树(DTS)参数详解、DSC参数计算与PPS配置、双通道同步机制实现等内容,帮助开发者高效完成高分辨率屏幕驱动配置,解决嵌入式显示系统开发中的常见挑战。

weixin_30905133的博客 399

容斥原理作业

HDU 1796 How many integers can you find题意: 题目大意:给定n和一个大小为m的集合,集合元素为非负整数。为1...n-1内能被集合里任意一个数整除的数字个数。n&lt;=2^31,m&lt;=10输入:12 22 3输出:7 UVA #10325 "The Lottery" HDU1695 GCDHDU 2204 Eddy's爱好HDU4407 UVA #...

qq_41510496的博客 287

ICV:Metal Fill Insertion流程

如果不想删除先前加的metal fill,可以使用signoff_create_metal_fill -mode add命令,当使用这个mode后,工具不会fix density问题,哪怕设置了signoff.create_metal_fill.fix_density_errors,设置这个mode后可以使用以下option控制metal fill 的插入。默认情况下,signoff_create_metal_fill是会删掉已经加进去的metal/via fill再重新加的。

m0_61544122的博客 1134

容斥原理+欧拉函数

HDU : 1286 4135 2841 2824 1796 1695 POJ : 1142 2407 总结: 容斥原理: 欧拉函数:

ljq1998的博客 976

ArcGIS Pro 制作这种地图海报

ArcMap 版本与 ArcGIS Pro 版本的制图功能相差太多,无论从美观上还是制图效率都远远优于 ArcMap,用了一段时间的 ArcGIS Pro ,真心推荐有条件的大家赶紧试一试!一个软件也能搞定一张不错的海报哦!----吐槽:好的设计真的是门花时间的活,这个教程大概花了我7小时左右,我都忘了我自己教程中截图多少张了!(可能是我速度太慢了)测试数据:阿里云盘分享-----北极海冰数据.https://www.aliyundrive.com/s/SUhsnqfkmXh。

J_Giser的博客 1429

【软考高级架构】论文范文17——论软件系统架构评估及其应用(ATAM)

软件系统架构评估是保障系统质量属性满足业务目标的关键环节,架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种主流的架构评估方法,通过场景识别、敏感点与权衡点分析、风险与非风险决策识别等系统化活动,能够在架构设计早期发现潜在问题,降低后期修改成本。本文以笔者主导的某省级智慧医疗平台架构评估项目为案例,围绕ATAM方法的应用展开论述。笔者担任系统架构师,负责组织评估团队、引导场景捕获、分析架构决策、识别风险与权衡点。

qq837993702的博客 490

容斥原理专辑(1)

1、hdu 1796 How many integers can you find 容斥典型问题:求在给定区间内,能被给定集合至少一个数整除的数个数 方法:将给出的n个整除的数进行二进制枚举(2^n),计算ai所能组成的各种集合(这里将集合中ai的最小公倍数作为除数)在区间中满足的数的个数,然后利用容斥原理实现加减 注意:1、在给定的数中由于他们的关系不是互质的,所以要计算他们的lcm,而...

weixin_30536513的博客 145

【Agent】AI Agent架构趋势及演进

本文系统介绍了AI Agent架构的发展趋势和技术框架,涵盖单Agent与多Agent系统设计、提示词工程与上下文管理、SpringAI开发框架等关键技术。重点阐述了AI原生应用参考架构,包括Nacos配置管理、Higress AI网关、RocketMQ会话状态管理等核心组件解决方案。同时深入探讨了AI应用可观测性体系,包含OpenTelemetry全链路追踪、关键指标监控以及基于LoongSuite开源工具的数据采集评估方法,为构建高效可靠的AI应用提供了全景式技术参考。

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 1106

国庆专题

国庆专题: ----------------------------------------------------------------------------------------------- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D 二分+xjb贪心  C 并查集+离线

缺氧 447

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

perseverance51博客 4236

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

组合数习题总结(未完。。。)

Problem A——HDU:2067 小兔的棋盘(dp/卡兰特数) http://acm.hdu.edu.cn/showproblem.php?pid=2067 题意:从棋盘(0,0)点到(x,y)点有几种走法,要求不能穿过棋盘对角线。 分析: 角度一:DP,已知经典棋盘问题状态转移方程:,而本题由于不能穿过棋盘的对角线,因此可以考虑将棋盘划分为两个部分,,同时在上述状态转移方程的基础上...

又菜又爱玩 1136

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: HDU 1796 How many integers can you find (容斥原理)
下一篇: Lucky Number ZOJ - 3233 容斥原理 +两个条件
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值