(待补)

A. Pieces of Parentheses

将括号处理完成后排序,方式参加下面的博客。然后做一遍背包即可。

2018 Multi-University Training Contest 1 Balanced Sequence(贪心)

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std;
const int maxn=300+10;
struct Node
{
int l,r,have;
int c;
bool operator<(const Node& rhs)const
{
if(c==0&&rhs.c==0) return ((l-r)>(rhs.l-rhs.r))||((l-r)==(rhs.l-rhs.r)&&l>rhs.l);
else return c>rhs.c;
} } node[maxn];
int n;
char s[maxn];
int f[maxn][100000+10];
int Max;
int main()
{
scanf("%d",&n);
Max=0;
for(int i=1; i<=n; i++)
{
scanf("%s",s);
int len=strlen(s);
int l=0,r=0,res=0;
for(int j=0; j<len; j++)
{
if(s[j]=='(') l++, Max++;
else
{
if(l) l--, res++;
else r++;
}
}
node[i].l=l, node[i].r=r, node[i].have=res*2; if(node[i].l&&node[i].r==0) node[i].c=1;
else if(node[i].l==0&&node[i].r) node[i].c=-1;
else node[i].c=0;
} sort(node+1,node+1+n); memset(f, -1, sizeof(f));
f[1][0]=0; for(int i=1; i<=n; i++)
for(int j=0; j<=Max; j++)
if(f[i][j]!=-1)
{
f[i+1][j]=max(f[i+1][j],f[i][j]);
if(node[i].r<=j)
f[i+1][j+node[i].l-node[i].r]=max(f[i+1][j+node[i].l-node[i].r],f[i][j]+node[i].have+2*node[i].r);
} printf("%d\n",f[n+1][0]);
return 0;
}

  

B. Stars in a Can

C. Stretching Streamers

D. Heaps from Trees

E. Blazing New Trails

可以二分一个值,然后将所有的特殊边减去这个值,看最小生成树满不满足条件。

F. Incremental Double Free Strings

G. Apple Market

H. Maximum Color Clique

I. Ski Resort

J. Yin and Yang Stones

每次操作消去一个 "B""W",而且这样的消去操作与位置是无关的。所以直接判个数相等。

K. Unbalanced Parentheses

North American Invitational Programming Contest (NAIPC) 2017的更多相关文章

  1. North American Invitational Programming Contest (NAIPC) 2016

    (待补) A. Fancy Antiques 爆搜. B. Alternative Bracket Notation C. Greetings! D. Programming Team 0/1分数规划 ...

  2. The North American Invitational Programming Contest 2017 题目

    NAIPC 2017 Yin and Yang Stones 75.39% 1000ms 262144K   A mysterious circular arrangement of black st ...

  3. The North American Invitational Programming Contest 2018 D. Missing Gnomes

    A family of nn gnomes likes to line up for a group picture. Each gnome can be uniquely identified by ...

  4. The North American Invitational Programming Contest 2018 H. Recovery

    Consider an n \times mn×m matrix of ones and zeros. For example, this 4 \times 44×4: \displaystyle \ ...

  5. The North American Invitational Programming Contest 2018 E. Prefix Free Code

    Consider nn initial strings of lower case letters, where no initial string is a prefix of any other ...

  6. North American Invitational Programming Contest 2018

    A. Cut it Out! 枚举第一刀,那么之后每切一刀都会将原问题划分成两个子问题. 考虑DP,设$f[l][r]$表示$l$点顺时针一直到$r$点还未切割的最小代价,预处理出每条边的代价转移即可 ...

  7. (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)

    layout: post title: (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) au ...

  8. Codeforces Gym101606 A.Alien Sunset (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017) 寒假第一次组队训练赛,和学长一起训练,题目难度是3颗星,我和猪队友写 ...

  9. Codeforces Gym101572 B.Best Relay Team (2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017))

    2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017) 今日份的训练,题目难度4颗星,心态被打崩了,会的算法太少了,知 ...

随机推荐

  1. 根据FileUpload的值,控制textBox的可用与否

    JS代码: <script type="text/javascript"> $(document).ready(function () { $("#<% ...

  2. Win10 应用商店管理应用

    在企业日常办公中,对 Windows 10 应用商店软件不需要,希望办公系统干净一些.企业运维中,我们可以使用组策略来管理Windows 10 微软Store应用程序.可以根据组织的要求进行配置,多项 ...

  3. linux打开文件数测试

    /proc/sys/kernel/threads-max 系统最大线程数量 /proc/sys/vm/max_map_count 限制一个进程可以拥有的VMA(虚拟内存区域)的数量 /proc/sys ...

  4. StringBuffer是可变的还是不可变的?

    前言:我们知道String类的修饰符是final,其char[] value也是由final修饰的,每次给String变量赋一个新值,都会创建一个新的String对象,很多有涉及到字符串本身的改变都是 ...

  5. python_53_函数补充

    def test1(x,y=2): print(x,y) test1(1) test1(1,3) test1(1,y=4) #默认参数特点:调用函数的时候,默认参数非必须传递,默认参数放在后边 #用途 ...

  6. flush caches

  7. 自动生成 WebApi 在线说明文档。

    1.使用Swashbuckle实现 Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置.再通过SwaggerUI 显示出来.类库中已 ...

  8. 文件系统inodes使用率过高问题处理

    运维过程中经常碰见文件系统inodes使用率过高导致文件系统不可写的问题,常见场景如下 .Oracle产生的审计文件,特别是DG备库或者审计设置为OS时 .crontab产生大量邮件,导致/var/s ...

  9. for in 和 for of的区别详解

    for in 和 for of 相对于大家肯定都不陌生,都是用来遍历属性的没错.那么先看下面的一个例子: 例1 const obj = { a: 1, b: 2, c: 3 } for (let i ...

  10. js display, visible 区别

    注意: display:none和visible:hidden都能把网页上某个元素隐藏起来,在视觉效果上没有区别,但是在一些DOM操作中两者有区别: display:none ---不为被隐藏的对象保 ...