随笔分类 -  DP

摘要:我到底是多菜才能这道题都做不出来啊 似乎是t神几分钟就写出来的题目 这道题的重点在于求长度为k的最短路,我的误区在于我一直想用各种最短路算法来解决,但是完全不需要 显然这种限制具体步数的问题可以用DP或者说是分层图来解决,当然从本质上来说分层图就是一种DP,考虑dp[k][i][j]表示从(i, j 阅读全文
posted @ 2021-05-07 21:20 cminus 阅读(43) 评论(0) 推荐(0)
摘要:官方题解传送门 B 系数 这一题的重点就在于1和-2在模3下是同余的,所以这一题的$(x2+x+1)2$和$(x2-2x+1)2$在3下是同余的,题目就转化成了求$(x2-1){2n}$的第$k$项系数,用二项式定理可知,就是$(-1)^C(2n, k)$,用Lucas求解即可 #include < 阅读全文
posted @ 2021-03-01 16:46 cminus 阅读(146) 评论(0) 推荐(0)
摘要:树上DP,考虑到先后手变化只和子树大小有关,因为每条边走两次,点走一次; 令dp[u]为拿u点coin的情况下对于整个子树,两人的硬币差会是多少,那么对于另一方而言,先选择不交换先后手并且对自己更好的子树(即dp[v] < 0),然后和另一方轮流选择子树,两方都会选择dp[v]尽可能最小的让自己的尽 阅读全文
posted @ 2021-02-15 16:26 cminus 阅读(125) 评论(0) 推荐(0)
摘要:我无法形容出这道题的题解,实在是太麻烦了,但是自己开的题,跪着也要做完,放个std仅供对拍 #include <cstdio> #include <algorithm> #include <vector> #include <cstring> using namespace std; const i 阅读全文
posted @ 2020-04-08 18:13 cminus 阅读(380) 评论(0) 推荐(0)
摘要:挂机一个多小时都没想出来这道题,不过好在前四题切的快还是上分了 看到有人说这题是区间DP裸题...我怀疑我要回炉再造了 两种解法,一种是O(n^3)的区间DP 先预处理哪些段可以合并成为一个数字,复杂度n^3,再区间DP f(i, j) = min(f(i, k) + f(k + 1, j)) ( 阅读全文
posted @ 2020-03-11 13:39 cminus 阅读(205) 评论(0) 推荐(0)
摘要:又是隔了一年才来补题的我 A、B水题就不用说了 C - Yet Another Walking Robot C题我居然卡了一会,最后决定用map水,结果出来看了看题解,居然真的是map...没想到会出这样题解用stl的方法,是我失策了 #include <cstdio> #include <algo 阅读全文
posted @ 2020-02-16 13:49 cminus 阅读(119) 评论(0) 推荐(0)
摘要:AB水题就不说了 C .算概率 其实也是水题,n^2的概率dp,但是我场上没看这道题(雾 简单的状态转移方程dp[n][m]记录前n道题做出m道的概率 dp[n][m] = dp[n - 1][m - 1] * p[n] + dp[n - 1][m] * (1 - p[n]); //dp[n][m] 阅读全文
posted @ 2020-02-13 22:24 cminus 阅读(176) 评论(0) 推荐(0)
摘要:2都结束了我才补完1的题 我真的太菜了 总体来说不是很难(反正我也AK不了) A.honoka和格点三角形 公式挺好推的,容斥随便搞搞就出来了,但是我错了8次....刚开始以为是取模的问题,后来把所有的数都取模了还是有问题,才发现因为用同余定理时候存在减法,会产生有负数的情况,所以需要(ans+MO 阅读全文
posted @ 2020-02-07 15:10 cminus 阅读(215) 评论(0) 推荐(0)