Codeforces Round #431 Div2

A.Odds and Ends

题意:给出n个数,要求将这n个数分成奇数个长度为奇数且首尾为奇数的非空子段。

当时考场上没有想出O(1)算法,只好写了一个二维dp。。。

O(1)算法:判断n,a1,an是否都为奇数。

dp代码:点击打开链接


B.Tell Your World

题意:给出n个点,判断这些点是否能分布在两条平行的不重叠的直线上。

我个人的做法是这样的。

先假设1号点必定在一条不只有1号点的直线上,然后将1号点与每一个点连边算斜率,然后用这个斜率套一下每一个点。如果有两个不同的b就成立。

然后,如果说1号点单独的存在于一条线上,那就另外随便取两个点判断即可

代码:http://paste.ubuntu.com/25449295/


C.From Y to Y

题意:一开始有一堆字符。然后每次选择一组合并,定义f(s,c)为字符串s中字符c出现的次数,那么合并的价值为要求最后的总价值等于给定的k。

这题瞎搞搞就可以了呀。

比方说最后的字符串中有n个相同的字符,那么这n个字符对答案的贡献就是n*(n-1)/2

然后就是瞎搞了。。。

代码:代码





由于本垃圾实在是太菜了,所以各位大佬有什么问题尽管指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值