随笔分类 - cf
codeforces
摘要:题目链接:http://codeforces.com/problemset/problem/421/D题目大意:每个人说出自己认为的背锅的两个人,最后大BOSS找两个人来背锅,要求至少符合p个人的想法。最终选出的两个人中只有有一个在自己的预测内就算符合想法。解题思路:统计每个人背锅的次数,排个序。找...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/400/D题目大意: 给定n个集合,m步操作,k个种类的细菌, 第二行给出k个数表示连续的xi个数属于i集合。 当某个种类之间两两交换的值都为0可行解,则输出所有种类之间交换的最小值;否则输出No解题思路:当两点之间的距离为0时并查集到一个集合中,只需保证最终同一种类的细菌都在一个并查集中则是符合条件的可行解,再用FLOYD找最短路即可 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace st...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/358/D开始题意理解错,整个就跪了= =题目大意:从1到n的位置取数,取数的得到值与周围的数有没有取过有关,所有数都要取,求最终得到的最大结果解题思路:dp题,转移方程如下dp[i][0]=max(dp[i-1][0]+b[i-1],dp[i-1][1]+c[i-1])dp[i][1]=max(dp[i-1][0]+a[i-1],dp[i-1][1]+b[i-1])a,b,c分别表示周围没有数,有一个数,有两个数取过的情况。dp[i][0]表示取i个位置时,i-1没取过的情况。(实际取数的情况,先i,
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/350/B一开始想复杂了,建了张图,结果效率太低T了。其实用数组存可以了,结果发现的时候快没时间了,修改好前5分钟比赛就结束了,泪目。。。题目大意:每个地点有用1表示旅馆,用0表示是山地。每个地点用一个数表示能从哪一个地点到达这里(单向)。现在要求一条最长的路径,除了终点为旅馆外,前面的路径上都是山地。要求前面的路上不能有分岔路,即从该点出发只有一条可行路。解题思路:开一个数组存到达该点的始发地,再开一个数组存以某点为起点的路径有几条,不为1即可删去不计。然后从每一个旅馆开始向前深搜,找出最长的路径。
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/348/A题目大意:N个人中找出1个人主持,剩下N-1个人参与游戏,给出每个人想参与游戏的次数,问要满足每个人最少要玩多少轮游戏。我的算法会烦一点:首先找出所有人中想参与游戏的最大次数max,即可能的最小解ans。然后用这个max去减每个人想要参与游戏的次数,得到在max次游戏中每个人能够当主持的次数。把这些次数加起来得到b,与max的大小进行比较,如果b>=max则说明满足了每个人人的期望。否则,ans+1,然后b+n-1,(即除了想参与max次数的人当主持的次数都+1),再进行比较,直到找到b
阅读全文

浙公网安备 33010602011771号