自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 2022牛客寒假算法基础集训营2

A 小沙的炉石题意:给定n张进攻卡和m张回复卡,每次使用进攻卡会消耗一点法力值并造成一点基础伤害和累计的法术伤害,每次使用回复卡会回复一点法力值,每使用一张卡片后都会使累计的法术伤害+1。一开始,法力值只有一点,法力值无上限。给定血量x,回答是否可以“刚好斩杀”。“刚好斩杀”:通过合理的使用卡牌方式,使血量恰好变为0。涉及算法:二分,等差数列观察到:最少可使用1张攻击卡,最多可使用min(n,m + 1)张攻击卡。当这局使用x张攻击卡时:伤害最大化:先把所有的回复卡打完,再尽可能的打出最多的

2022-03-07 19:49:09 334

原创 2022牛客寒假算法基础集训营1

A 九小时九个人九扇门题意:给定n个正整数,分别计算出数字根为1—9的组合数涉及算法:数字根,线性dp数字根:将一正整数的各个位数相加(即横向相加)后,若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止所得到的数,即为数字根。性质一:两个正整数相加,原来两个数的数字根之和等于和的数字根。性质二:设一个正整数为 x,则其数字根为 (x - 1) % 9 + 1。由数字根的性质二,数字根求解的核心代码:int f (int x) { return (x - 1

2022-03-07 18:08:15 3982

原创 字符串——常见字符串匹配形式

字符串匹配实质:树上或图中,点与点或连通块与连通块,之间的,一一对应关系。换句话说,字符串匹配的本质是图论。说在前面——S:模板串T:匹配串n:S长度m:T长度常见形式——1.判断S的子串中是否含有T子串:S中遵照原序的任意集合,包含空集。比如S:abcd,那么ad便是S的一个子串。做法:双指针时间复杂度:O(min(n,m))int head = 0, tail = 0, cnt = 0;while (head < n

2022-01-27 15:31:17 1268

原创 关于线性dp的思考

我们最先接触到的线性dp一定是走楼梯,或者说斐波那契数列:fib[0] = fib[1] = 1;for(int i = 2; i <= n; i++)fib[n] = fib[n - 1] + fib[n - 2];通过现象看本质——1.前继性:在状态转移时,对于第n个fib_num,只受到其前两个数字即第n-1个fib_num和第n-2个fib_num的影响。2.后承性:同时,由于第n个fib_num取得正确值,确保了后续状态转移后所得fib_num的正确性。总结

2022-01-05 23:06:33 355

原创 2021年广西大学ICPC/CCPC集训队第二次招新考核题解

第一题中文题意:求解 n! % m注意观察n和m的数据范围,m最大值为2e4,而n的最大值为1e9如果直接循环求解,显然会超时那么注意:当 n >= m 时,n!% m = 1 * 2 * 3 * ... * m * m + 1 * m + 2 * ... * n % m = 0当n < m时,直接循环求求解即可注意循环的过程中取模m核心代码如下:void solve() { cin >> n >> m; i...

2022-01-03 22:49:42 962 1

原创 关于背包dp的思考

这篇文章是本人学习背包dp的阶段性总结,涵盖了本人的心路历程和思考:总结一:枚举的方式及本质。考虑bitset。当n比较小时(n <= 128),忽略是否合法,完全可以用一串二进制数字表示选择方案。如:当n = 7时,0001101即可表示选择了第1,3,4件物品(从右开始)。而由于多数情况下,n > 128,导致使用状压会超过c/c++的最大范围__int128,即不能使用状压。但这种枚举的思想,却是奠定了记忆化搜索的基础。总结二:背包dp自记忆化搜

2022-01-02 23:42:06 305 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除