2018年长沙理工大学第十三届程序设计竞赛 D zzq的离散数学教室1
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
离散数学中有种名叫“哈斯图”的东西。
在这题中,你们需要计算的是一些正整数在偏序关系“整除”下的哈斯图的边数。用大白话讲,在偏序关系“整除”下的哈斯图,就是把一个个正整数看成一个个图的节点,某些节点之间有边。连边的规则是这样的:对于任意两个正整数a和b(a<b)来说,如果b%a==0,并且不存在一个正整数c(a<c<b),使得条件b%c==0和c%a==0同时成立,那么我们就在节点a和节点b之间连一条边。
现在问题是,给你们2个数L,R(1<=L,R<=1e6)。求由L,L+1,L+2...R这R-L+1个正整数在偏序关系“整除”下的哈斯图的边数。
比如L=1,R=4,节点的组合有(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)。组合(1,2),(1,3),(2,4)可以连边。(1,4)因为中间存在c=2,不符合连边条件。所以当L=1,R=4的时候,这个哈斯图有3条边。
输入描述:
多组输入,不超过1000组数据 每组数据一行,包含2个正整数L和R,中间由空格分开。
输出描述:
每组数据输出一行,包含一个整数表示哈斯图的边数。
输入
1 4 4 10 1 10
输出
3 2 11
备注:
哈斯图(英语Hasse发音为/ˈhæsə/,德语: /ˈhasə/)、在数学分支序理论中,是用来表示有限偏序集的一种数学图表,它是一种图形形式的对偏序集的传递简约。具体的说,对于偏序集合(S,≤),把S的每个元素表示为平面上的顶点,并绘制从x到y向上的线段或弧线,只要y覆盖x(就是说,只要x < y并且没有z使得x < z < y)。这些弧线可以相互交叉但不能触及任何非其端点的顶点。带有标注的顶点的这种图唯一确定这个集合的偏序。
#include <bits/stdc++.h>
#define inff 0x3f3f3f3f3f3f3f3fll
using namespace std;struct node {int x,y,step,key;node(int _x,int _y,int _step,int _k){x=_x,y=_y,step=_step,key=_k;}
};const int maxn=2e6+7;
long long sum[maxn],dp1[maxn],dp2[maxn];
long long a[maxn];
int n,k,t,cnt=0,prime[maxn];bool vis[maxn];void get_prime(){memset(vis,0,sizeof(vis));for(int i=2;i<maxn;i++){if(!vis[i]){prime[cnt++]=i;for(int j=i*2;j<=maxn;j+=i) vis[j]=1;}}
}
/**
说实话 这个题其实真的挺难想的 后来手动了一下 发现还是挺简单的;
得先算出得到 b%a==0&&(a,b)之间不存在c(b%c==0&&c%a==0) --->b/a:素数
因此可以枚举每个素数(b/a) 看满足条件的个数;
example :(4-->10)
先考虑1--->10;
1--2 2--4 3--6 4--8 5--10 2 5 5-4+11--3 2--6 3--9 3 3 3-4+11--5 2--10 5 2 1--7 7 1因此 segma(r/prime[i])
4-->10 的话,最后将小于4的情况剔除就好了最右侧就是了;*/
int main (){int l,r;get_prime();while(~scanf("%d %d",&l,&r)){long long ans=0;for(int i=0;i<cnt;i++){int temp=r/prime[i]-l+1;if(temp<=0) break;ans+=temp;}cout<<ans<<endl;}return 0;
}
2018年长沙理工大学第十三届程序设计竞赛 D zzq的离散数学教室1相关推荐
- 牛客网 2018年长沙理工大学第十三届程序设计竞赛 K zzq的离散数学教室2[网络流]
题意:给一个有向无环图,求最大的点集,x不能到y,且y不能到x. 题解:首先可以知道的是这个是偏序集最大独立集,通过Dilworth定理可以知道是要求最小链划分(最小可交路径覆盖),我们通过网络流优化 ...
- 2018年长沙理工大学第十三届程序设计竞赛 D zzq的离散数学教室1
题目描述 离散数学中有种名叫"哈斯图"的东西. 在这题中,你们需要计算的是一些正整数在偏序关系"整除"下的哈斯图的边数.用大白话讲,在偏序关系"整除& ...
- 2018年长沙理工大学第十三届程序设计竞赛 D zzq的离散数学教室1(素数表)
点击打开链接 解析: 这里其实就是每一个组合(L,R) R=L*k (k是一个质数),所以我们只要找到i*k<R的这个最大的k,k在素数表的下标就是他的答案了 这道题你遍历[L,R]区间即使用了 ...
- 牛客 2018年长沙理工大学第十三届程序设计竞赛 G-逃离迷宫
链接:https://www.nowcoder.com/acm/contest/96/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 2018年长沙理工大学第十三届程序设计竞赛 G-逃离迷宫
题目链接 题目描述: 给你一个n*m的图,地图上'.'代表可以走的地方,而'#'代表陷阱不能走, 'P'代表人物位置,'K'代表钥匙,'E'代表出口.人物一个,钥匙有多个, ('K'的数量<=5 ...
- 2018年长沙理工大学第十三届程序设计竞赛
链接:https://www.nowcoder.com/acm/contest/96#question 持续更新ing,请多多关注~ A.LL 题目描述: "LL是什么?这都不知道的话,别说 ...
- 2018年长沙理工大学第十三届程序设计竞赛题解
链接:https://www.nowcoder.com/acm/contest/96/A 来源:牛客网 "LL是什么?这都不知道的话,别说自己是程序猿啊!" "lon ...
- 2018年长沙理工大学第十三届程序设计竞赛 D-zzq的离散数学
链接: https://www.nowcoder.com/acm/contest/96/D 来源:牛客网 题目描述 离散数学中有种名叫"哈斯图"的东西. 在这题中,你们需要计算的是 ...
- 2018年长沙理工大学第十三届程序设计竞赛 - zzq的离散数学教室1
题目链接 zzq的离散数学教室1 题意 离散数学中有种名叫"哈斯图"的东西. 在这题中,你们需要计算的是一些正整数在偏序关系"整除"下的哈斯图的边数.用大白话讲 ...
最新文章
- Python 列表前加 *号
- Mysql数据库基础(一)基本概述、构建服务、基本管理、数据类型
- 页面浏览事件之 $AppViewScreen 全埋点
- Redis如何淘汰过期的keys
- MyBatis实现SaveOrUpdate
- 我的世界java版记分板_我的世界计分板指令 如何使用计分板教程
- 深度学习及AR在移动端打车场景下的应用
- 药盒识别/垃圾分类—高精度AI模型训练及边缘部署分享
- jQuery的内容选择器和属性
- w10无法连到家庭组计算机,一键W10装机版无法进入家庭组如何处理
- android php实时聊天工具,Android_Android 应用APP加入聊天功能,简介
自去年 LeanCloud 发布实时 - phpStudy...
- 路由热备份协议hsrp
- c语言 异或_C语言位运算实例讲解
- 泛函分析笔记(七) 连续线性算子和连续多重线性映射
- LeetCode常见题型——背包问题
- Altera的单时钟同步FIFO,带almost_empty和almost_full端口
- Centos下增加swap空间
- [Android 4.4.4] Oppo Find7 MIUI 4.8.8 by crazyi
- CDA LEVEL 1 考试,知识点《机器学习基本概念》
- 文献阅读总结:网络表示学习/图学习
热门文章
- Java使用SQLServerBulkCopy实现数据库批量操作
- Java开发环境之idea
- Henry手记:WinForm Datagrid结构剖析(三)使用代码
- 伪元素在父元素中居中_魔法中的元素属性知识
- 用“猎豹行动”说话 面对“套路贷”借贷宝是如何处理的?
- MySQL数据库事务的四大特性
- env 文件与环境设置
- iFIERO -- SkyNinja天猪之城 SpriteKit iOS游戏源码
- 短视频APP选择云服务器要注意哪些问题?
- 安装linux系统界面时卡住了,使用U盘安装Linux系统时卡在logo界面的解决办法