摘要: 首先将每个括号序列转化为三元组(ai,bi,ci),其中ai为左括号-右括号数量,bi为前缀最小左括号-右括号数,ci为序列长度。问题变为在满足Σai=0,bi+Σaj>=0 (j<i)的情况下,最大化Σci。 考虑在确定了选哪些序列的情况下如何排列能够尽量满足条件。显然应该把ai>0的放在前面,< 阅读全文
posted @ 2018-11-30 21:58 Gloid 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 不妨设a1<a2<a3<a4。显然第一问的答案是4,满足a1+a4=a2+a3,a1+a2|a3+a4,a1+a3|a2+a4。容易发现将其同时扩大k倍是仍然满足条件的,于是考虑gcd(a1,a2,a3,a4)=1的情况。对于a1+a3|a2+a4,由a1+a4=a2+a3,可以发现a2+a4<3( 阅读全文
posted @ 2018-11-30 18:30 Gloid 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 即求删掉一个子序列的gcd之和。注意到前后缀gcd的变化次数都是log级的,于是暴力枚举前缀gcd和后缀gcd即可。 阅读全文
posted @ 2018-11-30 17:46 Gloid 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 如果要在某点买入某物品并在另一点卖出,肯定是走其间最短路径。于是预处理任意两点间的收益和最短路径,连完边二分答案判负环即可,可以全程floyd。注意inf大小。 阅读全文
posted @ 2018-11-30 02:35 Gloid 阅读(128) 评论(0) 推荐(0) 编辑