上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 题目链接:Link Problem Solution 首先,我们不难发现,即使是先中转成10进制的,时间复杂度也还是\(O(n^2)\)的,但编程复杂度显然不同。 设高精度数长度为\(lena\),为\(n\)进制,从低位到高位分别为\(a_0,a_1,...,a_n\)。然后我们会发现:转换后的\ 阅读全文
posted @ 2019-08-19 20:52 happyZYM 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 将每一个点\(x_i\)拆成\(2i\)和\(2i+1\)(\(2i\)表示\(x_i\)的假状态,\(2i+1\)表示\(x_i\)的真状态),问题就化为了从2n个状态中选出原来的每一个\(x_i\)的一个状态。 这有什么用呢?别急,先举个栗子,“1 1 3 阅读全文
posted @ 2019-08-19 20:51 happyZYM 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem 题目背景 使用过Android 手机的同学一定对手势解锁屏幕不陌生。Android 的解锁屏幕由3X3 个点组成,手指在屏幕上画一条线,将其中一些点连接起来,即可构成一个解锁图案。如下面三个例子所示: 题目描述 画线时还需要遵循一些规则: 连接的点数不能少于4 个 阅读全文
posted @ 2019-08-19 20:51 happyZYM 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem 题目背景 Diffie-Hellman密钥交换协议是一种简单有效的密钥交换方法。它可以让通讯双方在没有事先约定密钥(密码) 的情况下,通过不安全的信道(可能被窃听) 建立一个安全的密钥K,用于加密之后的通讯内容。 题目描述 假定通讯双方名为Alice和Bob,协议 阅读全文
posted @ 2019-08-19 20:50 happyZYM 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution 这道题目是一道很明显的2-SAT问题,但要注意变量是每个材料,值是蒙式或汉式,而不是“蒙式xx为1或汉式xx为1”。 目测没有必要用Tarjan,毕竟理论时间复杂度一样,常数需要时卡一卡就行了。。。 Code #include<cstdio> # 阅读全文
posted @ 2019-08-19 20:49 happyZYM 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution 考虑到每个点都是先横向移动,然后再纵向移动,所以我们可以考虑每行维护一个splay,最后一列再维护一个splay。 但是考虑到n和m的规模都是\(3*10^5\)级别的,普通的splay肯定会爆空间,所以我们使用动态开点的splay,对于每个节点 阅读全文
posted @ 2019-08-19 20:48 happyZYM 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution dfs 2-SAT被卡得好开心啊 这道题目乍一看是一道“3-SAT”的题目,变量是每个地图,选择是车的类型。 但要注意一个事实:除了那d个地图之外,其它的地图事实上只有2种选择。而对于那d个X型地图,我们可以穷举假设它是A型或B型,因为A型、B型 阅读全文
posted @ 2019-08-19 20:47 happyZYM 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 这题有毒!!!!! spfa判负环常用的有两种,一种是判断松弛次数,但它会绕环好多次,另一种是判断最短路径的长度,只要绕环一次,前一种本题过不了。 判断最短路径的长度的意思就是用一个len数组记录从源点到当前节点的最短路径经过的边数,并在松弛时令len[v]=l 阅读全文
posted @ 2019-08-19 20:46 happyZYM 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 我这篇题解主要是对SPFA采用SLF和LLL贪心优化,具体解释详见代码:原文 #include<cstdio> using namespace std; typedef long long ll; const int maxn=10005; const int 阅读全文
posted @ 2019-08-19 20:45 happyZYM 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution 这道题目本质上和P3387【模板】缩点很像,但这道题主要的麻烦之处在于建图。如果暴力建图的话,时间复杂度是\(O(n^2)\)的,肯定会挂,所以我们可以把1类和2类分开处理,每一类按对应的行或列串成若干环,环上选一点引向同行或列的其它点,至于3类 阅读全文
posted @ 2019-08-19 20:44 happyZYM 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 这题一看图就会发现这是个半平main交。。。然后就可以开心地敲啦! code: #include<cstdio> #include<cmath> #include<vector> #include<algorithm> using namespace std; 阅读全文
posted @ 2019-08-19 20:43 happyZYM 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 来一篇通俗点的DLX的题解。 有关DLX的讲解: 跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题 算法实践——舞蹈链(Dancing Links)算法求解数独 针对本题的一些细节详见注释。 code: #include<cstdio> 阅读全文
posted @ 2019-08-19 20:38 happyZYM 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Solution 最通俗易懂的树形依赖背包(主附件背包)的题解 前置姿势:树的后序遍历 参考信息:树形依赖背包的优化方法 树形依赖背包问题 每个点有个权值和体积,如果选了某个点那么它的父亲也必须选,问体积和<=m的最大权值和。 肿么办? 枚举每颗子树的选取方式,暴力搞不好都能写错 阅读全文
posted @ 2019-08-19 20:27 happyZYM 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution 算法提示中说好的栈呢????? 先考虑单栈排序:显然任意时刻从栈顶到栈底都单调递增,然后我们会发现,对于 $ i < j < k $ ,如果 $ a[k] < a[i] < a[j] $ 肯定不可以单栈排序。考虑到这三个数和他们之间的数字是独立的 阅读全文
posted @ 2019-08-19 19:34 happyZYM 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Link Problem Solution 首先不难想到字符串Hash的做法,枚举A中的每个位置,二分匹配长度即可,时间复杂度\(O(n)\)。 很明显正解应该要用KMP,但对于匹配出的一个f[i]我们只能知道“有一次长度至少为f[i]的匹配”,同时还可能会漏掉一些匹配位,怎么办? 基于值 阅读全文
posted @ 2019-08-19 19:33 happyZYM 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页