随笔分类 -  题解

1 2 3 4 5 ··· 11 下一页
摘要:P1450 硬币购物 容斥 || dp + 单调队列优化 容易看出是个多重背包,然后拿单调队列优化一下后,计算量为 O(4ns) 这种做法的话就是单调队列优化板子题 #include <bits/stdc++.h> using namespace std; typedef long long 阅读全文
posted @ 2022-12-16 17:21 dgsvygd 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Sleepy Cow Herding S Sleepy Cow Sorting 的升级版,从 3 头牛变成 n 的情况 分类讨论 + 双指针 先把答案本就连续的特判丢掉 最大值 最大值就尽量把每个空位都踩一遍,模拟一下会发现,第一跳的空隙一定没办法踩到,因此考虑两边第一跳谁跳的短,就从哪边开 阅读全文
posted @ 2022-11-30 00:36 dgsvygd 阅读(68) 评论(0) 推荐(1) 编辑
摘要:Sleepy Cow Sorting 分类讨论 先把答案本就连续的特判丢掉 最大值 最大值就尽量把每个空位都踩一遍,模拟一下会发现,第一跳的空隙一定没办法踩到,因此考虑两边第一跳谁跳的短,就从哪边开始 最小值 跳一次 如果有两个相邻的,正好中间有个空位,就只用跳一次 跳两次 两次一定能结束,第一次跳 阅读全文
posted @ 2022-11-30 00:22 dgsvygd 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Colorful Operations 珂朵莉树 + 树状数组 || 线段树 单独维护点当前的值 val 和 当前颜色的值 tag 这样就可以分开维护颜色和点的值,把复杂的操作 2 变成 O(1) 每次更改 i 的颜色 a->b 的时候:$val_i = val_i + tag_ 阅读全文
posted @ 2022-11-23 23:46 dgsvygd 阅读(28) 评论(0) 推荐(1) 编辑
摘要:Willem, Chtholly and Seniorious 珂朵莉树 慕名而来 操作 3 直接排序是我没想到的,因为随机数据所以才能过吧 split 操作中忘了开 longlongwa3 #include <iostream> #include <cstdio> #includ 阅读全文
posted @ 2022-11-23 13:02 dgsvygd 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Physical Education Lessons 珂朵莉树 模板 #include <iostream> #include <cstdio> #include <set> using namespace std; #define It set<ran>::iterator struct ran 阅读全文
posted @ 2022-11-23 12:59 dgsvygd 阅读(22) 评论(0) 推荐(0) 编辑
摘要:Mahjong 爆搜 先搜索出所有胡牌的情况,然后根据胡牌的情况,随便丢掉一张牌,则肯定是听牌状态 然后枚举所有的听牌状态,计算其听牌集合,存起来即可 #include <iostream> #include <cstring> #include <string> #include <cstdio> 阅读全文
posted @ 2022-11-21 00:19 dgsvygd 阅读(200) 评论(0) 推荐(1) 编辑
摘要:Game Plan 思维 && 环 考虑每个数字都作为一个点,每行同时出现就建一条双向边,形成若干个连通块 如果一个连通块是一颗树,则有该连通块中有个点必然取不到,直接贪心取最大值取不到即可 如果存在一个环,则该连通块中所有点都可以取到 #include <iostream> #include <c 阅读全文
posted @ 2022-11-21 00:17 dgsvygd 阅读(213) 评论(0) 推荐(1) 编辑
摘要:Problem B. Genshin Impact 概率 考虑一段 y 中,被燃烧的时间段及其概率 只需要计算会影响到这一段的射箭点燃火的概率即可 也就是这一段 y 开头的那次射箭,以及上次射箭(如果有可能导致燃烧的话),上上次射箭,上上上次射箭..... 听说会有精度问题?还好赛中直接让队 阅读全文
posted @ 2022-11-21 00:09 dgsvygd 阅读(285) 评论(0) 推荐(0) 编辑
摘要:Infection 树形dp dp[u][k][0/1] 表示以 u 为根的子树,有 k 个感染的结点,无 / 有感染源的概率 统计答案的时候要乘上父节点不被传染的概率,表示只传染该子树,不蔓延到父节点那边 这个状态设计是默认根一定被感染 看了下别人的源码,改了一种树形 dp 的风格 阅读全文
posted @ 2022-11-14 20:57 dgsvygd 阅读(357) 评论(0) 推荐(1) 编辑
摘要:Customs Controls 2 并查集 + 拓扑 看了题解之后补的,题解写挺好的 考虑到 1 距离相等的点进行并查集合并(指向同一个点的点,到 1 的距离相等),缩点后重新建边,判断是否有环,若有说明不成立 成立之后拓扑处理当前点的最大深度,这个深度就代表 1 到该点(缩点后的)的 阅读全文
posted @ 2022-11-14 20:36 dgsvygd 阅读(583) 评论(0) 推荐(1) 编辑
摘要:Takahashi's Solitaire 双指针 && 尺取 先排个序,然后把数组扩展到 2×n,为了处理循环的情况 然后双指针跑一下,限定 r 扩展的条件为:当前数字等于前一个 或者 比前一个大 1 或者 尺取的第一个点 为了防止循环重复的问题,要限制一下尺取的长度不超 阅读全文
posted @ 2022-11-12 23:59 dgsvygd 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Crystal Switches 分层图 + 01bfs 按钮的操作就是走分层图的边 因此就构建两张图,然后将特殊点加一个双向边 01bfs 跑一下就行 #include <iostream> #include <cstdio> #include <algorithm> #include < 阅读全文
posted @ 2022-11-12 23:51 dgsvygd 阅读(117) 评论(0) 推荐(0) 编辑
摘要:Sorting a Matrix 拓扑序 首先可以明确无论怎么交换行列,原本在同一行或者同一列的元素,还是会处于同一行或者同一列 条件一 每行每行地看,如果能满足从小到大的条件,说明第 i 行的值域 [mini,maxi] 与 第 i1 行的值域 $[min_{i - 1}, 阅读全文
posted @ 2022-11-12 23:36 dgsvygd 阅读(217) 评论(2) 推荐(4) 编辑
摘要:STA-Station 换根dp 模板 去到相邻的点可以根据去到的点的子树有多少个结点,来调整当前的值 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <queue> #inc 阅读全文
posted @ 2022-11-09 21:01 dgsvygd 阅读(31) 评论(0) 推荐(0) 编辑
摘要:消防 树上直径 + 尺取 考虑答案的路径一定是在树上直径,因为离树上任意一个点最远的点一定是直径的两个点其中之一 因此先 dfs 一下找出直径两个端点 从其中一个端点出发,尺取长度小于 s 的所有答案贡献即可 每次尺取的最远距离由三个部分组成:直径最开始那个端点到 l 的距离、直径最后那 阅读全文
posted @ 2022-11-07 23:31 dgsvygd 阅读(30) 评论(0) 推荐(1) 编辑
摘要:二叉苹果树 树形dp 设计状态:dp[u][i],表示以结点 u 为根的子树,保留 i 条边的最大苹果数 状态转移:遍历每一个子节点 v 保留和 v 相连的边:dp[u][i]=dp[u][ij1]+dp[v][j]+wuv j 为遍历 $[ 阅读全文
posted @ 2022-11-01 20:52 dgsvygd 阅读(28) 评论(0) 推荐(0) 编辑
摘要:最大子树和 树形dp 对于一个节点来说,如果删除掉一个连接子节点的边,则以该子节点为根的子树上面的贡献都会变成 0 设计状态:dp[u],表示以 u 为根的子树中,贡献值最大为多少 状态转移:dp[u]=max(0,dp[v])vu 的子节点,0 的话表示删 阅读全文
posted @ 2022-11-01 20:19 dgsvygd 阅读(23) 评论(0) 推荐(0) 编辑
摘要:没有上司的舞会 树形dp 给每个结点 u 设计状态:dp[u][0/1]0 表示 u 不参加,1 表示 u 参加 dp[i][j] 表示在以 i 为根的子树中,当前 i 结点 参加/不参加 的状态下,最大的快乐值 状态转移: 当前结点为 u,遍历其所有子节点 阅读全文
posted @ 2022-11-01 20:10 dgsvygd 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Distance to the Path 思维 + 树链剖分 首先与树链剖分无关,先考虑如果只更新一个点的情况 因为更新一个点,它既能向根的方向更新,又能向子树方向更新,非常难维护,于是我们只考虑维护一个节点的子树结点的增值 设数组 sum[i][j] 为与 j 结点距离为 i 的 $j 阅读全文
posted @ 2022-10-28 00:23 dgsvygd 阅读(43) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 11 下一页
主题色彩
点击右上角即可分享
微信分享提示