博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 29 下一页
摘要: 题目链接 题意:q次询问仙人掌上两点的最短路。 圆方树。做题思路不写了。。 就是当LCA是方点时跳进那个环可以分类讨论一下用树剖而不必须用倍增: 如果v是u的(唯一的那个)重儿子,那么u的DFS序上+1的点即是要找的;否则v会引出一条新的链。 不用圆方树的做法(代码错了不想改了,但是能A)。 //3 阅读全文
posted @ 2018-05-31 16:56 SovietPower 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目链接 $Description$ 求最多10个串的LCS(最长公共子串)。 $Solution$ 类比上题,对一个串建SAM,我们可以逐串地求出其在每个节点所能匹配的最大长度mx[i]。 对于每个点i,所有串的mx[i]的最小值即为在点i n个串的LCS长度。枚举所有点即可。 这需要把每个点都匹 阅读全文
posted @ 2018-05-31 08:17 SovietPower 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 求两个字符串最长公共子串 阅读全文
posted @ 2018-05-30 21:52 SovietPower 阅读(344) 评论(13) 推荐(0) 编辑
摘要: HDU.1028.Ignatius and the Princess III(母函数) //0MS 1500K //母函数。。背包、DP都行。。 #include <cstdio> #include <cstring> typedef long long LL; const int N=122; i 阅读全文
posted @ 2018-05-27 11:41 SovietPower 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 二维平面上初始有$n$个点,$m$次$2$种操作:在二维平面上加一个点;询问离某个点曼哈顿距离最近的点是多少。 $n,m\leq3\times10^5$。 阅读全文
posted @ 2018-05-13 21:43 SovietPower 阅读(251) 评论(0) 推荐(0) 编辑
摘要: "题目链接 BZOJ" "洛谷" AC代码: 区间DP,f[i][j]表示消掉i~j需要的最少珠子数。 先把相邻的相同颜色的珠子合并起来。 枚举方法一样,处理一下端点可以碰撞消除的情况就行。 当然合并会出现问题,比如有多个同色珠子但是可以分配给两边分别匹配,比如:https://www.luogu. 阅读全文
posted @ 2018-05-08 22:02 SovietPower 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Descripiton\) 给出文本串S和模式串T和k,S,T为DNA序列(只含$A,T,G,C$)。对于S中的每个位置$i$,只要$s[i-k]\sim s[i+k]$中有一个位置匹配了字符$c$,那么就认为$i$可以匹配$c$。求S中有多少位置匹配了T。 \(Solution\) 阅读全文
posted @ 2018-05-05 08:47 SovietPower 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Descripiton\) 给出$q[\ ]$, \(F[j]=\sum_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum_{i>j}\frac{q_iq_j}{(i-j)^2}\) 令$E_i=\frac$,求所有$E[i]$。 \(Solution\) 这的挺详细了 阅读全文
posted @ 2018-05-04 16:50 SovietPower 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Descripiton\) 给定$A[\ ],B[\ ]$,求 \(C[k]=\sum_{i=k}^{n-1}A[i]*B[i-k]\ (0\leq k<n)\) \(Solution\) (先令$n=n-1$) 首先往卷积上想。。 $i$与$i-k$的差值是一定的,但是卷积的形式是 阅读全文
posted @ 2018-05-04 10:25 SovietPower 阅读(274) 评论(0) 推荐(0) 编辑
摘要: [TOC] 2018.5.3 Test 得分:9+8+100=117 昨天刚看过T3。。 T1 "题目链接" 离散化区间后好像很好想到$O(n^2)$?调不出来算了。。 做不下去 先不改了 T2 "题目链接" 也不想改。再说。。 T3 UOJ.206.[APIO2016]Gap(交互) "题目链接" 阅读全文
posted @ 2018-05-03 17:35 SovietPower 阅读(215) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 在一个$n n$的二维平面中有两个不相交的整点矩形,每次可以询问两个矩形有几个完全在你给出的一个矩形中。200次询问内确定两个矩形坐标。 $Solution$ 容易想到二分。整个矩形好像不好判断?那就每次二分判断矩形两个点的横纵坐标。次数为 8 26 inc 阅读全文
posted @ 2018-05-02 20:46 SovietPower 阅读(271) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 随机化 暴力: 随便从一个点开始DFS,每次从之前得到的f[i]最大的子节点开始DFS。f[i]为从i开始(之前)能得到的最大答案。 要注意的是f[i]应当有机会从更小的答案更新, 9.10求直径。 就82分了。 本来想的SPFA啥的也不对。。正解思路是 "这的" 。 cpp incl 阅读全文
posted @ 2018-05-02 18:19 SovietPower 阅读(256) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 环可以拆成链;对字符串排序能想到后缀数组。 完了。输出时忽略长度不足n的串,输出s[sa[i]+n 1],即排名为i的字符串的末尾。 阅读全文
posted @ 2018-05-02 10:43 SovietPower 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 难得写出一道不(很)水的题。 阅读全文
posted @ 2018-05-02 09:03 SovietPower 阅读(202) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 直接排序显然怎么都不行。 先按毁坏时间排序,优先修损坏早的,中途我们再改修的建筑。 枚举每个建筑x,如果能,就修;不能的话,从之前要修的建筑中找一个花时最大的need[top],如果need[x] include include include define pr std::pair 阅读全文
posted @ 2018-05-01 21:56 SovietPower 阅读(142) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 枚举对子,枚举每张牌,先出完它的刻子,剩下的出顺子。$O(n^3)$. 不是这样 出完所有刻子,最后出顺子。(日常zz) 优先仨相同的,然后顺子,有一次且一定要用一次机会补顺子的空位,即把刻子换成对子。这样好像是$O(n^2)$. 不写$O(n^2)$的了,特判之类大概非常麻烦。。 c 阅读全文
posted @ 2018-05-01 20:15 SovietPower 阅读(203) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 搜索,枚举切的n 1刀。 对于长n宽m要切x刀,可以划分为若干个 长n'宽m'要切x'刀 的子问题,对所有子问题的答案取max 对所有子问题的方案取min 就是当前状态答案。 这显然是会有很多重复状态的,用map记忆化(长宽都是double)。 每一刀会将当前分成两份。比如当前是横着切 阅读全文
posted @ 2018-05-01 16:21 SovietPower 阅读(176) 评论(0) 推荐(1) 编辑
摘要: 题目链接 洛谷 题意:给定仙人掌图,边权为1,求其直径。 类似求树的直径,可以用(类似)树形DP求每个点其子树(在仙人掌上就是诱导子图)最长链、次长链,用每个点子节点不同子树的 max{最长链}+max{次长链} 更新答案。(不需要存次长链,求解过程中先更新ans,然后再更新最长链即可) 设f[i] 阅读全文
posted @ 2018-05-01 15:28 SovietPower 阅读(198) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 数位DP。傻了。。 前导0是有影响的,影响第一位的选择,所以要记。再记录上限,然后在没有限制时记忆化。 阅读全文
posted @ 2018-05-01 11:26 SovietPower 阅读(146) 评论(0) 推荐(1) 编辑
摘要: 多次询问求仙人掌上两点间的最短路径。 阅读全文
posted @ 2018-04-29 20:26 SovietPower 阅读(517) 评论(2) 推荐(0) 编辑
摘要: "题目链接" 不同面额的钞票是可以分开考虑的。 ↑其实并不很明白具体(证明?),反正是可以像背包一样去做。 f[x][i][j]表示用前x种面额钞票满足 A有i元 B有j元 (C有sum i j)所需交换的最少数量(=(abs(ΔA)+abs(ΔB)+abs(ΔA+ΔB))/2)。 (i,j是在本来 阅读全文
posted @ 2018-04-29 17:50 SovietPower 阅读(197) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-04-29 13:08 SovietPower 阅读(112) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 按照优先级移动,操作序列显然是唯一的。 普通的汉诺塔是将n 1个盘子移到中间柱,再将第n个盘子移到目标柱,再将n 1个移到目标柱上的递归过程。 对于本题移动方法还是基本一样的。考虑递推,从i 1个盘子推i个盘子。 p[i][x]表示将x柱上的前i个盘子移走,按顺序操作最终会到哪个柱子上 阅读全文
posted @ 2018-04-28 21:31 SovietPower 阅读(167) 评论(0) 推荐(1) 编辑
摘要: "题目链接" POJ输出不能用%lf! mmp从4:30改到6:00,把4:30交的一改输出也过了。 于是就有了两份代码。。 cpp //392K 500MS //用两点构成的矩形更新,就不需要管边界了 include include include include define gc() getc 阅读全文
posted @ 2018-04-28 19:00 SovietPower 阅读(171) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "一个比较好的解释?" 模拟退火(Simulated Annealing,SA): (1)初始化一个温度(充分大)、初始解状态S、每个T值的迭代次数。 (2)对i=1,...,L,做(3)至(7)步。 (3)产生新解S'。 (4)计算Δt=C(S') C(S),其中C(S)为评价函数。 阅读全文
posted @ 2018-04-28 12:54 SovietPower 阅读(307) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 只有两行,可能的路径数不多,考虑用线段树维护各种路径的连通性。 每个节点记录luru(left_up right_up),lurd,ldru,ldrd,luld,rurd,表示这个区间对应的连通信息。 合并时 横向道路需要用两个数组up[],down[]记录连通性;纵向道路在修改时直接 阅读全文
posted @ 2018-04-28 08:50 SovietPower 阅读(181) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 树形DP,考虑子节点对父节点的贡献。 设f[x][i][j]表示当前为x,用i个x去合成上一层装备,花费为j的最大价值。 由子节点转移时 是一个分组背包,需要一个辅助数组g[i][j]表示前i棵子树花费为j能贡献给x的最大价值。 那么 $g[i][j] = max{g[i 1][j k 阅读全文
posted @ 2018-04-27 15:16 SovietPower 阅读(169) 评论(0) 推荐(1) 编辑
摘要: "题目链接" "参考" . $Description$ 将$1,2,\cdots,n(n\leq 300)$依次入栈/出栈,并满足$m(m\leq 90000)$个形如$x$要在$y$之前出栈的限制,问合法的出栈序列有多少种。 $Solution$ 没有限制就是个卡特兰数,但有了限制就要考虑好好DP 阅读全文
posted @ 2018-04-16 13:06 SovietPower 阅读(176) 评论(0) 推荐(0) 编辑
摘要: RTqwq 阅读全文
posted @ 2018-04-14 23:04 SovietPower 阅读(3594) 评论(206) 推荐(13) 编辑
摘要: "题目链接" $Description$ 将长为$3n$的序列划分成$3$个子序列,要求至少有两个子序列的和都$\geq 500 n$,输出任一方案。保证有解。 $Solution$ 肯定是要将最大的$2n$个数分成两个满足条件的子序列。 直接贪心并没有什么可行的做法。。(反正我想不出来) 我们考虑 阅读全文
posted @ 2018-04-12 12:39 SovietPower 阅读(286) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 29 下一页