摘要: 话不多说,直入正题 题目:洛谷P1226 这里有两种方法完成此题: 第一种是用位运算,第二种是用分治 具体算法详解看https://www.luogu.org/blog/cicos/quickpow大佬的题解; 板子: 当然,对于一些追求简洁的大佬,我们有: 阅读全文
posted @ 2019-10-29 21:30 kingderman 阅读(188) 评论(0) 推荐(0) 编辑
摘要: inline int read() { char ch = getchar(); int x = 0, f = 1; while(ch > '9' || ch = '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x * f; } ... 阅读全文
posted @ 2019-07-26 11:27 kingderman 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 大家都知道01背包了吧? 如果不知道,可以去这里:https://www.cnblogs.com/kingderman/p/11224847.html 完全背包问题就是01背包的升级版(如题) 就是还是你要往背包里面塞东西,但是你旁边有一个坑B在施展复制魔法,让你的物品变得无限多,就是说你可以把同一 阅读全文
posted @ 2019-07-26 09:22 kingderman 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列又名最长不下降子序列,英文名Longest Increasing Subsequence(简称LIS) What is LIS? 首先介绍一下子序列吧。子序列就是一组数据中的一些数据组成的序列(说实话我也解释不清QAQ!!) 举个栗子吧: 我们有一组数据:21 56 13 57 96 阅读全文
posted @ 2019-07-24 10:39 kingderman 阅读(1632) 评论(0) 推荐(0) 编辑
摘要: 这里用到的是二进制优化 首先我们要知道二进制优化的原理 以19为例,如果我们拆分成1,2,4,8,3 我们就可以用之前的五个数表示出1~19的所有数 那么五个数是怎么来的呢 其实就是相加小于等于该数的2的幂次方(1,2,4,8)和那个数与和的差值(3) 如果我们对于每个物品进行二进制优化就可以增加空 阅读全文
posted @ 2019-07-23 15:49 kingderman 阅读(386) 评论(0) 推荐(0) 编辑
摘要: DP!!! 背包就是DP,只不过是一种类型罢了 首先,what is beibao(背包)? 顾名思义,背包问题就是求怎么样才能让自己背包里的物品最值钱。 让我们通过一个故事来进一步了解背包问题吧! 终于放假了,作为996的你,终于获得了一个七天的假期。 有假期,当然要出去玩啦! 你现在有一个背包。 阅读全文
posted @ 2019-07-22 11:32 kingderman 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 借鉴:https://blog.csdn.net/zjy_code/article/details/80634149 模板题(洛谷):https://www.luogu.org/problemnew/show/P3367 基础: 两种基本操作: 1.get(查询根节点) 2.merge(将两个集合合 阅读全文
posted @ 2019-07-19 10:54 kingderman 阅读(304) 评论(0) 推荐(0) 编辑
摘要: jx[i][j]=a[i][j]+jx[i-1][j]+jx[i][j-1]-jx[i-1][j-1]; 阅读全文
posted @ 2019-07-18 15:54 kingderman 阅读(227) 评论(0) 推荐(0) 编辑