03 2019 档案
摘要:图论——桥+构造 首先证明当k为偶数时不可行 题目说至少有一个桥,那么就先考虑只有一个桥的情况 设这个联通分量中有 x 个点 在一个联通分量里有一条边连向另一个联通分量中,度用去 1 此时点剩余的度有 k*x-1 因为k为偶数,所以 k*x-1 为奇数 又因为一条边贡献 2 度 所以不可行 同理若有
阅读全文
摘要:DP+斜率优化 dp[i]表示在前第i个士兵在特别行动队中最后一个时战斗力的最大值 sum[i]表示战斗力的前缀和 答案一定是dp[n] $dp[i]=dp[j]+a(sum[i]-sum[j])^{2}+b(sum[i]-sum[j])+c$ 令j优于k,则得到 $2asum[i](sum[k]-
阅读全文
摘要:排序+数据结构 将每一行(每一列)都排个序,并将原位置的在这一行(列)中的排行记录在一个数组里 注意,要将楼高度相同的元素看作一个元素 如 1 1 4 5 6 8 8,则排行是 1 1 2 3 4 5 5 处理好后,枚举每一个十字路口, 若当前的处在的行的排行大于列的排行,则当前这个元素之后的列中元
阅读全文
摘要:首先 我们考虑每次船来回运人时都可以看成一种dp状态 又因为人的体重只有50kg和100kg两种, 所以我们可以开一个三维数组dp[i][j][k],第1维表示在出发岸50kg有i个,第2维表示在出发岸100kg有j个,第3维表示船在哪一岸 又考虑到每一个人都是不同的,所以我们需要对在船岸的这一边的
阅读全文
摘要:构造题+数学 题意是要求一个序列中最大的∑(i>=l且i<=r) (r-l+1)*a[i]的值,题目给出代码,要你hack这份代码,使他的答案与正确答案相差k 考虑在第一个数放一个负数-1,之后的1999个数之和为sum, 则他代码的答案为 sum*1999 正确答案为 (sum-1)*2000 所
阅读全文
摘要:优先队列+贪心 先以t2排序,依次枚举,若当前时间+t1<=t2,则累计答案,并将这个建筑扔到大根堆中去 否则,在之前选过修理的建筑中选出t1最大的那个元素,与当前元素作比较,若当前的t1较小,则当前方案更优,扔出队首元素,替换成当前建筑
阅读全文
摘要:在AC自动机上做DP dp[i][j]表示在字符串里(文章)中第i个位置在自动机中第j个状态的方案数 当sh[j].son[k]是一个单词的结尾时,则累计答案,此时i右边的字符都可以在A~Z中任意选择,不转移到下一个状态 若不是单词的结尾,则转移到下一个状态。 是否是单词的结尾需要注意,并不只是在加
阅读全文

浙公网安备 33010602011771号