摘要: "洛谷" 题目就是让我们在DAG中找到一些点,覆盖所有点。 因为是DAG,可以想到tarjan缩一下点。假设我们需要找x个点,那么答案就是(n x)/n。 我们怎么选点呢? 敏锐的我们很快就能想到,直接选出所有入度为0的点。 但是,当我们发现一个入度为0的点,但是其中元素为1,而它的出边所到的点的入 阅读全文
posted @ 2018-09-02 21:33 fuyan0101 阅读(174) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 这大概是我见过最水的紫题吧~ 洛谷标签赞一个! 题意:你有一年时间,把10w元存银行变成更多钱,在特定时间区间内,你会有一些利息,不过不可中途退出。 直接dp:st[i]表示区间左端点,ed[i]表示右端点,a[i]表示利率。 f[i]表示第i天的最大值。直接循环每天和每个套餐转移即可。 阅读全文
posted @ 2018-09-02 21:20 fuyan0101 阅读(362) 评论(2) 推荐(4) 编辑
摘要: "洛谷1" 或 "洛谷2" ,它们是一样的题目,手动 "滑稽" ~ 这一题我是想不出来, 但是我想吐槽一下坐我左边的 "大佬" 。 大佬做题的时候,只是想了几分钟,拍了拍大腿,干脆的道:“这不是很显然吗!” 然后灵动地轻击键盘,不时抚弄头发,光速切紫题。 AC后笑眯眯地对我说, 你要是想的出来,我给 阅读全文
posted @ 2018-09-02 20:23 fuyan0101 阅读(388) 评论(3) 推荐(4) 编辑
摘要: "洛谷" 一看就知道是一个数学题。嘿嘿~ 讲讲各种分的做法吧。 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧~ cpp include using namespace std; typedef int _int; define int long long int 阅读全文
posted @ 2018-09-02 19:55 fuyan0101 阅读(136) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 一句话题意: 每个武器有两种属性,每种武器只能选择一种属性,从属性1连续递增才算攻击,求最大连续攻击次数。 因为同学告诉我这是二分图最大匹配,自然就往那个方向去想。 那么怎么建图呢? 每个武器只能用一次,所以武器占二分图的一边,另一边放属性。 每个武器对应的属性之间连边。 因为要从属性1开 阅读全文
posted @ 2018-08-24 08:16 fuyan0101 阅读(114) 评论(0) 推荐(6) 编辑
摘要: "洛谷" 题意:要求在限定油耗内,求最小花费的最大值。 求最小值最大很容易想到二分答案。所以我们往二分的方向去想。 我们二分一个费用,然后要保证到终点时满足限定油耗,所以跑最短路。 不过松弛条件要改一下: 增加条件,即:$cost[to] cpp include using namespace st 阅读全文
posted @ 2018-08-22 20:31 fuyan0101 阅读(155) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 套路题,分层图(然鹅我并不会,是看了题解才打出来的)。 因为k值很小,所以我们可以建k+1张图。 对于一条边e,起点为u,终点为v,我们可以把上一层图的u与这一层图的v相连,边权为0,表示使用一次免费的机会。而这一层图的u也向v连边,边权为花费。 因为只有k+1个图,所以图与图之间只有k个 阅读全文
posted @ 2018-08-22 11:34 fuyan0101 阅读(259) 评论(0) 推荐(6) 编辑
摘要: "洛谷" 这个题面很有意思,像我这样的菜鸡,完全不需考虑婚姻的稳定 问题。 tarjan裸题,直接讲算法吧: 原配夫妻之间分别连一条边,小情人之间反向连边。 这时候我们会发现一个性质,如果婚姻稳定,那么夫妻之间肯定不在一个强连通分量中,反之,在一个强连通分量中的夫妻就是Unsafe的。 代码: cp 阅读全文
posted @ 2018-08-21 20:47 fuyan0101 阅读(153) 评论(1) 推荐(5) 编辑
摘要: "洛谷" 最近刚刚学的2 sat,就刷了这道裸题。 2 sat问题一般是用tarjan求的,当出现(x,y)或(!x,y)或(x,!y)三种选择时,我们可以把!x y,!y x连边。 然后直接tarjan。 比如这一题,设汉菜为是,满菜为非,直接按上面所述连边跑tarjan,判断是与非是否在同一强连 阅读全文
posted @ 2018-08-21 20:39 fuyan0101 阅读(136) 评论(1) 推荐(5) 编辑
摘要: "洛谷" 首先,看到$(\frac{(b+\sqrt{d})}{2})^n$,很快能够想到一元二次方程的解$\frac{ b\pm\sqrt{\Delta}}{2a}$。 所以可以推出,$\frac{(b+\sqrt{d})}{2}$和$\frac{(b \sqrt{d})}{2}$是$x^2 bx 阅读全文
posted @ 2018-08-21 20:17 fuyan0101 阅读(140) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这是一道组合数学题。 对于一个长为n的序列,首先我们要选m个使之稳定$C^{m}_{n}$。 且要保证剩下的序列不稳定,即错排$D_{n m}$。 所以答案就是:$$ANS=C^{m}_{n}+D_{n m}$$ 再看看数据范围:n最大$10^6$,错排好办,直接递推: $$D[i]=(i 阅读全文
posted @ 2018-08-21 18:57 fuyan0101 阅读(130) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 361行代码的由来 数据分治大发好啊~ NOI的签到题,可怜我在家打了一下午才搞了80分。 正解应该是kruskal重构树或排序+可持久化并查集。 我就分点来讲暴力80分做法吧(毕竟正解我也没太懂)~ 前6个点 这6个点有两种做法: 法1:最短路。 这6个点都是离线的,而且只有一种海拔,所 阅读全文
posted @ 2018-08-21 18:35 fuyan0101 阅读(174) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这是今天的考试题,我来发一波~ 看L和R的范围,显然不能一个一个加,这样会有很多重复情况,会超时,只要看该数有多少个后导0,就把L加上10的多少次方。 很容易可以想到价格后面尽可能多0, 在此基础上需要尽量最后一个数字是5。 那么我们可以想到每次更新的时候尽量跳$10^N$。 用一重whi 阅读全文
posted @ 2018-08-21 17:20 fuyan0101 阅读(184) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这题没人用分块吧? 好像分块比较麻烦,但是我太弱了,不会莫队,就打了一个比较巧妙的分块。 1.build函数。 还是像普通分块一样的写,只是我们需要预处理两个数组。 $f[i][j]$表示从开始到第$i$块,颜色为$j$的颜色有多少个(前缀和)。 这个东西很好处理。 cpp include 阅读全文
posted @ 2018-08-21 17:12 fuyan0101 阅读(124) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这道题目其实是最短路裸题。 首先看到题目,要求的到“被占点”距离不大于S的点,自然想到了以“被占点”为源点,求一遍最短路,处理出“危险点”。 可是问题来了,“被占点”有k个,总不能求k次最短路吧,于是我就想到,将所有“被占点”归纳在0这一个外加点上,视作一个点,当“被占点”们与其他点连边时 阅读全文
posted @ 2018-08-21 16:56 fuyan0101 阅读(219) 评论(0) 推荐(5) 编辑