摘要:
先放上luogu的石子合并题目链接 这是一道环形DP题,思想和能量项链很像,在预处理过程中的手法跟乘积最大相像。 用一个m[][]数组来存储石子数量,m[i][j]表示从第 i 堆石子到第 j 堆石子的总数。 接下来三重循环 i 表示合并操作的起始位置, j 表示合并操作的终点,也就是把 i 到 j 阅读全文
摘要:
写这篇博客是因为笔者有丰富的溢出然后爆0经验,能够比较直观的认识到溢出的效果。当然,很多大佬都知道,所以不再炫耀(爆零你炫耀个鬼啊) 当一个数据的溢出时,它会达到反向的最大值。 取一个short a=32767,这时它达到了short的存储上限,再大就溢出了。 然后你让a++ 可以编程验证a=-32 阅读全文
摘要:
哈希原名Hash,意译是散列算法,“哈希”为音译。它通过一种压缩的映射将任意长度的输入转换成固定输出,即散列值。由于哈希不是一一映射,所以不同输入可以被映射成同一个输出,但这样的概率极小——除非题目针对你或者你脸黑。Hash据说是整个密码学的基础,所以身为一个通过了字符串哈希模板的人,我深感自豪 先 阅读全文
摘要:
遗传算法是一种基于仿生学的计算机算法,通过模拟自然进化和优胜劣汰法则来搜索问题的最优解(我会说这其实就是稍微改良了一下的暴搜?) 它是由美国的J.Holland于1975年提出来的玄学概率学混合暴力搜索方法,广泛适用于寻找算法优解、机器学习、人工生命、自适应自学习算法等等各种领域。 但是要知道,这个 阅读全文
摘要:
二进制集合是一种神奇的集合,因为集合里的元素只有在和不在两种状态,所以可以用二进制的0或1来分别模拟元素是否在集合内 比如说一个有三个元素的集合 三个元素都不在集合里的时候怎么表示? 000对吧 把000转成十进制就是0 如果第一个元素在集合里呢?001? 转成十进制就是1 同理 写出这个栗子的所有 阅读全文
摘要:
luogu上的一道题 这道题可以用DFS—spfa 思路就是在开始搜索的时候标记一下开始的节点 然后递归spfa 如果搜着搜着发现某个节点已经被访问过,即存在负环 放代码 阅读全文
摘要:
GeneralLiu的一篇博客<<< 一个神奇的离线求lca方式 而且看到dfs和并查集就感觉特别亲切 本方式使用链式前向星处理输入的树,并设置一个que[]来表示深搜的时候有没有访问过该点 对于给定的根节点,对它进行如下处理:1:依次搜索和它相连的子节点,即深搜它的所有子树 2:遍历所有与它相关的 阅读全文
摘要:
#include<iostream>using namespace std; int main(){ cout<<"Hello World"<<endl; cout<<"Hello GeneralLiu"<<endl; cout<<"Hello JS"<<endl; cout<<"Bye_Bye z 阅读全文