Codeforces 3D Least Cost Bracket Sequence 贪心
来源:互联网 发布:金再来实战指标源码 编辑:程序博客网 时间:2024/05/18 01:48
这是一个好题
要想保证括号的合法性,就得在遇到一个括号的时候就判断之前的左括号是不是少于右括号,如果少于就给他扳过来。
#include <iostream>#include <string>#include <queue>using namespace std;class node{public:long long p,idx;node( long long ap=0 ): p(ap),idx(0) {}bool operator<(const node& a) const { return p<a.p; }};priority_queue<node> q;int main(){string s;cin >> s;int ln=0;int len=s.size();long long cost=0;for( int i=0;i<len;i++ ){if(s[i]=='(') ln++;else if(s[i]==')') ln--;else{long long cl,cr;cin >> cl >> cr;cost+=cr;node t;t.p=cr-cl;t.idx=i;q.push(t);s[i]=')';ln--;}if( ln<0 ){if(q.empty()) break;node t=q.top();q.pop();s[t.idx]='(';cost-=t.p;ln+=2;}}if(ln!=0){cout << -1 << endl;return 0;}cout << cost << endl;cout << s << endl;return 0;}
- Codeforces 3D Least Cost Bracket Sequence 贪心
- Codeforces 3D Least Cost Bracket Sequence (贪心)
- Codeforces 3D Least Cost Bracket Sequence --- 贪心
- Codeforces 3D Least Cost Bracket Sequence [贪心]
- Codeforces 3D Least Cost Bracket Sequence(贪心)
- CodeForces 3D Least Cost Bracket Sequence
- codeforces 3D Least Cost Bracket Sequence
- Codeforces 3D. Least Cost Bracket Sequence
- CodeForces 3D. Least Cost Bracket Sequence
- CodeForces 3D-Least Cost Bracket Sequence
- CodeForces 3D Least Cost Bracket Sequence
- Codeforces 3D Least Cost Bracket Sequence
- D. Least Cost Bracket Sequence (贪心)
- codeforce 3D. Least Cost Bracket Sequence(贪心)
- CodeForces 3D Least Cost Bracket Sequence (贪心+优先队列)
- CodeForces 3D Least Cost Bracket Sequence (贪心+优先队列)
- Codeforces Beta Round #3 D. Least Cost Bracket Sequence(贪心,想法,好题)
- Codeforces Beta Round #3 D. Least Cost Bracket Sequence 贪心 优先队列
- .NET平台下几种SOCKET模型的性能介绍
- eclipse 搭建android环境补充
- 根据两点经纬度计算距离
- 非常实用的织梦dede所有标签调用方法大全
- 兼容DC和兼容位图
- Codeforces 3D Least Cost Bracket Sequence 贪心
- 弹出层方式打新页面
- android 截获拨号号码
- Android生命周期
- Surprising Strings
- 如何将SQL Server2005中的数据导入到SQL Server2000中?
- 每天一道算法题19 寻找丑数
- Z-wave和Zigbee国内知名厂家
- 内存池管理技术