【枚举】CF809A
? - Virtual Judge (vjudge.net)
题意:
在一个数轴上有n个点,每个点都有坐标
对于每次取的这些点的子集
让我们求:
思路:
一开始想的是枚举长度+滑动窗口,但是是n^2的,肯定超
那么就是O(n)枚举+O(1)算贡献
O(n)算每一个数的贡献
一开始还有个想法就是枚举其中一个端点,然后O(1)计算以此为左端点的所有区间的贡献
事实上,想法差不多,但是贡献算错了
对于一个位置i,ai会被加(1<<i)次,会被减(1<<(N-i))次
Code:
#include <bits/stdc++.h>#define int long long
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)using namespace std;const int mxn=3e6+10;
const int mxe=3e5+10;
const int mod=1e9+7;int N;
int a[mxn];int ksm(int a,int b,int mod){int res=1ll;while(b){if(b&1) res=(res*a)%mod;a=(a*a)%mod;b>>=1;}return res;
}
void solve(){cin>>N;for(int i=1;i<=N;i++) cin>>a[i];sort(a+1,a+1+N);int ans=0;for(int i=1;i<=N;i++){ans=((ans+ksm(2,i-1,mod)*a[i])%mod+mod)%mod;ans=((ans-ksm(2,N-i,mod)*a[i])%mod+mod)%mod;}cout<<ans<<'\n';
}
signed main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int __=1;//cin>>__;while(__--)solve();return 0;
}
【枚举】CF809A相关推荐
- 【C#】枚举_结构体_数组
最近看C#视频,关于这部分,先看了一遍,又照着敲了一遍,自己敲的过程发现了一些有意思的东西. 枚举:定义一个枚举类型的变量,这个变量有很多相同类型的值.比如性别Gender这个变量可以有男和女这两个值 ...
- Go 学习笔记(7)— 常量定义、常量使用、枚举用法、iota 常量、不设置初始值常量
1. 常量定义及分类 1.1 定义 常量是指在程序运行时,不会被修改的量. 常量中的数据类型只可以是布尔型.数字型(整数型.浮点型和复数)和字符串型. 常量的定义格式: const identifie ...
- 1137 - Sin your life sin公式 + 枚举
http://www.ifrog.cc/acm/problem/1137 和差化积公式, 变成2 * sin((x + y) / 2) * cos((x - y) / 2) + sin(n - (x ...
- C语言程序设计 细节总结(第9章 结构体共用体枚举)
第9章 结构体.共用体.枚举 9.1 结构体 1.对于同类型结构体变量之间可以整体一次赋值 9.2 指向结构体的指针 9.2.1结构体变量的指针 1.定义格式:struct 结构体名 *结构体指针变量 ...
- java 枚举的继承_java中枚举类可以被继承吗?
java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...
- c语言枚举3位数相加等于10,C语言 联合和枚举
联合(union): 一.联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量. 联合说明和联合变量定义与结构十分相似.其形式为: union 联合名 { 数据类型 成员名; 数 ...
- Codeforces Round #359 (Div. 2) C. Robbers' watch 暴力枚举
题目链接 题意是真的烦,到最后才知道是n个m其实就是限定表的两个时区的位数,所以所当数不够填满时区的时候前边自动补零 思路:首先来说不能有重复的数字的话,小时和分钟的总位数大于7肯定不行. 7的7次方 ...
- 《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)
新手入门:C/C++中枚举类型(enum) 如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. ...
- HPU组队赛B:问题(二进制枚举)
时间限制1 Second 内存限制 512 Mb 题目描述 你有n个问题,你已经估计了第i个问题的难度为Ci,现在你想使用这些问题去构造一个问题集.比赛的问题集必须包含至少两个问题,而且比赛的总难度必 ...
最新文章
- [每日一题] OCP1z0-047 :2013-08-17 EXTERNAL TABLE――加载数据 ............................56...
- 苹果手机at系统_iOS14系统苹果手机如何设置充满电提示音?
- SpringBoot中使用类型安全的配置来注入大量自定义属性
- xboxone硬盘坏的表现_【32期】硬盘损坏的根源居然是——它!
- quartz.net 执行后台任务
- h264 I帧的判断
- 《Python Cookbook 3rd》笔记(5.18):将文件描述符包装成文件对象
- C++中对多态的理解
- Mysql windows安装说明
- 使用Android OpenGL ES 2.0绘图之四:应用投影和相机视图
- Linux Tomcat9 控制界面及管理配置
- rds基于什么开发_玩物得志: 基于DataWorks+MaxCompute+MC-Hologres 构建大数据平台
- 阿里巴巴android图标素材网,阿里巴巴矢量图标库
- 数据筛选特征方法-方差法
- 格式化输出函数setw与setfill的使用
- 【毕设教程】NBIOT 窄带物联网介绍
- VBA-自动筛选符合条件的数据
- 定积分之几种常见曲线
- com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException UNAVAILABLE io exception
- 物联网信息安全复习笔记(从头开始,两天速成)
热门文章
- 山东理工大学c语言试题答案,山东理工大学 计算机c语言作业答案
- 字符串方法intern()详解
- 【论文笔记】Birthday, Name and Bifacial-security Understanding Passwords of Chinese Web Users
- NQI一站式云服务平台建设方案,高质量提升系统开发
- amazon应用程序开发_亚马逊音乐是流媒体应用程序的黑马
- JS实现字体逐个显示
- 华中科技大学计算机大专毕业,#985变大专#华科大:本科不努力,毕业变专科 !...
- KM3D/RTM3D代码复现
- 建立Qt+VS2010开发环境
- 磁珠和电感有什么不同?