摘要:
反悔贪心 反悔贪心,顾名思义是可以反悔的贪心算法,具体来说,我们在直接贪心的过程中不一定能得到正确答案,而反悔贪心的本质就是通过一些操作使得我们在做出一些决定后可以撤销之前的决定 NC50439 这道题目的特殊点主要在于每个士兵都希望团人数不超过一定数量 不过贪心仍然比较明显,我们第一直觉肯定是从v 阅读全文
摘要:
我要成为字符串领域大神! trie树/字典树 字典树是什么思想?我们先设定一个根节点,一般为0,每次加入新字符串时都与其相连。比如我们要插入string,看起来就是这样 然后如果我们又插入一个strange,就会变成这样 也就是说插入的时候可以直接继承志曾经出现过的前缀部分,思想就是这么个思想 具体 阅读全文
摘要:
学到哪写到哪说是 既然打ACM可以用板子,我就不用再隔几天敲一遍板子了 只能说赢麻了 线段树 线段树是一种利用二分思想的数据结构,主要用于区间修改以及查询问题。 它的基本思想是可以用一下一个图来表示,其中最底层的是原数组 简单来说,对于每个区间的修改或者查询操作,我们都会将它用尽量大的小区间来表示。 阅读全文
摘要:
预计是以后感觉比较有价值并且不好明确分为某一类的题都放在里面 [ABC124D] Handstand 每次操作可以对一个子串反转,仔细想一下,不难想到每次应该都是对一个全为0的子串进行反转。因为假如我们将一个串进行操作使其变成全部为1,只对0操作的总操作数是一定是最低的。因为如果对1操作还需要额外多 阅读全文
摘要:
背包 快熄灯了,写得有点急 01背包 给m个物品让你装进最大载重为t的背包,每个物品重量和价值,每种物品只能放一次,问最大价值 朴素做法 设dp[i][j]为只取前i个物品中并且容量为j的最佳情况 可以想到两种情况1.不选当前物体,则dp[i][j]=dp[i-1][j] 2.选当前物体则需要为当前 阅读全文
摘要:
果然还是又一出写一出的比较适合我,按计划写博客没有一点点动力 素数筛 虽然筛法很多,但我觉得也没必要把那么多些都写这儿,毕竟到时候用也只会用最好的那种 所以这里就只写线性筛法:欧拉筛 欧拉筛和埃氏筛有点相似,都是用比较小的素数来标记合数,但不同的是埃氏筛中一个合数可能被多个素数访问,比如12就可能被 阅读全文
摘要:
DFS dfs,即深度优先搜索,主要运用递归的思想。会将一种可能性搜索完的情况下再开始搜索下一种可能性。 [蓝桥杯 2016 国 AC] 路径之谜 我一开始想的是先把可能方案的格子选出来然后进行dfs判断是否能走成,但dfs套dfs太麻烦了 事实上直接爆搜就能解决 爆搜时对于每个点都减去对应行列的数 阅读全文
摘要:
先占个坑,把前面的更完了就来更这个 栈 单调栈 单调栈是一种很神奇的数据结构,假如我们令其单调递增,那么对于一段序列中的每个ai,我们都能知道左边第一个比他小的数aj,如果我们反着跑一遍就能知道右边第一个比它小的数。同样的,也可以求第一个比它大的。 原理其实很简单,我们维护栈中的单调性,例如我们维护 阅读全文
摘要:
前段时间一直懒得更新,这两天更新一下顺带复习一下 二分啥的其实也应该放进这里面,不过既然已经写过了就算了 前缀和 一维前缀和 若原序列存储在a数组中,则在它的前缀和数组中当下标为i时sum[i]储存的是(a[1]+a[2]+.....+a[i]),即i之前(包括i)的所有元素的和,代码表示为sum[ 阅读全文