[bzoj 1028] [JSOI2007]麻将

忽略花色, 每种牌数量无限. 顺子是序数相连的三张牌, 刻子是序数相同的三张牌, 对子是序数相同的两张牌. 一组和了的牌由(3m+2)张牌组成: 一个对子, 其余每3张一组, 每组是顺子或刻子. 听牌是还差一张就可以和的牌. 判断某组牌是否是听牌, 如果是, 从小到大输出所有可能的等待牌. (9≤n≤400, 4≤m≤1000)

Read More

[bzoj 1188] [HNOI2007]分裂游戏

n个瓶子, 第i个瓶子中有p[i]颗豆子. 每次选择3个瓶子i<j≤k (要求瓶子i中至少有一颗豆子), 从i中取走一颗豆子, 在j,k中各放入一颗豆子. 两人轮流操作, 无法操作者获胜. 问: 先手是否有必胜策略? 如果有, 求第一步字典序最小的取法, 和第一步不同走法的数目. (t≤10组数据, 1<n≤21, p[i]≤10000)

Read More

[bzoj 4873] [Shoi2017]寿司餐厅

n种寿司, 第i种寿司有代号a[i], 区间[i,j]有美味度d[i][j] (i≤j). 每种寿司的份数无限, 取的次数无限. - 每次取走的寿司必须是连续的一段, 且每种各取一份. - 取[l,r]内的寿司会获得[l,r]所有子区间 (包括[l,r]) 的美味度之和. 总美味度是每次获得的美味度之和的累加, 但是每个d[i][j]只会被加一次. - 如果一共吃过c (c>0) 种代号为a的寿司, 需要支付(ma^2+ca)元钱, m是对于所有代号的寿司均相等的常数.

求总美味度减去花费的总钱数的最大值. (n≤100, a[i]≤1000, d[i][j]是整数, 可能不是正的)

Read More