摘要:
好像很久没有更过博客了,因为博主这几周很忙。~~其实是在搞颓。~~ 题意很难懂,所以就不重复了。~~其实是懒。~~ 一眼看上去这是个 $Splay$ 裸题,直接插入一个数,查询区间第 $K$ 大,但是这样太不优美了,配不上「NOI导刊」这几个字,所以这题肯定有更优美的做法。 注意到这道题有一个很优美 阅读全文
摘要:
发现自己这几天智商完全不在线…… 这道题的数据十分的水,怎样都可以艹过去…… 开始想了一个完全错误的算法,枚举一对点,判断这一对点是否同时在两条最短路上,是就用两点之间的路径更新答案。显然这样是错的: 8 10 7 8 2 5 1 3 1 3 5 2 3 6 2 3 8 4 5 8 4 6 8 2 阅读全文
摘要:
好吧,我承认我是个智障…… 这道题一眼看上去就是个堆,然而实际上有单调性。 注意到,如果 $q = 0$ 的话,将蚯蚓的左右两边分开丢进两个队列中,则两个队列都是单调不增的,因为每次取出的蚯蚓长度单调不增。 对于 $q \neq 0$,因为除了切开的两只,所有蚯蚓长度都增加了,我们维护这个增加的值, 阅读全文
摘要:
这真是道大火题。 因为保证数据随机,所以开始很多人直接用搜索 + 贪心水过去了,后来,为了遏制骗分这种不良风气的传播,各大 OJ 相继推出了斗地主加强版…… 正解: 先爆搜顺子,枚举打或不打,打多少张。对于剩下的散牌做 DP,最少需要多少次打完。 设 $f[i][j][k][l]$ 表示四张牌的剩 阅读全文
摘要:
今天学了个~~高级~~东西——尺取法。(这句话在很多大佬看来是个笑话)。 以下摘自《挑战程序设计竞赛(第二版)》 尺取法通常指对数组保存一对下标(起点和终点),然后根据实际情况交替推进两个端点直到得到答案的方法。这种操作很像是尺蠖(日文中称为尺取虫)爬行的方式故得名。 举几个栗子: "POJ 306 阅读全文
摘要:
裸差分约束。有两种写法。spfa 和 dfs,dfs 优点在判负环,但递归常数巨大,spfa 优点在快。 差分约束就是用最短路的思想来接不等式组,具体做法见 "这篇博客" 。 cpp include using namespace std; define db double define ll lo 阅读全文
摘要:
超级神题! 有n种字符,若此种字符的编号( $1$ ~ $n$),$i 2 n$,则他后面可接任意字符。若不是,则他后面接的字符编号至少要是他的两倍。 问长度为m的字符串的个数。 这道题我只想出了 $O(n^2)$ 的做法,于是叕只能求助题解。 题解的做法和周六第二题有点像,但我并没有分析出最长链的 阅读全文
摘要:
开始天真的我以为这道题和运输计划是一样的套路。于是写了一发,debug后发现过了第一个点,十分开心的交了一发,结果只过了第一个点。后来发现这个并不是一样的,因为修建黑洞之后路径法变了,而运输计划没有(树上两点间路径唯一)。于是,第一题就成了题解题... 这道题显然满足二分性质。问题在与如何判断合法。 阅读全文
摘要:
hihocoder1075【开锁魔法】 题意是给你一个 $1~n$ 的置换,求选 $k$ 个可以遍历所有点的概率。 题目可以换个模型:有 $n$ 个球,有 $cnt$ 种不同的颜色,求选出 $k$ 个球包含所有颜色的概率。 根据概率的定义,我们只需求出合法的方案数即可。 设 $f[i][j]$ 表示 阅读全文
摘要:
做完这道题,心里五味陈杂,明明是最水的一道题,我却做了最长的时间。 题意是求用1~k的和表示n的方案数。 显然是个计数dp,但我不会。思考半小时未果。 然后找尹鹏哲,他给我讲了个错的dp方程,结果调试半小时未果,看了别人的代码,发现别人虽然滚了一维,但和尹鹏哲讲的十分相似。 后来我又想了想,觉得尹鹏 阅读全文