DP 做题记录 II.】的更多相关文章

里面会有一些数据结构优化 DP 的题目(如 XI.),以及普通 DP. *I. P3643 [APIO2016]划艇 题意简述:给出序列 \(a_i,b_i\),求出有多少序列 \(c_i\) 满足 \(c_i=-1\) 或 \(c_i\in[a_i,b_i]\),同时非 \(-1\) 的部分单调递增. 直到做到这题我才意识到我的 DP 水平有多菜. 注意到值域过大,于是对区间进行离散化,设离散化后的端点分别为 \(p_1,p_2,\cdots,p_c\).注意要将 \([a_i,b_i]\)…
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) 余\(r\)的方案数,直接矩乘优化. [六省联考2017]相逢是问候 \(c^x\mod p=c^{x\mod \varphi(p)+\varphi(p)}\mod p(x>p)\) \(\varphi\)跳\(\log\)次就会跳到\(1\). 用欧拉定理时取膜这么写:int Mod(ll a,i…
Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律6 求一个串每个长度出现次数的最大值 求出fail树每个点的size就是该点的出现次数,由于答案是(非严格)单调减的,每个点更新一下 \(ans[len[i]]\) Hihocoder 后缀自动机四·重复旋律7 求几个数字串本质不同的子串所代表的数的和, \(mod\ 10^9+7\) 先建一下广义…
退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计几题都不写了 CF611G New Year and Cake 真香 双指针扫可行的区间然后维护. 一个三角形的面积可以用\(|AB+BC+CA|\)算,其中\(A,B,C\)是向量\(OA,OB,OC\),\(O\)在三角形外 然后推出的式子可以很好地化简然后维护(为啥我写这么慢啊 CF504E…
BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难题 啥也不会,暴力点分治. 点分治的时候只有相同颜色的链合并到一起的时候会出事. 一开始以为权值非负,于是胡了个假做法-- 把边按颜色排序,每次处理一整段的相同颜色,分两棵线段树维护其他颜色/当前颜色的最大权值,然后就没了. 单调队列神仙做法不会-- 代码 LOJ #2180. 「BJOI2017」…
DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\(b_j\)结尾的最长公共上升子序列的长度 考虑转移 \[ f_{i,j} = \left\{\begin{array}{l}{f_{i - 1,j}\quad \quad \quad \quad \quad \quad\quad(a_i \not= b_j)} \\ {\max_{k = 1}^{…
UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好了> > 只需要统计能缩出多少tab,而这个显然可以前缀和扫扫罗干罗干就好了> > 无爱地刷rank> > #include <cstdio> #define fon(i,s) for(ul i=0;i<s; ++i) #define foxe(i,f,t…
ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{array}{c} S(n) & = & \sum_{i = 1} ^ n \sum_{p = 1} ^ i \sum_{q = p + 1} ^ i \frac {1}{pq}[p + q \geq i][gcd(p, q) = 1] \\ & = & \sum_{i = 1}…
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车往右开,只要没走到最左边,最后也要折回左边,所以不如先走完左边然后直接过来.左边<右边一样. 然后递归下去变成了一个子问题,可以看做一边的票数+=另一边,然后删除另一边. AGC023 E 考虑枚举两个位置\(i,j\)计算这两个位置产生逆序对的排列数量. 如果\(A_i=A_j\)很好算,方案数都是对…
FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题目要求,所以这种情况要特殊考虑)考虑一个修改操作对一个询问的影响,分为以下几类: (1) 区间不包含任何一个点,这种情况对答案没有影响. (2) 区间只包含其中一个点,这种情况有\(1/len\)的概率影响答案 (3) 区间同时包含两个点,这种情况有\(2/len\)的概率影响答案. 这个时候我们把…