摘要:
dp c++ include include inline int read() { int x = 0,f = 1; char c = getchar(); while(c '9')c = getchar(); while(c = '0') x = x 10 + c '0',c = getchar 阅读全文
摘要:
题目链接 "bzoj3628: [JLOI2014]天天酷跑" 题解 开始读错题目了,尴尬 由于题目说的跳跃次数和高度是在一开始设定的。 发现枚举一下记忆化搜索就可以过了 要注意,跳到最高点是可以不下坠继续连跳的 另外,上边界 不能到达 代码 阅读全文
摘要:
题目链接 "CF23 E. Tree" 题解 CF竟让卡常QAQ dp+高精度 dp[x][j]表示以x为根的子树,x所属的联通块大小为j,的最大乘积(不带j这块 最后f[x]维护以x为根的子树的最大答案 有点卡内存...高精压了4位 看了题解,了解到,其实这个dp的复杂度其实是O(n^2) 每次转 阅读全文
摘要:
题目链接 " CF815C Karen and Supermarket" 题解 只要在最大化数量的前提下,最小化花费就好了 这个数量枚举ok, dp[i][j][1/0]表示节点i的子树中买了j件商品 i 优惠了 / 没优惠 复杂度是n^2的 因为每次是新儿子节点的siz 之前儿子几点的siz, 就 阅读全文
摘要:
题目链接 "bzoj4016: [FJOI2014]最短路径树问题" 题解 对于建树 dij建出最短路图 在最短路图上dfs,先走字典序最小的可达点 得到最短路树 然后就是经典的点分治了 维护每个深度的最远距离合并就好了 代码 c++ include include include include 阅读全文
摘要:
题目链接 "bzoj4456: [Zjoi2016]旅行者" 题解 网格图,对于图分治,每次从中间切垂直于长的那一边, 对于切边上的点做最短路,合并在图两边的答案。 有点卡常 代码 c++ include include include include include include inline 阅读全文
摘要:
以后不给题解的模拟赛,死也不做, 我这么菜,你还不给我题解 T1不会 没题解,std不懂 trick还是太菜,唉 自己想的大概是 枚举每个点处理包含的矩阵,展开平方,对于拆除改点的部分维护前缀和,这个前缀和类似与带一个二项式容斥的和式 然后对于另一部分可以把矩阵分治 在合并的时候维护一下矩形的匹配轮 阅读全文
摘要:
题目链接 "2018 ACM 国际大学生程序设计竞赛上海大都会" 下午午休起床被同学叫去打比赛233 然后已经过了2.5h了 先挑过得多的做了 .... A题 rand x n 次点,每次judge一个点位端点的共线向量数判断是否大于给定x 强行rand 500次 代码 J题目 Beautiful 阅读全文