上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: 【LG3246】[HNOI2016]序列 题面 "洛谷" 题解 60pts 对于每个位置$i$,单调栈维护它往左第一个小于等于它的位置$lp_i$以及往右第一个小于它的位置$rp_i$。 那么在左端点在$(lp_i,i]$,右端点在$[i,rp_i)$的所有区间中, 区间的贡献均为$a_i$(之所以 阅读全文
posted @ 2019-02-27 22:19 heyujun 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 30pts 爆搜即可。 100pts 题意描述里有一句:"对每张图片$i$,小$D$都最多只记住了某一张质量不比$i$差的另一张图片$K_i$。" 即只有一个父亲,且$m\leq n$,所以建树,容易想到树形$dp$, 对于"$=$"的,直接用并查集将之看成一个点, 对于"$ 阅读全文
posted @ 2019-02-26 10:57 heyujun 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 20pts 直接暴力统计即可,复杂度$O(NQ)$。 另20pts 我们考虑动态点分治。 怎么在原树上统计答案呢,我们对点$x$, 预处理出其子节点数目$s_0$,其子树内每个点到$x$的距离和$s_1$,以及其子树内每个点到$fa_x$的距离和$s_2$。 则每次我们暴跳父亲 阅读全文
posted @ 2019-02-26 10:54 heyujun 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 20pts 枚举每一条边是否在树中即可。 另10pts 我们考虑一张$DAG$中构成树的方法数,每个点选一个父亲即可,那么有 $$Ans=\prod_{i=1}^{n} deg_i$$ $deg_i$表示点$i$的入度,其中$deg_1=1$。 $100pts$ 考虑在上面的基 阅读全文
posted @ 2019-02-26 10:50 heyujun 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 首先我们有个非常显然的思路, 就是直接拓扑排序,用小根堆代替队列再按顺序输出,但是很显然是错的, 因为这只保证了字典序最小,而无法保证答案最优,$,$就是一个例子。 可以发现,让编号大的尽量在后面被选答案一定最优,所以在反图上大根堆+拓扑排序在逆序输出即可。 代码 代码是以前的 阅读全文
posted @ 2019-02-25 16:37 heyujun 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 20pts 对于$n,P,Q\leq 3000$,暴力判断每条路径的包含关系然后排序$kth$即可,复杂度$O(PQ\log P)$ 另30pts 原树为一条链。 发现对于每个盘子,也就是区间$x,y$,那么对于包含这个区间的水果$u,v$,要满足$u\leq x\leq y\ 阅读全文
posted @ 2019-02-25 16:29 heyujun 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出$n$堆石子, 每次可以选择将大于某个数$f$一堆平均分成多个堆, 最后不能操作的失败。 题解 10pts 直接爆搜即可。 70pts 像我们对这类题目的常规操作那样,将一整个局面分为几个子游戏,然后异或起来求答案。 注意到我们现将一堆$m$分为$i$堆,那么会分成$\lfloor \ 阅读全文
posted @ 2019-02-25 16:24 heyujun 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给你一张$N$个点、$M$条边的有向图,按顺序给定你一条有$L$条边的$1\rightarrow n$的最短路, 每次断掉这$L$条边中的一条(不对后面答案产生影响),求每次断边之后的最短路。 题解 40pts 每次断边之后跑$dijkstra$最短路即可,复杂度$O(LM\log N)$ 阅读全文
posted @ 2019-02-25 16:18 heyujun 阅读(313) 评论(0) 推荐(1) 编辑
摘要: 题面 题解 分三种情况: 若所有串都没有通配符,直接哈希比较即可。 若所有串都有通配符, 把无通配符的前缀 和 无通配符的后缀哈希后比较即可。 中间部分由于通配符的存在,一定可以使所有串匹配。 若部分串有通配符, 首先把所有无通配符的字符串比较好。 现在问题变为,能否通过通配符使每个串变为一个模板串 阅读全文
posted @ 2019-02-25 16:13 heyujun 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c 阅读全文
posted @ 2019-02-20 14:18 heyujun 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c 阅读全文
posted @ 2019-02-20 12:00 heyujun 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c 阅读全文
posted @ 2019-02-20 10:29 heyujun 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 勘误:新的休息点a需要满足的条件2为那一部分小于等于ans 代码 $100pts$ cpp include include include include include include using namespace std; inline int gi() { regist 阅读全文
posted @ 2019-02-20 10:24 heyujun 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 代码 $100pts$ 阅读全文
posted @ 2019-02-20 10:15 heyujun 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题面 "洛谷" 题解 代码 $50pts$ 阅读全文
posted @ 2019-02-20 10:10 heyujun 阅读(130) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页