摘要: "题目链接" 做法: 首先预处理出每个数的约数,用 $ vector $ 存,时间是调和级数 $ O(n \log n) $ 。 部分分:当 $ n = k $ 时,每次操作最优,然后从右往左枚举,若果当前为1则用掉一次,暴力修改。得 $ 50 $ 分。 正解: $ f[i] $ 表示对于 $ n 阅读全文
posted @ 2019-01-13 21:30 daniel14311531 阅读(177) 评论(0) 推荐(2) 编辑
摘要: "题目链接" 题意:一张 $ n $ 点 $ m $ 边无向图,每条边有编号。若一个区间内的边能连成一个环,则称这个区间为好区间。求每条边分别在多少个好区间内。 算法一: 首先想到一个暴力。枚举区间的左端点,右端点,用并查集判断是否有环,得分 $ 60 $ 分。 算法二: 显然的优化1:设 $ [l 阅读全文
posted @ 2019-01-13 19:49 daniel14311531 阅读(177) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-12 15:15 daniel14311531 阅读(7) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-10 14:56 daniel14311531 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-10 08:04 daniel14311531 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 定义: 是一个连通图。 每一条边最多属于一个简单环。 <! more 做法: DFS树 根据 $tarjan$ 的过程,得到一个$DFS$树,同时也可以可得到每个点属于哪一个环(或不属于任何一个环)。对于只属于树的边,进行树形DP;对于环上的边,在环上DP。适用于仅需操作一次的简单仙人掌DP。 代码 阅读全文
posted @ 2019-01-09 20:41 daniel14311531 阅读(341) 评论(0) 推荐(1) 编辑
摘要: 题意: 对于每一个$i$求满足如下条件的字符串的数目 1. 长度为$n$且只出现过'N','O','I'三种字符 2. 和一个长度为$k$的模式串的 最长公共子序列 长度恰好为$i$ 3. 不含"NOI"这个 子串 题解:DP套DP。 首先考虑最长公共子序列怎么求。令$dp[i][j]$表示当前串的 阅读全文
posted @ 2019-01-01 19:22 daniel14311531 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 卡常有风险,code需谨慎 题意: 一个长为$n$的序列$a$,有$m$次操作 1. 把区间$[l,r]$内所有x变成y 2. 查询区间$[l,r]$内k小值 $(n \leq 100000)$ 题解:lxl所谓的“望月悲叹的第一分块”。 其实就是将数列进行值域分块,同时将数列分块,令 $sum1[ 阅读全文
posted @ 2018-12-29 20:35 daniel14311531 阅读(531) 评论(3) 推荐(1) 编辑
摘要: 题意: "「雅礼集训 2018 Day7」B" 题解:考虑题目中$a, b, c, n$为定值,改变的只有$p$和$T$串。将$S$串不断往后复制,设$k = p + b$,则询问位置分别为$k,k + a,k + 2 \times a$...的贡献。根据题意,当一个数$x_{i}$,$x_{i} 阅读全文
posted @ 2018-12-28 15:59 daniel14311531 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 题意: "「雅礼集训 2018 Day7」A" 题解: 线段树处理。 考虑只有一种与的操作。显然当一个区间的或和与上将要与的数还是原数时就没必要递归计算了,剪枝剪掉。当一段区间与和与上将要与的数等于这段区间或和与上将要与的数时,更新后这段区间的最小值位置还是更新前的位置。由于一次操作至少将数的一个二 阅读全文
posted @ 2018-12-28 15:43 daniel14311531 阅读(623) 评论(0) 推荐(2) 编辑