首页 > 其他分享 >E. Increasing Subsequences__2

E. Increasing Subsequences__2

时间:2024-03-13 23:55:21浏览次数:19  
标签:__ int ll long 1e9 Subsequences 序列 Increasing

原题链接

题解

已知对于一个长度为 \(n\) 的连续+1型上升序列而言,其满足要求的子序列有\(2^n\)

若我们在该序列下标为 \(k\) 的右边插入一个绝对大于左边,绝对小于右边的数,满足要求的子序列会增加 \(2^k\) 个

由此想到极限构造加二进制,其中最高位的一不用管,其余的每一位生成上升序列,如果有一就在生成前插入
注意细节!!

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        ll n;
        cin>>n;
        queue<ll> q;
        int l=-1e9,r=1e9;
        ll len=0;
        while(n>1)
        {
            q.push(n%2);
            len+=1+n%2;
            n/=2;
        }

        cout<<len<<endl;
        while(q.size())
        {
            if(q.front()==1) cout<<r--<<" ";
            cout<<l++<< " ";
            q.pop();
        }
        puts("");
    }
    return 0;
}

标签:__,int,ll,long,1e9,Subsequences,序列,Increasing
From: https://www.cnblogs.com/pure4knowledge/p/18071877

相关文章

  • 青原樱
    正常人的思路我的思路:我们假设已经得到了一种方案,我们将这种方案具体化,对每一种树所在的花盆的位置编号。比如13468代表五棵树分别种在了第\(1,3,4,6,8\)号花盆里面那么显然,我们对序列的\(a_i\)减去\(i\),如果得到的新的序列是一个严格单增序列,那么原来的序列就是合法的新......
  • 洛谷 P4173 残缺的字符串 卡常小记
    首先,使用匹配函数\(P(x_i,x_j)=x_ix_j-x_i^2[j\neq0]\)。容易发现,当存在\(i\neqj\)时,\(x_ix_j\)的系数只会增加,因此根据Schwartz-Zippel引理,随机一组\(x_{1\sim26}\)对应a~z即可。然后,对于NTT的过程,有两个卡常的点:一是点积reverse后转卷积的过程是舍......
  • 基于ts的node项目引入报错归纳
    一、导入类型定义文件错误node_modules/@types/leaflet/index.d.ts:128:1128export=e;Thismoduleisdeclaredwith'export=',andcanonlybeusedwithadefaultimportwhenusingthe'esModuleInterop'flag.这个错误表明使用export=语法,但TypeSc......
  • 278. 第一个错误的版本c
    //TheAPIisBadVersionisdefinedforyou.//boolisBadVersion(intversion);intfirstBadVersion(intn){inthead=1,tail=n;if(isBadVersion(head))return1;while(head<=tail){intmid=head+(tail-head)/2;if(isBadVersion(......
  • 初识AB包
     首先写好 打包代码 设置打包资源   另外注意资源打包的优化 资源加载......
  • Git进阶命令-reset
    之前有关Git,写过一片文章:Git五个常见问题及解决方法一、reset命令使用场景有时候我们提交了一些错误的或者不完善的代码,需要回退到之前的某个稳定的版本,面对这种情况有两种解决方法:解决方法1:修改错误内容,再次commit一次解决方法2:使用gitreset命令撤销这一次错误的commi......
  • 实验1 C语言输入输出和简单程序编写
    #include<stdio.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>\n");printf("II\n");return0;......
  • R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化
    全文链接:https://tecdat.cn/?p=35360原文出处:拓端数据部落公众号随着农业和农村经济的快速发展,各地区之间的经济差异日益显著。为了更好地理解这种差异,并为政策制定提供科学依据,本研究帮助客户采用了聚类分析和因子分析、主成分分析3种无监督学习方法,对多个省份的农业、林业、牧......
  • R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标
    原文链接:http://tecdat.cn/?p=16881原文出处:拓端数据部落公众号 灰色关联分析包括两个重要功能。第一项功能:灰色关联度,与correlation系数相似,如果要评估某些单位,在使用此功能之前转置数据。第二个功能:灰色聚类,如层次聚类。 灰色关联度灰色关联度有两种用法。该算法用于测量......
  • 每日反思之学会结对编程
    长时间独立开发让人容易进入心流,也容易走向习惯性思维的误区。想起过去创业的时候,总是一个人写代码,自测,merge代码,分布上线,反馈之后再调整。整个过程全靠自己去思考并完成,在一些不复杂的情形下算是最简最快的方案。但当自己融入到一个大的团队和项目中,合作分工成为了主流,而不是单......