http://codeforces.com/contest/831/problem/C
visit http://blog.youkuaiyun.com/my_sunshine26/article/details/75095030
【题意】现在有一个人,有一个初始积分,接下来有k个人为他加分或减分,然后告诉你n(1<=n<=k)个积分减分过程中的积分,问根据这些信息,他的初始积分有多少可能
【思路】首先我们对加减分做一个前缀和运算,便于直接从某一个状态算出初始积分,因为每个过程分可能出现在任意位置,所以我们应该把它放在任意位置算出每种可能的初始积分,然后把这些可能值放入vector容器中,对于每个过程分重复这个操作,最后借助map容器判断vector容器中有几个初始积分出现了至少n次(每种限制条件都满足),然后输出即可。

本文解析了CodeForces上的一道题目C,通过使用前缀和运算简化问题,并利用vector和map容器来记录和统计可能的初始积分值。最终输出满足所有限制条件的初始积分值的数量。
184

被折叠的 条评论
为什么被折叠?



