codeforces 1084 考后总结

  • 前言

奋斗组的第一次练习,总体做的非常不好...开场切A题,然而B题被题意杀了,然后被续了一个多小时...中间想C题又差一点想出来......感觉最后的题解跟我思路前面一模一样,最后却没有想到...可以说是失误了吧.

总体概括一下:A,B是水模拟,C是普通DP,D是树形DP,E是数位DP.

  • 一句话的题意

  • A:略

  • B:有n桶水,第i桶水里初始时有v[i]升水,你需要从这n桶水中取出s升水,问是否能取出s升水,如果可以的话输出n桶水中剩下水最少的那桶水尽量的多的答案.

  • C:给定一个字符串,求满足开头和结尾是'a',中间至少又一个'b'的子串总数(%1e9+7).

  • D:给你一棵树,数上的每个点都有一个正权值,每条边都有一个负权值,让你在树中找一条简单路径,使得权值和最大.

  • E:给定一个[s,t]的区间,s和t都是由'a'和'b'组成的字符串,现要在其中选出k个长度为n的字符串,求最多的不同的前缀的数量.

  • 不止一句话的题解

  • A:略

  • B:排序,从大到小暴力模拟,到所有水桶都想同时继续暴力就好了...

  • C:仅考虑字符串中的'a'和'b',记录当前位置以前上一个b位置时f[]的和为sum,扫到'a'时用这个sum去更新dp值;扫到'b'时,当前f[i]=sum=f[i-1].

  • D:似乎是稳的树型DP,算出每个点儿子最大的答案值即可更新这个点的答案(即f[i]=max(f[j]),j是i的直系儿子)

  • E:

  • 那么,后面的比赛都考好点吧..特别是明天的中医药大学校赛

posted @ 2018-12-21 21:40  local123  阅读(199)  评论(0编辑  收藏  举报