North American Invitational Programming Contest (NAIPC) 2017
(待补)
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的更多相关文章
- North American Invitational Programming Contest (NAIPC) 2016
(待补) A. Fancy Antiques 爆搜. B. Alternative Bracket Notation C. Greetings! D. Programming Team 0/1分数规划 ...
- The North American Invitational Programming Contest 2017 题目
NAIPC 2017 Yin and Yang Stones 75.39% 1000ms 262144K A mysterious circular arrangement of black st ...
- 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 ...
- 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 \ ...
- 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 ...
- North American Invitational Programming Contest 2018
A. Cut it Out! 枚举第一刀,那么之后每切一刀都会将原问题划分成两个子问题. 考虑DP,设$f[l][r]$表示$l$点顺时针一直到$r$点还未切割的最小代价,预处理出每条边的代价转移即可 ...
- (寒假开黑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 ...
- Codeforces Gym101606 A.Alien Sunset (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017) 寒假第一次组队训练赛,和学长一起训练,题目难度是3颗星,我和猪队友写 ...
- 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颗星,心态被打崩了,会的算法太少了,知 ...
随机推荐
- Unity3D C# 学习List数据类型的使用
List<T>类是ArrayList 类的泛型等效类. 该类使用大小可按需动态增加的数组实现 泛型的好处: 它为使用 c#语言编写面向对象程序增加了极大的效力和灵活性.不会强行对值类型进行 ...
- Arduino连接SHT10温湿度传感器--返回值不正常解决办法
如题目,arduino中连接温湿度传感器,用的是一个github开源项目,地址:点击打开,其实这个就是一个封装好的库,下载后把解压的文件夹复制到Arduino目录下的librarys文件夹内,重启Ar ...
- java关于类的构建
一开始老是把类的构建和代码的重构搞的混淆,现在理解的可能还好点(至少概念上不会出错了),简单的说类就是一个复杂的变量,这个变量里面含有属性.方法和构造方法,注意方法和构造方法是完全不同的两个概念,而且 ...
- python全栈测试题(一)
1.执行Python脚本的两种方式 如果想要永久保存代码,就要用文件的方式 如果想要调试代码,就要用交互式的方式即终端命令下和python环境中 2.Pyhton单行注释和多行注释分别用什么? pyt ...
- 扩展(spread)/收集(rest)运算符
一.扩展运算符(spread) 场景:使用在数组之前. 作用:将一个数组转为用逗号分隔的参数序列 举例1:数组之前 function foo(x, y, z){ console.log(x, y ...
- ECMAScript 原始值和引用值
原始值和引用值 在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值 原始值 存储
- Java开发工具IntelliJ IDEA创建Andriod项目示例说明
IntelliJ IDEA社区版作为一个轻量级的Java开发IDE,是一个开箱即用的Android开发工具. 注意:在本次的教程中我们将以Android平台2.2为例进行IntelliJ IDEA的使 ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:6.技术简介之Protobuf
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 protocolbuffer(以下简称Protobuf)是google 的一种数据交换的格式,它独立于语言,独立于平 ...
- Oracle添加自增长字段方法步骤
第一步:创建自增长序列 CREATE SEQUENCE ZH_ALARM_INFO_SEQ--自动增长列 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 ...
- cms-后台eazyui搭建
1.引入eazyUi需要的js 2.布局:上.下.左.中 <%@ page language="java" contentType="text/html; char ...