[CF960C] Subsequence Counting - 构造
时间:2020-04-28
本文章向大家介绍[CF960C] Subsequence Counting - 构造,主要包括[CF960C] Subsequence Counting - 构造使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Description
找到一个数列(长度不超过 \(10^4\)),使得有且仅有 \(x\) 个非空子数列中元素极差小于 \(d\),或者判定不存在。
Solution
考虑如何让后加的子序列中的数不会影响到前面的,只需要加一个 \(d\),就可以形成新的一组
于是我们需要将自学列拆成若干个互不相干的组,每组内取一个相同的值
对于一个含有 \(n\) 个元素的组,它的贡献是 \(2^n-1\)
假如这个贡献是 \(2^n\) 就可以直接二进制分解做了
那么我们强行补一个大小为 \(1\) 的组,这样就可以当做它是 \(2^n\) 了
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1000005;
int n,x,d,a[N],m;
signed main() {
ios::sync_with_stdio(false);
cin>>x>>d;
for(int i=31;i>=0;--i) {
if(x&(1ll<<i)) {
a[m]=i;
a[m+1]=1;
n+=i+1;
m+=2;
}
}
cout<<n<<endl;
for(int i=0;i<m;i++) {
while(a[i]--) cout<<1+d*i<<" ";
}
}
原文地址:https://www.cnblogs.com/mollnn/p/12793834.html
- 【Golang语言社区】H5游戏开发-从零开始开发一款H5小游戏(四) 撞击吧粒子,炫酷技能的实现
- 机器学习实践:用 Spark 和 DBSCAN 对地理定位数据进行聚类
- 【Golang语言社区】H5游戏开发从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命
- 【H5游戏实例】JS+canvas实现人机大战之五子棋
- Go包管理的探索与实践
- 机器学习优化算法之爬山算法小结
- 机器学习之最小二乘法
- Go中的同步与锁
- 机器学习之KNN算法思想及其实现
- 机器学习之决策树熵&信息增量求解算法实现
- 朴素贝叶斯分类器(离散型)算法实现(一)
- spring设置全局异常处理器
- discuz论坛apache日志hadoop大数据分析项目:hive以及hbase是如何入库以及代码实现
- 【Golang语言社区】前端编程- 从零开始开发一款H5小游戏(一) 重温canvas的基础用法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python操作txt文件中数据教程[1]-使用python读写txt文件
- python循环删除列表元素常见错误与正确方法
- Python字符串,整型,浮点数相互转化
- python创建与遍历List二维列表
- 论文研读-基于变量分类的动态多目标优化算法
- matplotlib交互模式与pacharm单独Figure设置
- numpy二进制转换和范围缩放
- 使用数组作为索引遍历numpy数组
- enumerate 遍历numpy数组
- 两种群决策变量高斯分布的KL散度和WD距离
- Tensorboard 显示计算图节点信息
- 使用tqdm组件构造程序进度条
- java 获取当前目录文件名
- java split函数分割字符串
- python 批量创建文件夹