[bzoj4922]Karp-de-Chant Number
来自FallDream的博客,未经允许,请勿转载,谢谢。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define MN 300 using namespace std; inline int read() {int x = 0 , f = 1; char ch = getchar();while(ch < '0' || ch > '9'){ if(ch == '-') f = -1; ch = getchar();}while(ch >= '0' && ch <= '9'){x = x * 10 + ch - '0';ch = getchar();}return x * f; } char st[MN+5][MN+5]; int n,len[MN+5],mn[MN+5],f[MN*MN+5],g[MN*MN+5],mx[MN+5],top=0,top2=0,ans=0; struct data{int x,l,len;}q[MN+5],q2[MN+5]; bool cmp(data x,data y){return x.x>y.x;} int main() {n=read();memset(f,128,sizeof(f));memset(g,128,sizeof(g));for(int i=1;i<=n;++i) {scanf("%s",st[i]+1);for(int j=1;st[i][j];++j)len[i]+=st[i][j]=='('?1:-1,mn[i]=min(mn[i],len[i]);for(int j=strlen(st[i]+1),k=0;j;--j)k+=st[i][j]=='('?1:-1,mx[i]=max(mx[i],k);len[i]>=0?(q[++top]=(data){mn[i],len[i],strlen(st[i]+1)},0):(q2[++top2]=(data){-mx[i],-len[i],strlen(st[i]+1)},0);}sort(q+1,q+top+1,cmp);sort(q2+1,q2+top2+1,cmp);f[0]=g[0]=0;for(int i=1;i<=top;++i)for(int j=i*MN;j>=q[i].l-q[i].x;--j)f[j]=max(f[j],f[j-q[i].l]+q[i].len);for(int i=1;i<=top2;++i)for(int j=i*MN;j>=q2[i].l-q2[i].x;--j)g[j]=max(g[j],g[j-q2[i].l]+q2[i].len);for(int i=MN*MN;~i;--i)if(f[i]>=0&&g[i]>=0) ans=max(ans,f[i]+g[i]);cout<<ans;return 0; }
转载于:https://www.cnblogs.com/FallDream/p/bzoj4922.html
[bzoj4922]Karp-de-Chant Number相关推荐
- ApiDoc官方文档
目录 一.apidoc简介 二.apidoc安装使用 2.1 apidoc 命令参数列表: 2.2 配置(apidoc.json) 三. apidoc注释参数 3.1 @api 3.2 @apiDef ...
- 数据结构基础温故-6.查找(下):哈希表
哈希(散列)技术既是一种存储方法,也是一种查找方法.然而它与线性表.树.图等结构不同的是,前面几种结构,数据元素之间都存在某种逻辑关系,可以用连线图示表示出来,而哈希技术的记录之间不存在什么逻辑关系, ...
- 1015 德才论 (25 分)(c语言)
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...
- apiDoc构建源代码注释的接口文档
RESTful web API Documentation Generator. http://apidocjs.com 入门 前言 本文档中的所有示例都使用Javadoc-Style(可用于C#,G ...
- oracle完整的练习,2021史上最全Oracle数据库基本操作练习题(含答案).docx
Oracle基本操作练习题 使用表: 员工表(emP): (empndNUMBEER) notnull ,--员工编号,表示唯一 enameZARCHAR20),--员工姓名 VARCHAR9),-- ...
- 希尔伯特及其《几何学基础》电子版(英文PDF),
希尔伯特的巨著<几何学基础>是现代公理化数学的源头与楷模. 在此书发表一百周年之际,国外有人将其翻译成英文版发布在互联网上,任其传播,很有意义.在数学发展史上,希尔伯特<几何学基础& ...
- Android的根证书颁发机构列表
23set 23 集 Since it was a little hard for me finding it, here you can find the trusted CAs inAndroid ...
- apidoc的介绍和使用
github apidoc demo apidoc展示效果 入门 前言 本文档中的所有示例使用Javadoc样式(可以在C#中使用,围棋,飞镖,Java和JavaScript的,PHP,打字稿和所有其 ...
- 段错误需要使用的工具 nm objdump readelf
nm:列出目标文件中的符号. objdump:显示目标文件中的详细信息. readelf:显示关于 ELF 目标文件的信息. 具体的readelf命令可以查看 列表中的第一个工具是 nm,它可以列出目 ...
- nodejs下的apidoc 帮助接口文档生成
在项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office工具,写一个文档,总也是不够漂亮和直观.好在git上的开源大神提供了生成文档的工具,so来介绍一下! 该工具是Nodejs的 ...
最新文章
- 上升沿_不懂上升、下降沿的我,高兴惨了!
- 成都黑帽门图片大全_2020成都第一波出行/便民/打卡免费大全
- Redis 性能问题分析
- Codeforces Round #648 (Div. 2)(A, B, C, D)
- 改善Java应用程序性能的快速技巧
- zigbee是什么,为什么说它最适合智能家居设备
- 用python实现星期的转换_在Python中将秒转换为周-天-小时-分钟-秒
- 自己调用NTDLL函数
- C++编程练习(14)-------“单例模式”的实现
- Struts2体系介绍
- jrtplib linux编译,linux下jrtplib-3.9.1编译与安装.txt
- 看山不是山看水不是水
- Serval Project——Android
- h5滚动时侧滑出现_iH5中级教程:微场景H5必备,滑动时间轴+轨迹
- 现代循环神经网络 - 机器翻译与数据集
- OpenCV定位二维码的三个定位点
- 【三】仿射变换、投影变换的矩阵形式和特点归纳
- 旋转编码器怎么调零点?
- xp系统服务器的ip地址怎么查,xp怎么配置ip地址|xp系统怎么样查看自己的ip地址...
- Zookeeper出现Error contacting service. It is probably not running问题
热门文章
- python 端口扫描
- 采用个hook技术对writefile函数进行拦截(2)
- 如何快速入手一个JavaWeb项目
- python自动华 (七)
- StackExchange.Redis 官方文档(二) Configuration
- TabHost刷新activity的方法
- 小议 static 关键字
- LPS在无人机数据处理中的应用
- linux lnmp1.5 部署laravel项目
- PageCollectionView[Bug],使用Filter的时候,删除集合中的元素,会导致ArgumentOutOfRangeException...