#离散化的概念 题目给出范围很大但数据数量很少的一组数据,通过离散化将大的下标的值赋值给新的较小的连续的下标,从而讲一个范围很大的数据合集装进一个小的容器中。 ##离散化模板 vecrot<int> alls; // 储存所有待离散化的值 sort(alls.begin(),alls.end()); ...
分类:
编程语言 时间:
2021-03-31 12:23:58
阅读次数:
0
LXXIII.[USACO19DEC]Greedy Pie Eaters P 考场上写了个暴力贪心(因为看到题面中的 greedy ……)然后光荣爆炸…… 因为$n\leq 300$,考虑区间DP。 设$f[i][j]\(表示有且只有区间\)[i,j]\(里的\)\pi$被吃完后的最大收益。 则我们 ...
分类:
其他好文 时间:
2021-03-31 12:19:16
阅读次数:
0
1)算法各大公司的笔试基本都考这个,《剑指 Offer》上的所有题目如果能背下来,LeetCode 刷个一百到三百道题,参加过 ACM 竞赛的也可以。 《剑指 Offer》,指的是《剑指 Offer:名企面试官精讲典型编程题》这本书,里面剖析了 50 个典型的程序员面试题,包括基础知识、代码质量、解 ...
分类:
编程语言 时间:
2021-03-31 12:03:40
阅读次数:
0
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答案 示例 1: 输入:nums = [2,7,11,15], ...
分类:
编程语言 时间:
2021-03-31 11:50:53
阅读次数:
0
#n&(n-1) 作用是消除数字的二进制表示中的最后一个1 #左移和右移 >>> >> <<< << 左移乘2 右移除2 #n&1 == 1 用来判断n的二进制最后一位是不是1,是1则true,是0则false 也就是可以用来判断n的奇偶性 所以,!(n&1) == 1可以用来判断是否为0 ...
分类:
编程语言 时间:
2021-03-31 11:45:08
阅读次数:
0
import hashlib '''用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法也称摘要算法,把明文变为密文,但不能逆向,也就是说密文不能变回明文''' obj = hashlib.md5('asdds ...
分类:
其他好文 时间:
2021-03-31 11:44:29
阅读次数:
0
一开始猜了个决策单调性自己没证出来,我太菜了 先定义 $S0$ 为一个圆的面积, $s(i,j)$ 为第 $i$ 个与第 $j$ 个圆的交的面积( $i<j$ ) 先搞一个很暴力的 $\text{DP}$ 设 $f_{i,j}$ 为前 $i$ 个选 $j$ 个的最大并,转移很好想: $f_{i,j} ...
分类:
其他好文 时间:
2021-03-31 11:44:10
阅读次数:
0
/* c++ 中 std::sort()使用了快速排序的算法,下面看下它的实现算法 快速排序的基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的数字均比另一部分数字小,则可分别对这两部分进行排序,以达到整个序列有序。 算法描述:https://www.bilibili.com/vi ...
分类:
编程语言 时间:
2021-03-31 11:41:36
阅读次数:
0
一、概念 1、三要素重叠(+备忘录)子问题、最优子结构、状态转移方程 2、(列状态转移方程)步骤 明确初始条件base case、明确状态、明确选择、定义dp数组/函数 二、斐波那契数列 1、原始暴力递归 重复运算--重叠子问题 递归的时间复杂度 2、带备忘录的递归(自顶向下) class Solu ...
分类:
编程语言 时间:
2021-03-31 11:35:50
阅读次数:
0
这道题强制在线,那么考虑在线算法 好像复杂度低的可以使用平衡树,但是我们这里使用分块算法 因为数据量不是特别大 因为是在前面加一个后面删一个,所以我们考虑使用双端队列来维护这个信息 这样修改的时候,可以把前面的块的末尾加到后面的块,这样每块的大小都不会发生改变 #include<bits/stdc+ ...
分类:
其他好文 时间:
2021-03-30 13:28:17
阅读次数:
0