- 博客(21)
- 收藏
- 关注
原创 (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
所以我们不难想象出dfs的做法:最下面那一层的半径最大值是假设只有一层,n-1就是它起初的最大值,那么最小值就是总共的层数,,因为每一层都要至少要少1,所以最大的那一层半径和高度肯定就最小值就是层数。我起初看到这个题我根本不知道怎么dfs才是正确的, 感觉变量有这么多不确定的,每一层的半径,每一层的高度,而且这之间的联系在刚看到这个题的我看来十分的小,简单想想,虽然是每个圆柱都被另一个比它小的圆柱盖住了一个圆的面积,但是你从这个蛋糕的最上面去看,就不难发现,最上面的面积和其实就是最底层圆柱的顶面面积。
2024-03-23 17:06:54
1252
原创 关于在ArkTS中添加动画没有效果这件事
还有就是要注意外面套一个容器,具体原因不是很清楚,但是可能是这个动画需要这个东西在一个容器里面进行吧,并且需要获取它的固定大小,如果不定义的话会随时发生变化,不能控制?在我的反复尝试下,我发现只要给Text加上宽和高就行了,注意是都要加,一个都不能少。首先排除电脑本身的问题(其实很有可能,作者的电脑配置很低)我添加了动画,可是效果呢?很显然没有任何动画效果。那到底是哪里出错了呢?
2024-03-20 21:35:53
552
1
原创 卡特兰数的部分解析(1)
我们把穿过对角线以后的部分以新的对角线对称过去,你就会惊奇的发现,他们所有的终点都会是(n-1,n+1)有一个n行n列的棋盘 , 我们要从左下角走到右上角,再不穿过主对角线的前提下,有多少种走法?即给定一个2进制数,前任意k个数字中0的个数一定大于等于1的个数,问这样的字符串有多少种。这时我们就能想到利用卡特兰数的规律,根据不同的数据范围,利用相应的公式完成题目。当然暴力枚举肯定是不现实的(卡特兰数的增长是很快的)这是全部的走法,那么接下来怎么解决Y的走法呢?A : 不穿过对角线,且对角线以下的走法。
2024-03-19 21:57:21
984
原创 (容斥原理例题)洛谷P1287 盒子与球
个球来铺满第一层,然后再排列剩下的小球,这就会有很多重复的情况,比如说第一层的去了第二层,但是只是上下顺序变了但是总体顺序没变,这就造成了重复的情况。一共有r个盒子,并且互不相同,所以哪个是空的不确定,由于是至少一个盒子是空的,所以就是每个小球有r-1个盒子可以放,也就是n个r-1相乘。再解释一下就是减去所有至少有一个的情况的时候,就多减去了很多至少有2个的时候,加上的时候又加上了很多至少有三个的情况,以此类推。通俗易懂的来说接下来的步骤就是用总情况, 减去 至少有一个的时候, 加上 至少有2个的时候。
2024-03-16 20:14:28
990
1
原创 Git如何与Gitee连接(主) , Git的基础使用方式简述(次)
本章默认读者已经下好了git并拥有gitee账号,如果这两步没有完成的话,可以先去下载和注册账号接着继续阅读,由于写这篇博客的时候更关注的是怎么连接,所以先展示需要的部分,后面会介绍git的一些基本使用方法,但是不够详细,如果你是想要具体详细的学习git 的使用方法,这一篇可能不太适合你,但是如果你已经基本了解了git的大概用法,并且很想再团队开发中利用gitee仓库和git进行创作,那么这一篇很适合你。
2024-03-15 17:49:20
1522
1
原创 (分组背包)Toyota Programming Contest 2024#3(AtCoder Beginner Contest 344)D - String Bags
记录菜鸟的每一个不行的瞬间。
2024-03-10 10:29:24
1086
1
原创 (一眼计算几何)【牛客小白月赛88】 G题 三点不共线
这道题的思路其实很清晰,但是实现起来细节问题很多,但是的的确确都是计算几何中需要注意的问题,想要弄懂的话还是建议先去系统地初步学习计算几何的基础知识点,你就会对这个题有更深的理解。
2024-03-09 15:54:02
1077
1
原创 (去重函数)Codeforces Round 924 (Div. 2) 1928B - Equalize
那么寻找区间大概率能想到双指针算法写这篇的主要目的是为了这个去重函数,由于差值不能等于0,所以不需要重复的元素,但是使用set需要用迭代器,这就比较的麻烦了,不够熟练的话容易出错,这里就要使用vector的unique函数,非常的好用,这里注意一下,它的去重不是erase删除,而是把重复的元素都放到后边了,还需要一步来resize重新构造数组的大小,以便于后序使用。
2024-03-07 18:42:37
635
1
原创 利用istringstream来处理特殊的输入
比如说我有这样的一个字符串那么如果按照惯例,在读入之后我们要把它分割成123、456和789那么就需要我们多写一些代码来进行分割,这可能会增添一些麻烦所以我们可以利用来进行分分割代码如下string ch;这样就可以进行分离了。
2024-03-05 21:53:52
425
原创 (组合数的计算)牛客周赛 Round 35 小红的子序列权值和 (easy / hard)
首先这个题分为了两种难度,而差别就只有n的不同,很多人只去看了难的那一个,虽然如果难的那一个会做了,简答题也就不攻自破了,但是既然这样设计了,那就代表着一些细节的处理上,简单的那个更好想而且更好做,所以本篇将针对难度来讲解两个做法。我们先来解决一个序列中权值的问题,由题意可得,序列中只会出现三个数字,分别是1、2、3,其实只要写几个数字看看就会发现,1对最后的权值没有贡献,也就是说1的数量在。n1是因为1的不影响权值,无关紧要,只需要知道1的组合总数有多少就可以了,用二项式定理可得。
2024-03-05 17:06:59
1270
原创 Codeforces Round 931 (Div. 2) B. Yet Another Coin Problem
临时起意,如果题解有帮助那是我的荣幸,我希望我能领悟到算法的学习,能让我觉得自己没那么菜了。
2024-03-02 02:19:01
628
4
原创 (凸包问题)P2742 [USACO5.1] 圈奶牛Fencing the Cows /【模板】二维凸包
本题的核心算法叫做Andrew算法主体思想: 把整个凸包分为上半部分和下半部分,遍历两次得到答案首先我们要所有的点进行排序,按照x从小到大的顺序排列,如果x相同,按照y从小到大的顺序排序简单一想你就会发现,这样做第一个肯定是凸包左下角的那个点,最后一个肯定是凸包右上角的那个点那么聪明的你此时肯定能想到从头到尾遍历一遍,从左下角到右上角,这样下凸包就有了,再从后往前遍历一遍,从右上角到左下角,一个上凸包就有了,啊哈,一整个凸包就出来了。
2024-03-01 17:24:31
1304
1
原创 (数位dp)[洛谷 P4999] 烦人的数学作业
那么我们可以借助数位dp的想法 , 既然我要求出[ l ,r ]内的数字总和,我可以求出。所以解决方法就是(a + b + mod) % mod。a > b , 但是 (a % mod) < b。求出一个区间内每一个数字的上每一位的数字和。中的每个数字出现的个数,然后累加起来就行了。并且涉及到减法运算,很可能会出现的问题是。首先暴力肯定是不可能的,数据上限太大了。这就完全是数位dp的基础例题。很明显这是一道数位dp的题目。一定不要忘了取模,仔细读题。这就会导致a-b变成负数。那么问题就转化为了求出。
2024-02-27 16:57:35
854
原创 (数位dp模板)[洛谷 P2657] windy 数
很显然暴力枚举一定会出现问题,所以要借助数位dp的构想,通过记忆化搜索,快速求出需要的答案。内有多少个符合条件的数字,我们可以利用前缀和的想法,用。这就把问题转变为了如何快速的求出。这是一道经典的数位dp模板题。根据题意,我么需要得知范围。范围内符合条件的个数。
2024-02-26 20:36:59
832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人