题解:

首先subtask1直接状压暴力就好

subtask2我的处理和题解不太一样

仍然正向考虑

设i的时候有最高位为j,那么这个时候数一定越大越好(这个比较好yy)

然后$f[i][j]$搞个高精度dp就可以了

复杂度$(n^3/64)$

我懒得手写了。。就写了$n^3$的

还有bitset本地开O2 0.5s 不开O2 32s 真可怕

subtask4

显然我们会先用1,然后到一定时候为了保证位数有0就得用

#include <bits/stdc++.h>
using namespace std;
#define rint register int
#define IL inline
#define rep(i,h,t) for (int i=h;i<=t;i++)
#define dep(i,t,h) for (int i=t;i>=h;i--)
bitset<> f[][];
const int N=2e6;
char c[N];
#define te bitset<510>
IL bool pd1(te B,int k)
{
rep(i,,k) if (B[i]!=) return();
return();
}
IL te plu(te B1)
{
te B=B1;
int i;
for (i=;i<=;i++) if (B[i]==) break;
B[i]=;
i--;
for (;i>=;i--) B[i]=;
return B;
}
bool pd(te x,te y)
{
for (int i=;i>=;i--)
{
if (x[i]>y[i]) return ;
if (x[i]<y[i]) return ;
}
return ;
}
IL void maxa(te &a,te b)
{
if (pd(a,b)) a=b;
}
te ans;
int n,m;
namespace subtask4{
int f[N];
void solve()
{
dep(i,n,) if (c[i]=='*') f[i]=f[i+]+;
else f[i]=f[i+];
bool tt=;
int cnt=,cnt3=;
rep(i,,n)
{
if (c[i]=='+')
{
cout<<; tt=; cnt++; cnt3=;
} else
{
cnt3++;
if (cnt3>&&tt&&f[i]<m-cnt) { cout<<; cnt++;}
}
if (cnt==m) {break;}
}
if (tt&&cnt!=m&&cnt3>) cout<<;
if (!tt) cout<<;
}
};
int main()
{
freopen("1.in","r",stdin);
freopen("2.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n>>m; rep(i,,n) cin>>c[i];
if (n<=&&m<=)
{
rep(i,,n)
rep(j,,m)
{
if (c[i]=='+')
{
if (j&&pd1(f[i-][j-],j-)) f[i][j][j]=;
if (!pd1(f[i-][j],j))
maxa(f[i][j],plu(f[i-][j]));
} else
{
if (j) f[i][j]=f[i-][j-]<<;
}
maxa(f[i][j],f[i-][j]);
}
int pos=;
dep(i,,) maxa(ans,f[n][i]);
dep(i,,) if (ans[i]) { pos=i; break;}
dep(i,pos,) cout<<ans[i];
} else
{
subtask4::solve();
}
return ;
}

然后正解其实就是先做一个转化

把*后面相邻的+变成乘前面的+

于是这样就变成subtask4

B. Menci 的序列的更多相关文章

  1. Menci的序列

    题目大意 一个长度为n的字符串s,只包含+和×. 选出一个子序列,然后你有一个ret,初始为0,按顺序扫你选出的这个子序列. 如果碰到的是+,ret+1,否则ret*2. 最大化ret%2^k. 首先 ...

  2. 【夯实PHP基础】UML序列图总结

    原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...

  3. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...

  4. 软件工程里的UML序列图的概念和总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...

  5. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

  6. BZOJ 1251: 序列终结者 [splay]

    1251: 序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3778  Solved: 1583[Submit][Status][Discu ...

  7. 最长不下降序列nlogn算法

    显然n方算法在比赛中是没有什么用的(不会这么容易就过的),所以nlogn的算法尤为重要. 分析: 开2个数组,一个a记原数,f[k]表示长度为f的不下降子序列末尾元素的最小值,tot表示当前已知的最长 ...

  8. [LeetCode] Sequence Reconstruction 序列重建

    Check whether the original sequence org can be uniquely reconstructed from the sequences in seqs. Th ...

  9. [LeetCode] Binary Tree Longest Consecutive Sequence 二叉树最长连续序列

    Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ...

随机推荐

  1. Logstash处理json格式日志文件的三种方法

    假设日志文件中的每一行记录格式为json的,如: {"Method":"JSAPI.JSTicket","Message":"JS ...

  2. JS学习笔记Day23

    一.什么是Promise (一)Promise是ES6新增的解决异步(非阻塞)中存在的问题而产生的构造函数 二.Promise中的三种状态 pending(进行中) resoved(成功后) reje ...

  3. scws安装

    mkdir scws cd scws wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 tar xvjf scws-.tar.bz2 ...

  4. chrome浏览器默认打开网址并全屏

    1.创建chrome快捷方式. 2.右击快捷方式点击属性. 3.属性面板快捷方式下目标的默认内容后添加“ 页面地址 --kiosk”.[注意网页地址和--kiosk之前各有一个英文的空格] 4.点击确 ...

  5. 针对缓存在Redis中的聊天消息的持久化方案分析

    选型依据 数据库的选型主要考虑一下几个方面: 数据库本身是否收费 数据库后期维护成本 是否支持水平及垂直扩展,及扩展的容易程度 业务数据本身特性 使用此数据库的开发成本 由于此数据库主要用来存储缓存在 ...

  6. python—shutil模块

    该模块拥有许多文件或文件的删除.移动.复制.重命名等功能. 1.copy():复制文件 格式:shutil.copy(来源文件,目标地址) 返回值:返回复制之后的路径 2.copy2():复制文件和状 ...

  7. luogu P5322 [BJOI2019]排兵布阵

    传送门 普及dp 设\(f_{i,j}\)表示前\(i\)个城堡,用\(j\)人的最大价值,转移枚举一个对手,如果这个对手在\(i\)这个城堡人数是第\(k\)小的,那么用\(2a_i+1\)人可以得 ...

  8. idea2018注册

    1.在网上随便找一个注册码,lanyu的即可,注册时会被提示此注册码已被取消. 2.修改hosts文件,目录:C:\Windows\System32\drivers\etc\hosts,在文件中添加  ...

  9. 读spring源码(一)-ClassPathXmlApplicationContext-初始化

    工作来几乎所有的项目都用到了spring,却一直没有系统的读下源码,从头开始系统的读下吧,分章也不那么明确,读到哪里记到哪里,仅仅作为个笔记吧. 先看ClassPathXmlApplicationCo ...

  10. Cassandra 原理介绍

    Cassandra最初源自Facebook,结合了Google BigTable面向列的特性和[Amazon Dynamo](http://en.wikipedia.org/wiki/Dynamo(s ...