A题 给一个由a和b两种类型的字符组成的字符串,每次可以从中选取任意长度的回文子序列(不一定连续)并删除.问最少需要几次能将整个字符串为空. 思路:如果本身是个回文串,那么只需要一次,否则需要两次(第一次选全部的a,第二次全部选b). Accepted Code: def is_palidrome(s): n = len(s); for i in xrange(n / 2): if s[i] != s[n - i - 1]: return False; return True; if __nam…
题目地址https://www.codechef.com/LTIME44 Nothing in Common 签到题,随便写个求暴力交集就行了 Sealing up 完全背包算出得到长度≥x的最小花费,然后对每条边的长度向上取整分别算一下.本来也是签到题的结果我调了1h+.. Segment Queries 定义连续段为被激活的极长子串,一条线段被激活当且仅当它的两个端点在同一个连续段,用set和并查集维护连续段内的询问,修改时当前点成为新的连续段,并和两侧连续段(如果有)启发式合并一下,O(n…
找出一个数组中的三个数,三个数不能组成三角形. 三个数不能组成三角形的条件是:a + b < c 两边和小于第三边. 这个问题属于三个数的组合问题了.暴力法可解,可是时间效率就是O(n*n*n)了,非常慢. 只是既然是组合问题就必然能够使用排序后处理的方法减少时间效率的. 这里减少时间效率的方法是: 选一个最大的数c.然后选两个小数a和b,当中a < b,假设符合条件,那么两个数中间的数必然都能够作为b符合条件a + b < c 这样能够把时间效率降到O(n*n). 这个规律也不好找啊.…
The Street Problem Code: STREETTA https://www.codechef.com/problems/STREETTA Submit Tweet All submissions for this problem are available. Read problems statements in Mandarin Chineseand Russian. The String street is known as the busiest street in Cod…