CF809A(1500)

news/2025/2/11 13:25:29/

https://codeforces.com/problemset/problem/809/A?f0a28=1

题目大意 

 

 

求数列所有的不同子集(元素个数大于等于2),

然后求所有子集内最大数减最小数的和。

思路

当x被用作最大/最小数时,对答案的贡献要么是加x,要么是减x

这就意味着,我们可以计算这个数被加减的次数来获得答案

容易得出

排序后x前有k个数,就会被加上 2^k 次;

排序后x后有m个数,就会被减 2^m 次(注意减的话要加上mod再取模,防止出现负数)

快速幂求2的幂次即可

代码:

#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>using namespace std;
#define endl '\n'
#define int long long
const int N = 3e5 + 10, mod = 1e9 + 7;
int a[N],s[N];int qmi(int a, int k, int p)  // 求a^k mod p
{int res = 1 % p;while (k){if (k & 1) res = res * a % p;a = a * a % p;k >>= 1;}return res;
}void solve()
{int n,num = 0;cin >> n;for(int i = 1; i <= n; i ++) cin >> a[i];sort(a + 1, a + n + 1);for(int i = 1; i <= n; i ++){num = num + a[i] * qmi(2, (i-1), mod) % mod;num %= mod;num = num - a[i] * qmi(2, (n-i), mod) % mod;num = (num + mod) % mod;}cout << num << endl;
}signed main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);int T = 1;//cin >> T;while(T --){solve();}return 0;
}

 


http://www.ppmy.cn/news/222161.html

相关文章

视易C10语言盒,独家曝光视易C10质量如何?怎么样呢?优缺点吐槽揭秘

这款视易C10的确非常nice的&#xff0c;巧妙的外观造型&#xff0c;做工蛮细腻的&#xff0c;有些朋友有疑问这个视易C10怎么样&#xff1f;牌子好吗&#xff1f;说实话这视易C10体验过一段时间后个人觉得蛮不错的&#xff0c;我自己也是才购买不久的&#xff0c;使用了一个月&…

CF 1000F One Occurrence

传送门题目大意思路参考代码总结 时光如梭&#xff0c;Codeforces 的题号还是三位数的时代已经过去&#xff1b;量子语言原来已经来临。 传送门 题目大意 给定一个长度为 n n 的序列 a" role="presentation">aa&#xff0c;有 m m 个询问,每次询问给…

2D读码机

思桥2D读码机-扫描仪版&#xff0c;能在12秒左右快速读取一个管架内所有储存管的2D码&#xff0c;可直接进行样品出库、入库管理。 思桥2D读码机特点&#xff1a; 1&#xff0c;高速批量读码&#xff1b; 2&#xff0c;不但支持整个管架内样品读取&#xff0c;也支持选择部分…

X509数字证书

主要函数 1&#xff09; X509_STORE_add_cert 将证书添加到X509_STORE中。 2) X509_STORE_add_crl 将crl添加到X509_STORE中。 3) void X509_STORE_set_flags(X509_STORE *ctx, long flags) 将flags赋值给ctx里面的flags&#xff0c;表明了验证证书时需要验证哪…

fhuidalshfj

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

lc用U盘更新固件_索尼电视安卓8.0固件升级完后电视连不上WIFI?最新解决方法!...

离618的日子越来越近了&#xff0c;别的电视厂商都忙着卖电视冲销量&#xff0c;但总有那么一股清流格外不一样&#xff1f;近日索尼电视推出安卓8.0固件版本的升级包&#xff0c;根据第一批用户的反馈BUG还真不少&#xff01; 索尼电视安卓8.0固件BUG不完全统计(小白鼠们可以进…

USG200050006000系列如何清空配置(恢复出厂设置)

USG防火墙清除配置&#xff08;恢复出厂设置&#xff09;方法如下&#xff1a; 1. 硬件方法 使用面板上的RESET按钮可以让设备使用缺省配置启动。 usg6000E防火墙上的RST按钮&#xff1a; 长时间按住复位按钮5秒钟&#xff0c;松开RST按钮&#xff0c;设备恢复出厂缺省配置并重…

Google开发的一套对数据结构进行序列化的方法第一篇:protobuf概要总结

文章目录 1、protobuf支持的数据类型2、protobuf中获取map类型2.1、protobuf中的嵌套类型repeated map<string, int32> my_array 1; 3、protobuf中获取数组类型4、为什么 proto3 移除了 required 和 optional5、protobuf数据格式对比xml数据格式5.1、操作更简单5.2、序列…