2022-10-27
思路:
使用二分查找[1,1e5],每次取中值作为正方形边长x,统计在所有巧克力中能分割出多少块边长为x的正方形当正方形数量小于k时,我们知道边长越大能分割的数量越少,此时将区间更新为 [l,mid-1] 继续查找。当正方形数量大于等于k时,猜测x可以更大且能满足>=k,将区间更新为[mid,r]
12345678910111213141...
阅读全文
2022-10-21
原题链接: https://www.luogu.com.cn/problem/P1135
考虑用dfs来做的话,单纯的深搜会超时,而且不一定搜出来的就是最小的(bfs: ?)我们需要一边判断当前搜到的按按钮数,取最小的存下来,同时存下状态进行记忆化搜索。
1234567891011121314151617181920212223242526272829...
阅读全文
2022-10-21
题目链接: https://www.lanqiao.cn/problems/89/learning/
AC代码如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636...
阅读全文
2022-10-21
原文地址: https://www.zhangxinxu.com/life/2019/03/study/张鑫旭老师真是吾辈前进的灯塔
招聘高峰季,最近面试了一些人,聊到关于学习话题的时候,发现很多人有学不进去,没时间学的问题,加上之前断断续续有很多人咨询我关于如何学习的问题,我觉得可以好好讲讲我对于学习这件事的一些经验和看法。
这些经验与看法不局限于IT...
阅读全文
2022-10-14
首先质数的概念为:
质数(Prime number,又称素数),[1] 指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数
1. 怎么高效判断数n是否为质数?最为暴力的方法便是从2~n-1中逐个遍历得i,判断n%i==0是否成立,如果成立说明n不为质数(如下代码)
1234567bool is_prime(int x)&...
阅读全文
2022-10-08
先整理一下思路:A吃B,B吃C,C吃A,由此形成以下的环形关系因为会一直循环(即对3取余做条件),我们可以用一个并查集来维护查询他们的身份
想象一个食人族家庭来说明他们之间的关系第1代吃掉第0代,第2代吃掉第1代,第3代吃第2代,第0代会吃掉第3代那么如果有吃掉第3代的第4代,那么他必定与第0代是同一代
采用并查集,维护多一个数组d来表示当前节点到根节点...
阅读全文
2022-10-05
剑指 Offer II 067. 最大的异或
题目如下:
首先考虑使用朴素算法完成,数据的长度为10^5^,O(n^2^)的复杂度直接爆了,肯定会TL回顾一下Trie树的结构,我们可以将数组里的所有数二进制形式预处理出来一颗字典树
如对于 [3,2,1] 这个序列:
在第一层遍历中,我们首先选择 3 这个数 ,那么序列中什么数与3异或后最大呢? 观察3的...
阅读全文
2022-10-04
队列即是一个特殊的数组,这个数组最前面的元素称为 队头 尾部元素称为 队尾
1234567891011121314151617181920212223242526272829303132#include <iostream>using namespace std;const int N = 100010;int q[N];//[hh, tt] ...
阅读全文
2022-10-03
我们先考虑暴力做法:
1234567891011121314151617181920212223#include <iostream>using namespace std;const int N = 1e6+10;int arry[N];int main(){ int n; cin>>n; for(int...
阅读全文
2022-10-03
数组模拟栈
stk[N] 栈; tt表示栈顶所在索引下标(初始时tt=0,表示栈为空)
入栈: ++tt,存入x。 stk[++tt] = x;
出栈: tt–
empty: tt<=0时栈为空.top <= 0 ? “empty” : “not empty”;
query: 返回栈顶元素 stk[...
阅读全文
上一页 1 … 4 5 6 7 8 下一页