会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Oracle's Blog
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2023年10月30日
[CSP-S2020] 儒略日 题解
摘要: [CSP-S2020] 儒略日 今儿终于做掉困扰多年的题目了,其实想好细节也不难。 容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出 \(-4713.1.1\) ~ \(1582.10.4\) 会经过多少天,可以通过一天一天暴力跳的方法
阅读全文
posted @ 2023-10-30 21:45 2017BeiJiang
阅读(235)
评论(0)
推荐(0)
2023年10月14日
题解 [ABC258G] Triangle
摘要: 题目链接 \(\rm O(n^3)\) 枚举 \(i,j,k\) 的算法是显然的。 考虑优化掉一个 \(n\),如果枚举 \(i,j\),那么显然需要找出有多少个 \(k\) 同时满足 \(a_{i,k}=a_{j,k}=1\),我们可以将 \(a_i\) 和 \(a_j\) 看作两个二进制数,那么
阅读全文
posted @ 2023-10-14 22:38 2017BeiJiang
阅读(29)
评论(0)
推荐(0)
2023年10月12日
题解 CF486D Valid Sets
摘要: 题目链接 相当牛逼。 这种找数量的题型,确定树形 \(dp\) 没跑了。 首先思考常规树形 \(dp\),不难想到设 \(f_{u,a,b}\) 表示以 \(u\) 为根节点的子树内(包括点 \(u\)),最大值是 \(a\),最小值是 \(b\) 的连通子图数量,转移很容易,但是这样时间空间复杂度
阅读全文
posted @ 2023-10-12 17:02 2017BeiJiang
阅读(22)
评论(0)
推荐(0)
2023年10月8日
题解 尼克的任务
摘要: 有一种和题解区完全不同的做法。 首先将所有任务按照时间从小到大排序,接着用 \(f_i\) 表示处理前 \(i\) 个任务所能得到的最大空闲时间。 回顾一下需要满足的条件:再某个有任务的时刻,如果尼克是空闲的,就必须从中选择一个任务做。那么我们对于第 \(i\) 个任务,枚举上一个做的任务 \(j\
阅读全文
posted @ 2023-10-08 22:54 2017BeiJiang
阅读(35)
评论(0)
推荐(0)
2023年10月3日
题解 Coloring Brackets
摘要: 题目链接 对于括号问题,考虑区间 \(dp\)。这道题的括号序列是固定的,所以直接找出每个括号对应的括号在进行转化即可。 设 \(f_{l,r,0/1/2,0/1/2}\) 表示 \(l\sim r\),左括号不染色/染红色/染蓝色,右括号不染色/染红色/染蓝色的方案数。 若 \(l,r\) 是一对
阅读全文
posted @ 2023-10-03 22:47 2017BeiJiang
阅读(86)
评论(0)
推荐(0)
题解 [CSP-S 2021] 括号序列
摘要: 题目链接 对于括号题,基本是栈匹配没有匹配的左括号和区间 \(dp\) 两个方向。这道题括号序列并不确定,只能用区间 \(dp\) 搞。 如果直接设 \(f_{l,r}\) 表示 \(l\sim r\) 的合法括号序列,那么由区间 \(dp\) 的套路可知,需要枚举中间点进行合并,那么 \(()()
阅读全文
posted @ 2023-10-03 14:37 2017BeiJiang
阅读(250)
评论(0)
推荐(0)
题解 [蓝桥杯 2016 省 B] 交换瓶子
摘要: 题目链接 本题解讲解环图的做法。 要将一个 \(1\sim n\) 的排列通过交换变成 \(1\sim n\),可以先将 \(i\) 向 \(a_i\) 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最
阅读全文
posted @ 2023-10-03 12:09 2017BeiJiang
阅读(64)
评论(0)
推荐(0)
2023年10月2日
题解 [USACO04OPEN] Turning in Homework G
摘要: 题目链接 先将所有作业按位置排序。 直接贪心显然是不行的,因为我们没有办法确定对于一个时间较久的作业,是在原地等待,还是在未来的某个节点返回,并且无法确定是那个节点,所以只能考虑 \(dp\)。 对于此类可以倒来倒去的问题,通常考虑区间 \(dp\),若设 \(f_{i,j}\) 表示完成区间 \(
阅读全文
posted @ 2023-10-02 12:05 2017BeiJiang
阅读(49)
评论(0)
推荐(0)
题解 小 a 和 uim 之大逃离
摘要: 题目链接 首先可以想到设状态 \(k_1,k_2\) 表示小 \(a\) 和小 \(uim\) 分别表示他们目前取得的得分,那么最终的答案便是 \(k_1=k_2\) 的时候。 但是这样设置状态的复杂度无疑是高的。并且十分浪费,所以考虑设 \(z\) 表示 \(k_1-k_2\) 的值。那么 \(z
阅读全文
posted @ 2023-10-02 10:06 2017BeiJiang
阅读(29)
评论(0)
推荐(0)
2023年9月29日
矩阵学习笔记
摘要: 矩阵是一种数学概念,在 \(OI\) 中有着重要应用。 一个矩阵有行,列,以及里面的数字。如图便是一个 \(2\) 行 \(3\) 列的矩阵: \[ \begin{bmatrix} 1 &2 &3\\ 4 &5 &6\\ \end{bmatrix} \] 矩阵数乘 \(\lambda A\) 就是将
阅读全文
posted @ 2023-09-29 10:42 2017BeiJiang
阅读(69)
评论(0)
推荐(0)
2023年9月28日
题解 [HEOI2016/TJOI2016] 排序
摘要: 题目链接 看到这道题按照套路首先想到二分答案(即二分 \(q\) 位置上的数,记作 \(mid\))。 再按照套路将大于 \(mid\) 的数字设为 \(1\),将等于 \(mid\) 的数设为 \(2\),小于 \(mid\) 的数字设为 \(0\)。 那么对于区间 \([l,r,0]\) 操作,
阅读全文
posted @ 2023-09-28 12:03 2017BeiJiang
阅读(24)
评论(0)
推荐(0)
2023年9月9日
题解 [CQOI2009] 中位数
摘要: 题目链接 要想使得数字 \(x\) 是中位数,就必须选出 \(k\) 个小于 \(x\) 的数和 \(k\) 个大于 \(x\) 的数。 我们考虑对数字附上特殊值,小于 \(x\) 的数赋值为 \(-1\),大于 \(x\) 的数赋值为 \(1\),\(x\) 则赋值为 \(0\),那么若一段包含
阅读全文
posted @ 2023-09-09 18:32 2017BeiJiang
阅读(32)
评论(0)
推荐(0)
2023年9月7日
题解 [NOIP2018 提高组] 赛道修建
摘要: [题目链接](https://www.luogu.com.cn/problem/P5021) 挺综合的一道题目。 询问最小值最大,考虑二分最小值,二分上下界是 $[最小边权,树的直径]$,但是为了方便我们直接设为 $[1,5\times 10^8]$ 即可。 考虑如何 $check$,可以采用类似树
阅读全文
posted @ 2023-09-07 11:39 2017BeiJiang
阅读(102)
评论(0)
推荐(0)
2023年9月6日
对于树上信息维护的思考
摘要: 在NOI大纲中,树链剖分作为NOI级算法,在NOIP中显然是不会出现的,但是我们仍然有办法利用 $dfn$ 序等技巧,将某些特殊的信息维护转化为利用简单数据结构维护的情况。 ## 树上前缀和 通常来讲,对于树上连续信息的查询,我们肯定要用到前缀和思想,即:设 $d_u$ 表示节点 $u$ 到根节点的
阅读全文
posted @ 2023-09-06 22:10 2017BeiJiang
阅读(61)
评论(0)
推荐(0)
2023年9月5日
题解 [BJOI2014] 大融合
摘要: [题目链接](https://www.luogu.com.cn/problem/P4219) 可以发现,一条边 $(x,y)$ 的答案,就是 $x$ 不经过该边可达的点的数量(记作 $cnt_x$) $\times$ $y$ 不经过该边可达的点的数量(记作 $cnt_y$)。 尝试将这个式子转化,若
阅读全文
posted @ 2023-09-05 00:03 2017BeiJiang
阅读(23)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告