Wannafly2016-12-27 SPOJ-INTSUB 数学
题目链接:
http://www.spoj.com/problems/INTSUB/
题意:
给定一个集合,该集合由1,2,3….2n组成,n是一个整数。问该集合中有趣子集的数目,答案mod1e9+7。
x的子集合有趣定义为,该子集中至少有两个数,a和b,b是a的倍数且a是集合中最小的元素。
题解:
枚举子集中最小的元素,然后确定其他的元素。
假设现在最小元素为a,则有2n/a-1个大于a的元素是a的倍数,且这些元素必须在子集中出现至少一个,剩下的大于a的数取和不取对答案不造成影响。
累计不同的a对答案的贡献即可。(具体公式请参看程序)
代码:
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 #define MS(a) memset(a,0,sizeof(a)) 5 #define MP make_pair 6 #define PB push_back 7 const int INF = 0x3f3f3f3f; 8 const ll INFLL = 0x3f3f3f3f3f3f3f3fLL; 9 inline ll read(){ 10 ll x=0,f=1;char ch=getchar(); 11 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 12 while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} 13 return x*f; 14 } 15 // 16 const int maxn = 2e3+10; 17 const int mod = 1000000007; 18 19 int f[maxn]; 20 21 int main(){ 22 f[0] = 1; 23 for(int i=1; i<100; i++) 24 f[i] = (f[i-1]<<1)%mod; 25 26 int T = read(); 27 for(int cas=1; cas<=T; cas++){ 28 int n = read(); 29 int ans = 0; 30 for(int i=1; i<=n; i++){ 31 ans += 1LL * (f[2*n/i-1]-1) * f[2*n-i-(2*n/i-1)]%mod; 32 ans %= mod; 33 } 34 printf("Case %d: %d\n",cas,ans); 35 } 36 return 0; 37 }
转载于:https://www.cnblogs.com/yxg123123/p/6827578.html
Wannafly2016-12-27 SPOJ-INTSUB 数学相关推荐
- 【Scrum】2010.12.27
基本上从今天开始,各队员开始各司其职: 12.27队员的工作和将要做的工作 Hui, 作为leader, 主要从事developer: 解决一些BUG, 加入好友等功能,以及需要登陆才能获取的信息 L ...
- 工程专硕在职研究生12月联考数学复习
在职研究生12月联考数学–周杨老师 数学25题,75分,前15道选择题,后10道条件充分性判断题. 以基本概念为基础,只看和考试相关的概念,和考试不相关的不要看,想研究可以自己后面有空再看.加强计算能 ...
- 1+2+3+...∞=-1/12?——杨子曰数学
1+2+3+-∞=-1/12?--杨子曰数学 超链接:数学合集 1+2+3+-∞=-1/12?哦哦哦,第一次看到我惊了щ(ʘ╻ʘ)щ,不科学啊!一堆正整数居然加出了一个负分数,Oh My God,绝对 ...
- English Learning - Day21 作业打卡 2022.12.27 周二
English Learning - Day21 作业打卡 2022.12.27 周二 引言 一.给出如下短语的汉语释义 1. vanished youth 2. faded flowers 3. o ...
- 在PSP上玩《生化危机1-2-3 / Biohazard 1-2-3 / ResidentEvil 1-2-3》(Update:2007.12.27)
在PSP上玩<生化危机 1-2-3 / Biohazard 1-2-3/ ResidentEvil 1-2-3> 不久前,索尼已经在PSP了推出官方的PS模拟器.(这应该是3.0版本增加的 ...
- 【链塔DApp日报】BDI指数增长10.19%,以太坊 24h交易额增长12.27%
[链塔DApp日报]BDI指数增长10.19%,以太坊 24h交易额增长12.27% 时间:2月27日 根据链塔DApp数据分析,2月26日,链塔DApp行业指数BDI为227点,环比增长10.19% ...
- 【微语】第六周(12.21~12.27)
12.21.总依赖别人,是这世界上最没有安全感又最危险的事. 12.22.吸引一个人的最好方式,是独立自主,而非刻意谄媚. 12.23.让你步入婚姻殿堂的不应该是年龄,而是两情相悦. 12.24.时间 ...
- 常见30种数学建模模型_11.12|认识数学模型与数学建模许可
[报告题目]认识数学模型与数学建模 [报告时间]2020年11月12日17:00-19:30 [报告地点]A118 [主讲人]许可 [主讲人简介]许可,副教授,硕士生导师,沈阳理工大学优秀主讲教师,入 ...
- 一周信创舆情观察(2021.12.27~2022.1.3)
一.一周舆情要点 2021年12月24日,<中华人民共和国科学技术进步法>修订通过,其中第九十一条明确:对境内自然人.法人和非法人组织的科技创新产品.服务,在功能.质量等指标能够满足政府采 ...
- iqoo升级鸿蒙,vivo iQOO 3升级更新PD1955_A_1.12.27固件rom全量刷机包
vivo iQOO3手机是iQOO系列的第一台5G双模手机,硬件配置抵达封顶.安兔兔跑分58万+,其中CPU18万分,与前代相比有20%左右的提升,GPU21.5万分,相比前代提升10%左右,MEM1 ...
最新文章
- php 怎么支持中文图片显示,给图片添加水印(支持中文)并生成缩略图_php
- bzoj 1016: [JSOI2008]最小生成树计数【dfs+克鲁斯卡尔】
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 创建 事件监听器 对应的 动态代理 | 动态代理的数据准备 | 创建调用处理程序 | 创建动态代理实例对象 )
- linux 开机自动启动脚本方法
- linux+sar+服务,sar服务监控Linux
- 使用 jquery 创建数组
- PHP提取中文首字母
- php warning: file_get_contents,Ecshop报警告:Warning: file_get_contents
- spss如何选择需要的变量?
- vue菜鸟从业记:完成项目最后一公里之真机测试和打包上线
- 职称计算机考试word2003真题,职称计算机考试《Word2003》历年真题回顾(1)
- 断路器(CircuitBreaker)设计模式
- ftk学习记(滑动条篇)
- 有趣的数学计算 1/9801 (结果 00,01,02,03。。。97)(使用到 BigDecimal )
- 绝对定位水平垂直居中(HTML、CSS)
- 测一下markdown之第一篇博文
- android壁纸 4k,4k动态壁纸下载-4k动态壁纸 安卓版v1.0.4-PC6安卓网
- 编写一个计算图形面积和周长的程序
- c语言用fun函数求最大公约数,c语言求最大公约数
- idea2020.1.1 窗口显示 Outdated version. 完美解决
热门文章
- 蒙特利尔大学助理教授唐建《图表示学习:算法与应用》研究进展
- 阿里格林深瞳计算机视觉岗实习面经
- 深度隐式表达系列 (一)
- 不知道怎么用GitHub怎么当程序员?拿出十分钟,包你会
- 量化评估推荐系统效果
- 进入hadoop_hadoop:伪分布模式参数配置指南
- python语言编写一个生成九宫格图片的代码_python简单实现9宫格图片实例
- 2021年上半年系统集成项目管理工程师综合知识真题及答案解析
- android studio table居中代码_html table表格标签内容如何居中显示?表格的align属性的用法介绍...
- python回归分析预测模型_在Python中如何使用Keras模型对分类、回归进行预测