摘要:
题目传送 (其实有一个更正经的题解) 看了许久,发现这题貌似就是一个动态规划啊,但毕竟是贪心题库里的题,还是想想用贪心解吧。 经过(借鉴大佬思路)十分复杂的思考后,终于理解出了这题的贪心思路。该题的难点主要在最后可在任意湖边停住,而且不能往回走,在一个湖钓鱼时的效率还会越来越少。常规的思路看来是不行 阅读全文
摘要:
题目传送: P3373 【模板】线段树 2 P2023 [AHOI2009]维护序列 该题较传统线段树模板相比多了一个区间乘的操作。一提到线段树的区间维护问题,就自然想到了“懒标记”:为了降低时间复杂度,我们只需将要要查询的区间的真实值更新出来,而不至于一直细分到区间的每个单元,并给更新真实值的区间 阅读全文
摘要:
思路下限很低,暴力模拟即可,但数据很大,对时间复杂度有要求。 先分析一下题,发现核心条件即x<z且3|z-x,y并没有什么作用。同时可以证明,若x+3y=z,在z不变的情况下不会有第二对x、y满足条件,即我们找到的每个套餐都不会重复。 考虑用O(n log n)的算法。用链表的思想,把所有数据全部读 阅读全文
摘要:
一读题,发现与贪心中的任务调度有点类似。保证答案大于等于零,言外之意即为所有任务都可以在合法时间内完成。那么只要按照任务调度的思路做就行了: 用结构体(方便sort)数组t读入所有ai、bi后按照结束时间从大到小排序。设ans为答案,i为当前要处理的任务在排序后的编号。ans初始为t[1].b,i= 阅读全文
摘要:
转自http://www.cnblogs.com/xieyajie/p/8094788.html 概括: 一. 基本原则 1. struct中成员变量的声明顺序,与成员变量对应的内存顺序是一致的; 2. struct本身的起始存储地址必须是成员变量中最长的数据类型的整倍数,注意是最长的数据类型,而不 阅读全文
摘要:
今天主讲图论。 前言:图的定义:图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交。它们亦可写成V(G)和E(G)。 一、图的存储: 1、邻接矩阵: 2、邻接表: 数组模拟链表实现:记录每条边的终点、边权(如果有的话)、同一起点 阅读全文
摘要:
今天主要讲一下数学的知识。 一、进制转换: 十进制到k进制:短除法:顺除至0,逆序取余。 k进制转十进制:乘权相加。 常见进制:四进制(对应2位二进制)、八进制(对应3位二进制)、十六进制(对应4位二进制,A表示10,B表示11,...,F表示15) 常见进制在c++中的表示:二进制:前加0b;八进 阅读全文
摘要:
简单数据结构: 一、二叉搜索树 1、前置技能: n/1+n/2+……+n/n=O(n log n) (本天复杂度常涉及) 2、入门题引入: N<=100000. 这里多了一个删除的操作,因此要将所有的数都记录下来维护。一个个枚举很容易超时,这时就到了二叉搜索树显示本领的时候了。 (注:子树节点的ke 阅读全文
摘要:
全天动态规划入门到入坑。。。 一、总概: 动态规划是指解最优化问题的一类算法,考察方式灵活,也常是NOIP难题级别。先明确动态规划里的一些概念: 状态:可看做用动态规划求解问题时操作的对象。 边界条件:不需要、或不能由别的状态推出,且已知、或可算出的状态。递推时就用边界条件推出所有状态。 状态转移方 阅读全文
摘要:
一、枚举: 枚举是最简单最基础的算法,核心思想是将可能的结果都列举出来并判断是否是解。 优点:思维简单,帮助理解问题、找规律。没头绪时 缺点:时空复杂度较高,会有很多冗余的非解(简单的枚举几乎没有利用题目中任何隐藏的特殊性质)。 运用枚举的话,首先要确认枚举的状态,或建立一个方便枚举的模型。由此知道 阅读全文