摘要:
贪心算法 一、贪心算法 贪心算法是经过若干次贪心的选择而得到最优值(较优值)的求解问题策略,即贪心策略。 每次作出的选择都是在某种约束条件下的局部最优解、较优解,并不一定是全局的最优解或较优解。 二、贪心算法的特点 1.贪心选择 所谓贪心选择是指应用同一规则,将原问题变为一个相似的但规模更小的子问题 阅读全文
摘要:
线段树和树状数组的异同 线段树和树状数组在线性数据结构方面异曲同工,但树状数组的算法时间复杂度比线段树低,而且还可以大幅度降低程序的调试难度,节省时间。 但是树状数组的使用条件非常严格,可以说是线段树能做的题树状数组不一定能做,但是树状数组能做的题线段树一定能做。0.0 阅读全文
摘要:
描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的……如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:K=1,K=1,读入l、r表示在区间[l,r]中种上一种树,每次操作种的树的种类都不同K=2,读入l,r表示询问l~r之间能见到 阅读全文
摘要:
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3个整数, 阅读全文
摘要:
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 53816 Accepted: 23159 Description Astronomers often examine star maps where stars are 阅读全文
摘要:
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含2或4个 阅读全文
摘要:
树状数组 树状数组的修改和求和都是O(logn),效率非常高。 树状数组——lowbit(x)例如21二进制是10101,1所在的位置是0,2,4,可以分解成2^4 + 2 ^ 2 + ^ 0。进一步的[1,x]可以分解成O(logx)个小区间: 1.长度为2^4的小区间[1,2^4] 2.长度为2 阅读全文
摘要:
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或 阅读全文
摘要:
向量 叉乘表示S,三角形面积就是S/2,可以表示两个向量的相对位置,根据符号进行判断。 (x1,y1,z1) X (x2,y2,z2) = (y1z2-y2z1 , z1x2-z2x1 , x1y2-x2y1) ******************资料来源mhy12345 阅读全文
摘要:
内容敏感图像压缩 Background 在清华大学存活,你需要有极强的文献阅读能力……【该背景与本题无关】 Description 有一张N*M的方格纸,每一个格子上写了一个正整数,现在我们把方格纸首尾相连,组成一个高度为N,周长为M的圆柱体的侧表面。 现在你需要找到一个从上到下贯穿该圆柱侧表面的长 阅读全文