- 博客(10)
- 收藏
- 关注
原创 【LeetCode】34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
【LeetCode】34. 在排序数组中查找元素的第一个和最后一个位置
2022-08-05 20:29:49
99
原创 从0开始的java学习
如题,实际上对java已有一定了解,但未系统学习过,故重新开始学习,为后续学习ssm和springboot框架做准备。对于某些熟悉的内容或许会跳过,对于重点或者耳目一新的内容会做详细笔记。那么开始吧!......
2022-06-28 12:13:05
109
原创 codeforces rouned #774E
先说题意,有n*m的矩阵,矩阵i行j列元素为i的j次方,求矩阵中出现了多少个不同的数。首先要证明一个定理,对于x≠y,x的a次方一定不可能等于y的b次方(a,b为整数)。设k为一个非次方数(k不为任何数的整数次方)所以会出现重复数字的相关联的 i 一定是某个 k 的(1,2,…,log(n) )次方,对这样一个 k,计算所有相关联的 i 可以用以下代码计算:int current_vis=0; for(int i=1;i<=log(n)/log(k);i++){ f..
2022-03-05 23:33:19
90
原创 石子合并——dp
参考文章石子合并问题–动态规划;贪心石子合并问题是最经典的DP问题。首先它有如下3种题型:(1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。(2)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动相邻的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。(3)问题(2)的是在石子排列是直线情况下的解法,如果把石子改为环形排列,又怎么做呢?对于(1)直接贪心即可对于(2
2021-07-23 11:04:37
117
原创 Gym - 103185C - Crisis at the Wedding
C - Crisis at the Wedding Gym题目链接Gym-103185C先说题意,有一个圆桌,客人总数为n,每位客人有数目不等的杯子,服务员可以顺时针或逆时针走,带着k个杯子走一步的cost为k,问为了把杯子平均分配的最小cost,题目保证杯子总数能被n整除。解题思路:先顺时针从一个点出发,服务员走一圈,构造sum1a[i]为i号客人的杯子数,sum1[i]为从1出发到i点到i+1点的cost,过程中sum1[i]可能出现负数,也就是i点缺杯子,要走第二圈,先暂时不理。从其他
2021-07-16 11:43:34
404
原创 单调队列(deque实现)
单调队列一般用于求区间内的最值问题例题:P1886 滑动窗口 P2032 扫描算法核心维护一个单调递增或递减的双端队列队头即是区间的最值用一个结点存下标和值struct node{ int index; int value;}no;为了维护单调性需要进行删尾操作while(!dq.empty()&&dq.back().value<=x) dq.pop_back();更新区间最值需要进行去头操作if(!dq.empty()&&a
2021-07-10 16:47:17
188
原创 c++STL优先队列priority_queue
声明头文件#include < queue >定义一个大的元素优先出队的优先队列pqpriority_queue <int ,vector< int > ,less< int > >pq;默认操作:push(); //入队pop(); //出队empty(); //判断队列是否为空top(); //返回队头元素size(); //返回队列长度自定义比较函数cmpstruct cmp //相当于greater<int>{
2021-05-30 12:08:19
80
原创 学习笔记,收录学习算法的一些好的blog(复习用)
并查集详解https://blog.csdn.net/Leo_zehualuo/article/details/104530680?spm=1001.2014.3001.5501
2021-04-08 17:54:53
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人