首页 > 其他分享 >题解:P9256 [PA 2022] Muzyka pop 2

题解:P9256 [PA 2022] Muzyka pop 2

时间:2024-08-26 20:36:35浏览次数:3  
标签:__ 题解 builtin pop popcount PA P9256

题解:P9256 [PA 2022] Muzyka pop 2

题目传送门

题目重点

从前往后比较,和数字比较一样,如:12345 < 12445 。
如果一个串是另一个串的前缀,那么不是前缀串的那个字典序小。

题目思路

我爱贪心

贪心就行了,每次让 x 增加 1 ,找出 1 的个数来实现。要求序列是字典序最小的,因此每次选择尽可能小的数字 x 。

记得 vector 有一个什么 popcount 的函数,上网搜了一下,发现了 __builtin_popcount 可以输出二进制中 true 的个数,就用了 vector。

代码不重要,主要是思路。

#include <bits/stdc++.h>
using namespace std;
vector<int> v;
int n, s, x;
int main(){
    cin >> n;
    while(s < n) s += __builtin_popcount(++x);
    for(int i = x; i >= 1; i--){
        if(s - __builtin_popcount(i) >= n) s -= __builtin_popcount(i);
        else v.emplace_back(i);
    }
    cout << v.size() << "\n";
    for(int i = 0; i < v.size(); i++) cout << v[i] << " ";
    return 0;
}

点个 (欲言又止)

标签:__,题解,builtin,pop,popcount,PA,P9256
From: https://www.cnblogs.com/wayneoi/p/18381553

相关文章

  • Study Plan For Python - Part4
    格式化输出1.reprlib模块提供了一个定制化版本的repr()函数,用于缩略显示大型或深层嵌套的容器对象importreprlibreprlib.repr(set('fantabulouslywonderificentamazingness'))#可迭代对象,输出"{'a','b','c','d','e','f',.......
  • 动态dp——P8820 [CSP-S 2022] 数据传输 题解
    P8820[CSP-S2022]数据传输可怜的cnblog被(昨天DDos+今天CC)攻击了(望周知!),只好先发在CSDN题面:题目描述小C正在设计计算机网络中的路由系统。测试用的网络总共有nn......
  • 「代码随想录算法训练营」第四十七天 | 图论 part5
    目录并查集模板107.寻找存在的路径并查集模板原理:并查集主要有两个功能:将两个元素添加到一个集合中。判断两个元素在不在同一个集合。模板代码:intn=1005;//n根据题目中节点数量而定,一般比节点数量大一点就好vector<int>father=vector<int>(n,0);//C++里的......
  • 【跨域问题解决】Access to XMLHttpRequest at xxx from origin xxx has been blocked
    这个错误是由于浏览器的同源策略(CORS,Cross-OriginResourceSharing)导致的。当从一个源(origin)向另一个源请求资源时,如果这两个源的协议、域名或端口号不同,就会触发CORS策略。解决方法要解决这个问题,你需要在你的后端服务中添加CORS支持,以便它允许来自你的请求。这通常......
  • Part4-DOM学习笔记-获取元素属性及节点操作
    6.获取元素属性6.1获取元素属性获取元素的属性有两种方式:element.属性:获取内置属性值,元素本身自带的属性不能获取自定义属性代码示例如console.log(div.id)element.getAttribute(‘属性’):可以获取内置属性值可以获取自定义属性代码示例如下:console.......
  • [ARC182C] Sum of Number of Divisors of Product 题解
    题目链接点击打开链接题目解法我怎么不会分治/fn首先把\(x\)分解成\(\prodp_i^{x_i}(0\lei\le5)\)的形式,正因数个数为\(\prod(x_i+1)\)有一个很牛的想法是:合并两个\(x_i\)序列(假设一个叫\(x_0,...,x_5\),另一个叫\(y_0,...,y_5\))先不考虑后面的\(+1\)(可以最后......
  • SparkSQL日期时间模式详解
    datatime使用场景CSV/JSON数据源使用模式字符串来解析和格式化日期时间内容。日期时间函数用于转换StringType类型到DateType或TimestampType类型,反之亦然。例如,unix_timestamp,date_format,to_unix_timestamp,from_unixtime,to_date,to_timestamp,from_utc_timestam......
  • SparkSQL数值模式详解
    简介函数如to_number和to_char确实支持在字符串类型和十进制(数值)类型之间进行转换。这些函数接受格式字符串作为参数,这些格式字符串指示了如何在这两种类型之间映射。to_number:这个函数通常用于将字符串转换成数值类型。你需要提供一个格式字符串来指定如何解释字符串......
  • 网站提示413 Payload Too Large:请求实体过大怎么办
    当遇到“413PayloadTooLarge”错误时,这意味着客户端发送的请求实体(通常是请求体)超过了服务器允许的最大大小。这种错误通常出现在上传文件或发送大量数据时。解决方案减小请求体大小检查请求体中的数据量是否过大。如果是文件上传,考虑减小文件大小或压缩文件。增加......
  • 使用 SpanMetrics Connector 将 OpenTelemetry 跟踪转换为指标
    原文:https://last9.io/blog/convert-opentelemetry-traces-to-metrics-using-spanconnector/如果您已经实施了跟踪但缺乏强大的指标功能怎么办?SpanConnector是一个通过将跟踪数据转换为可操作指标来弥补这一差距的工具。这篇文章详细介绍了SpanConnector的工作原理,提供了有......