2023年2月5日

2520是lcm(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)(1---10的最小公倍数)

摘要: 2520是lcm(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)(1 10的最小公倍数) 阅读全文

posted @ 2023-02-05 03:14 chelly酱 阅读(55) 评论(0) 推荐(0)

2023年1月7日

__builtin_函数的使用

摘要: typedef unsigned int ui 1.int ffs(ui x){//该函数判断n的二进制末尾最后一个1的位置,从一开始 return __builtin_ffs(x); } 2.int popcount(ui x){//该函数时判断n的二进制中有多少个1 return __built 阅读全文

posted @ 2023-01-07 09:55 chelly酱 阅读(120) 评论(0) 推荐(0)

2022年11月22日

round(x) 返回 x的四舍五入整数值。 ( math.h)

摘要: ceil(x) 返回不小于x的最小整数值(然后转换为double 类型)。 floor(x) 返回不大于x的最大整数值。 round(x) 返回 x的四舍五入整数值。 ( math.h) 阅读全文

posted @ 2022-11-22 17:39 chelly酱 阅读(104) 评论(0) 推荐(0)

2022年11月17日

长为n的逆序对排列期望为C(2, n) / 2 (这里的C是指组合数)

摘要: 例题:牛客小白月赛60F 本题运用到的知识点 解题思路 代码 阅读全文

posted @ 2022-11-17 21:14 chelly酱 阅读(38) 评论(0) 推荐(0)

2022年11月8日

AcWing 3583 整数分组(01背包 + 双指针)

摘要: 原题链接 本题是比较明显的01背包,选或者不选,中间可以用双指针找到最后可以选到的区间长度,那么如果选当前最后一个区间的话最后就要求这个区间前面的长度要最大 状态表示: f[i][j]表示从区间1~i中选出j组 状态计算:这里可以画图看一下,我们如果选最后一段,那么最后一段长度是确认的,决定是否是最 阅读全文

posted @ 2022-11-08 15:27 chelly酱 阅读(42) 评论(0) 推荐(0)

2022年10月26日

AcWing 271杨老师的照相排列

摘要: 思路 $1=<k<= 5$,所以最多会有五个位置,五个位置分配人,即集合为f[a][b][c][d][e]表示五个位置各放了a, b, c, d, e个人的方法的数量,同时h[1]>=h[2]>=h[3]>=h[4]>=h[5],所以后面的层也可以取到和上面一层一样的人数,但是不能超过,因此b<= 阅读全文

posted @ 2022-10-26 00:02 chelly酱 阅读(6) 评论(0) 推荐(0)

2022年10月25日

AcWing168 生日蛋糕(剪枝)

摘要: 原题链接 思路的话,就是暴搜加剪枝,中间有个放缩 思路看这篇 #include <bits/stdc++.h> #define pb push_back #define fi first #define se second #define all(x) (x).begin(), (x).end() 阅读全文

posted @ 2022-10-25 22:04 chelly酱 阅读(30) 评论(0) 推荐(0)

AcWing107 超快速排序(树状数组找逆序对)

摘要: 原题链接 思路 求到底要和相邻元素交换几次,其实就是求逆序对的数量,有几对逆序对就要交换几次,因为只能相邻的之间交换(超快速排序?冒泡排序!) 利用树状数组求逆序对 大概想法是如下: 因为我们需要逆序对的数量,因此第一步就是将树状数组清空,表示当前一个数都没,然后在树状数组的第a[i]的位置上插入一 阅读全文

posted @ 2022-10-25 20:26 chelly酱 阅读(41) 评论(0) 推荐(0)

2022年10月23日

AcWing1016 最大上升子序列和

摘要: 原题链接 其实就是在原本的Lis的基础上,将求的数量变成了求最大的和 #include <bits/stdc++.h> #define pb push_back #define fi first #define se second #define all(x) (x).begin(), (x).en 阅读全文

posted @ 2022-10-23 19:40 chelly酱 阅读(21) 评论(0) 推荐(0)

AcWing1012 友好城市

摘要: 原题链接 /** * @Author: chelly * @Date: 2022-10-23 19:29:52 * * 对南北海岸随便一个进行从小到大的排序,然后对另一边做lis, * 如果另一边大小顺序不匹配就会出现交叉,就非法 */ #include <bits/stdc++.h> #defin 阅读全文

posted @ 2022-10-23 19:35 chelly酱 阅读(25) 评论(0) 推荐(0)

导航