摘要: "洛谷" 这个题面很有意思,像我这样的菜鸡,完全不需考虑婚姻的稳定 问题。 tarjan裸题,直接讲算法吧: 原配夫妻之间分别连一条边,小情人之间反向连边。 这时候我们会发现一个性质,如果婚姻稳定,那么夫妻之间肯定不在一个强连通分量中,反之,在一个强连通分量中的夫妻就是Unsafe的。 代码: cp 阅读全文
posted @ 2018-08-21 20:47 fuyan0101 阅读(154) 评论(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 阅读(138) 评论(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 阅读(142) 评论(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 阅读(134) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 361行代码的由来 数据分治大发好啊~ NOI的签到题,可怜我在家打了一下午才搞了80分。 正解应该是kruskal重构树或排序+可持久化并查集。 我就分点来讲暴力80分做法吧(毕竟正解我也没太懂)~ 前6个点 这6个点有两种做法: 法1:最短路。 这6个点都是离线的,而且只有一种海拔,所 阅读全文
posted @ 2018-08-21 18:35 fuyan0101 阅读(182) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这是今天的考试题,我来发一波~ 看L和R的范围,显然不能一个一个加,这样会有很多重复情况,会超时,只要看该数有多少个后导0,就把L加上10的多少次方。 很容易可以想到价格后面尽可能多0, 在此基础上需要尽量最后一个数字是5。 那么我们可以想到每次更新的时候尽量跳$10^N$。 用一重whi 阅读全文
posted @ 2018-08-21 17:20 fuyan0101 阅读(186) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这题没人用分块吧? 好像分块比较麻烦,但是我太弱了,不会莫队,就打了一个比较巧妙的分块。 1.build函数。 还是像普通分块一样的写,只是我们需要预处理两个数组。 $f[i][j]$表示从开始到第$i$块,颜色为$j$的颜色有多少个(前缀和)。 这个东西很好处理。 cpp include 阅读全文
posted @ 2018-08-21 17:12 fuyan0101 阅读(125) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这道题目其实是最短路裸题。 首先看到题目,要求的到“被占点”距离不大于S的点,自然想到了以“被占点”为源点,求一遍最短路,处理出“危险点”。 可是问题来了,“被占点”有k个,总不能求k次最短路吧,于是我就想到,将所有“被占点”归纳在0这一个外加点上,视作一个点,当“被占点”们与其他点连边时 阅读全文
posted @ 2018-08-21 16:56 fuyan0101 阅读(223) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 题解里面好像都是压位什么的, 身为蒟蒻的我真的不会, 所以就来谈谈我的30颗线段树蠢方法吧! 这题初看没有头绪。 然后发现颜色范围好像只有30; 所以,我就想到一种$sao$操作,搞30颗线段树。 每颗线段树代表一种颜色。 那么对于题中的两种操作: 1.修改。我们for循环扫一遍所有颜色, 阅读全文
posted @ 2018-08-21 16:49 fuyan0101 阅读(169) 评论(0) 推荐(5) 编辑